VoiceGuide IVR Software Main Page
Jump to content

Join Two Simultaneous Calls

Recommended Posts

Hi,

 

I try to join two simultaneous calls.

 

In one section of my script I reached this starting both calls with 'menu wyboru' module and using VB script.

 

In other one i try to join two calls:

  • first starting 'cmb_request_number' module, then I play mesage, and record message for second caller and in 'call_me_back waiting room' module I'm waiting. VG storing $RV_LINEID in database
  • VG calling to second person to invite
  • second person calling starting 'call_me_back_recall' module reading first line_id from database and writing into $RV[call_me_back_match_call_call_me_back_line_no]

both versions using VBS:

 

set vg = CreateObject("vgServices.CommandLink")
vg.Bridge_Connect $RV_LINEID, $RV[call_me_back_match_call_call_me_back_line_no]
vg.Run_ResultReturn $RV_LINEID, "Success"
set vg = Nothing

 

in second case both sides hearing own moh and not joining calls together.

 

I attached log file with both connection version.

 

Why it working in 'connect 2 lines' module but not in call_me_back_connect_2_lines'?

vgEngine join two calls.zip

Share this post


Link to post

In attached trace thee were 4 calls to Bridge_Connect:

 

Line 3386: 191352.571  17  10   4 task  runscr Run_VBS vgm=1213, file=, engine=[ClearScriptV8]
Line 3388: 191352.571  17  10   4 state [call_me_back_connect_2_lines] RunScript, wait=1, onhold=
Line 3392: vg.Bridge_Connect $RV_LINEID, $RV[call_me_back_match_call_call_me_back_line_no]
Line 3409: 191353.583  15               Bridge_Connect 10, 4
Line 3410: 191353.583  15               Bridge_Connect sChDlgcName1=dtiB1T4 since sDevName1=Dialogic dxxxB1C4
Line 3411: 191353.583  15               Bridge_Connect sChDlgcName2=dtiB1T2 since sDevName2=Dialogic dxxxB1C2




Line 6327: 191506.250  14   7   3 task  runscr Run_VBS vgm=1182, file=, engine=[ClearScriptV8]
Line 6329: 191506.250  14   7   3 state [call_me_back_connect_2_lines] RunScript, wait=1, onhold=
Line 6333: vg.Bridge_Connect $RV_LINEID, $RV[call_me_back_match_call_call_me_back_line_no]
Line 6349: 191506.254  15               Bridge_Connect 7, 4
Line 6350: 191506.254  15               Bridge_Connect sChDlgcName1=dtiB1T3 since sDevName1=Dialogic dxxxB1C3
Line 6351: 191506.254  15               Bridge_Connect sChDlgcName2=dtiB1T2 since sDevName2=Dialogic dxxxB1C2




Line 7398: 191605.859   4   7   3 task  runscr Run_VBS vgm=1194, file=, engine=[ClearScriptV8]
Line 7400: 191605.859   4   7   3 state [connect 2 lines] RunScript, wait=1, onhold=
Line 7404: vg.Bridge_Connect $RV_LINEID, $RV[second_line]
Line 7420: 191605.863  15               Bridge_Connect 7, 4
Line 7421: 191605.863  15               Bridge_Connect sChDlgcName1=dtiB1T3 since sDevName1=Dialogic dxxxB1C3
Line 7422: 191605.863  15               Bridge_Connect sChDlgcName2=dtiB1T2 since sDevName2=Dialogic dxxxB1C2




Line 8049: 191640.697  13   7   3 task  runscr Run_VBS vgm=1194, file=, engine=[ClearScriptV8]
Line 8051: 191640.697  13   7   3 state [connect 2 lines] RunScript, wait=1, onhold=
Line 8055: vg.Bridge_Connect $RV_LINEID, $RV[second_line]
Line 8071: 191640.704  15               Bridge_Connect 7, 4
Line 8072: 191640.704  15               Bridge_Connect sChDlgcName1=dtiB1T3 since sDevName1=Dialogic dxxxB1C3
Line 8073: 191640.704  15               Bridge_Connect sChDlgcName2=dtiB1T2 since sDevName2=Dialogic dxxxB1C2

Are you saying that connections at 19:13:53 and 19:15:06 did not work, but both at 19:16:05 and 19:16:40 worked OK ?

 

 

Please post the ktTel trace that covers this time. We can then see what is happening on the Dialogic level.

Share this post


Link to post

The routing is performed without any errors on all 4 calls.

 

From your comments it looks like you have one set of scripts that performs the connection fine and another set of scripts that is having problems.

 

With the problem scripts it looks like the script that is handling the original caller keeps playing the 1111001.wav sound file to the caller.

 

Any such plays are done as a 'whisper', and the other party will not be heard during that whisper.

 

Bridge reconnection is done after the sound file completes playing - but looks like the script keeps playing that sound file over and over without any pause in between - so the two parties would not be able to hear each other.

(they would be able to hear each other for the first few seconds when the bridge is made - until the first sound file replay)

 

So the solution would be to have the script that handles the original caller to stop playing the sound files after the bridge connection has been made.

    Line 1262310: 554 191413.060  2052   4       playing as whisper on digital device as networkdev_is_listening_to=10, voicedev=6, [,C:\Program Files (x86)\VoiceGuide\Scripts\manager\manager11\1111001.wav]
    Line 1262311: 555 191413.062  2052   4       whisper route ok voicedev=6, networkdev=4

    Line 1262989: 215 191435.568  4976   4       hli->networkdev_is_in_whisper_mode=6
    Line 1262997: 223 191435.578  2052   4       playing as whisper on digital device as networkdev_is_listening_to=10, voicedev=6, [,C:\Program Files (x86)\VoiceGuide\Scripts\manager\manager11\1111001.wav]
    Line 1262998: 224 191435.580  2052   4       whisper route ok voicedev=6, networkdev=4

    Line 1263060: 285 191458.092  4976   4       hli->networkdev_is_in_whisper_mode=6
    Line 1263068: 293 191458.104  2052   4       playing as whisper on digital device as networkdev_is_listening_to=10, voicedev=6, [,C:\Program Files (x86)\VoiceGuide\Scripts\manager\manager11\1111001.wav]
    Line 1263069: 294 191458.106  2052   4       whisper route ok voicedev=6, networkdev=4

    Line 1263168: 392 191517.509  4976   4       hli->networkdev_is_in_whisper_mode=6
    Line 1263496: 715 191609.383  2052   4       playing as whisper on digital device as networkdev_is_listening_to=7, voicedev=6, [,C:\Program Files (x86)\VoiceGuide\Scripts\manager\manager11\1111004.wav]
    Line 1263497: 716 191609.386  2052   4       whisper route ok voicedev=6, networkdev=4

    Line 1263670: 886 191633.393  4976   4       hli->networkdev_is_in_whisper_mode=6
    Line 1263678: 894 191633.403  2052   4       playing as whisper on digital device as networkdev_is_listening_to=7, voicedev=6, [,C:\Program Files (x86)\VoiceGuide\Scripts\manager\manager11\1111004.wav]
    Line 1263679: 895 191633.405  2052   4       whisper route ok voicedev=6, networkdev=4

    Line 1263757: 972 191657.432  4976   4       hli->networkdev_is_in_whisper_mode=6
    Line 1263765: 980 191657.444  2052   4       playing as whisper on digital device as networkdev_is_listening_to=7, voicedev=6, [,C:\Program Files (x86)\VoiceGuide\Scripts\manager\manager11\1111004.wav]
    Line 1263766: 981 191657.446  2052   4       whisper route ok voicedev=6, networkdev=4

    Line 1263810: 024 191708.672  4976   4       hli->networkdev_is_in_whisper_mode=6

Share this post


Link to post

In scenario started 'menu wyboru' VG joining two calls after start 'connect 2 lines' module stopping MoH on first line.

 

But not in second one.

Share this post


Link to post

Can you please advise which call you are referring to as the 'second one'.

 

Which of the connections were considered as working and which ones as not working?

 

On the problem calls what were the actual problems - in detail - from each side of the connected call.

Share this post


Link to post

I found problem source.

My script don't pick up call before join channels.

 

After adding play module witch start voice connection VG joining two channels.

 

How to declare answering modules in script track (not using play or other voice modules)?

Share this post


Link to post

The call will always be answered - unless the 'start script without answering the call' option is set (in which case it will be answered when a sound file gets played/recorded).

 

Right now your script has this option enabled.

 

Once this option is deselected the calls will be answered immediately regardless of what module is at beginning of script.

 

It you want to keep the 'start script without answering the call' option then another approach is to just use a Play type module that plays a very short silence file - a fraction of a second long. This will result in call being answered and it will not even be noticed by the caller.

Share this post


Link to post

We solved problem, but we found another one:

 

first person calling and waiting for an call of second person.

first we hold on play module with MoH until second one call and then we join on second channel with VBS:

 

set vg = CreateObject("vgServices.CommandLink")
vg.Bridge_Connect $RV_LINEID, $RV[call_me_back_line_no]
vg.Run_ResultReturn $RV_LINEID, "Success"
set vg = Nothing
But problem is, we want to wait up to 120 seconds to second caller, so we set up 10 replays of MoH loop prompt and waiting time to 120 seconds.
I this case after joining two channels VG stop playing MoH prompt but probably still counting playing time and after finish prompt and start next repeat VG playing MoH to first player.
Then first caller hearing again MoH and don't hear second caller, and second caller hear first caller and don't know what happen.
Is possible to do this?
  • wait 120 seconds in play module hearing loop MoH file,
  • when we join two channels first one not forwarding until we press any button or connection is disconnected
  • when no other caller joining to first one after 120 seconds we forwarding to next module (to play "connection unsuccessful") and terminate call.
Maybe in VGScript?
Second question is: how to terminate other leg when one is ending connection (both caller options necessary)?

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×