VoiceGuide IVR Software Main Page
Jump to content

Voiceguide Hanging Up After 3-way Blind Conference Connection

Recommended Posts

Hi,

 

I had VoiceGuide set up on a computer for a couple of years and working fine. Recently I had a hard drive crash and EVERYTHING was wiped out. Of course I failed to back up my scripts, and drivers, and everything that I should of.

 

I installed a new hard drive and put VoiceGuide back on it, re-wrote the main script, but now it's not working like it should be and I can't figure out what's different. Everything but the hard drive is the same, so I know the hardware should work. I remember I had some trouble originally and got help here, but can't find the thread that had the info.

 

I'm using a voice modem, and I think(hope) I downloaded the correct driver for it.

 

The problem I'm having is when VoiceGuide calls out to make a three-way blind conference call, the person calling in hears the first ring of the 3rd party's phone, then VoiceGuide hangs up. Almost like it's transferring the call instead of doing a three-way.

 

I'm attaching the Event Log and Script. Can you tell me what's wrong?

 

Thanks for any help you can give.

New_Menu.vgs

VgLog.txt

Share this post


Link to post

Trace shows that after issuing the !3 to complete the 3-way conference call VoiceGuide is hanging up. This would end the 3 way call. Not sure why this is happening and this trace does not have that much information in it. It looks like the trace comes from an older version of VoiceGuide.

 

Which version of VoiceGuide are you using?

 

You may be able to just use Play module(s) to issue the hookflashes and play the telephone numbers and then issue the !3 at the end.

 

This may be a good workaround and you will have more control over the commands issued to the modem instead of relying on the Transfer module which has the commands and timings between them hardcoded into the module definition.

 

 

69608 0 [Order Rep] Blind Conference to ********** (Generate)

69618 0 tapic lineGenerateDigits(66255,!) => 0

70349 0 tapie generate LINEGENERATETERM_DONE

70349 0 TimeoutSet 1 EV_TAPI_GENERATE

71330 0 Timer fired EV_TAPI_GENERATE

71330 0 LsXferStart EV_TAPI_GENERATE

71330 0 TimeoutSet 1.5 EV_HOOKFLASHFINISHED

72833 0 Timer fired EV_HOOKFLASHFINISHED

72833 0 LsXferPlayVts EV_HOOKFLASHFINISHED

72833 0 tapic lineGenerateDigits(66255,*********) => 0

75597 0 tapie generate LINEGENERATETERM_DONE

75597 0 TimeoutSet 1 EV_TAPI_GENERATE

76598 0 Timer fired EV_TAPI_GENERATE

76598 0 LsXferPlayVts EV_TAPI_GENERATE

76598 0 tapic lineGenerateDigits(66255,!3) => 0

77589 0 tapie generate LINEGENERATETERM_DONE

77589 0 TimeoutSet 1 EV_TAPI_GENERATE

78581 0 Timer fired EV_TAPI_GENERATE

78581 0 LsXferPlayAnn EV_TAPI_GENERATE

78581 0 TimeoutSet 1 EV_TIMEOUT_HANGUP

79582 0 Timer fired EV_TIMEOUT_HANGUP

79582 0 LsXferPlayAnn EV_TIMEOUT_HANGUP

79582 0 PlaySoundStop ok

79582 0 Hanging up call...

Share this post


Link to post

Hi, thanks for answering.

 

I'm am using an older version. It's worked for my needs until the hard drive crash. I'm using 4.8.

 

Would I do something like this in the Paths of the Play module?

 

tapic lineGenerateDigits(66255,!3,15,*********,10,!3)

On {Success} Goto [Order question duration]

 

 

Can you give me an example of a code I'd put in the Play module to have it do a three way conference?

 

 

Share this post


Link to post

You would basically specify the same sequence of hookflashes and keys that you would use to make the transfer if the 3-way conference was made manually.

 

This usually consists of a hookflash followed by a pause followed by the telephone number and then by !3 or some other '3-way conference' call.

 

Note that some PBXs require that !3 conference completion signal be issued only after the 3rd call has been answered.

 

The path leaving the Play module should be:

 

On {Timeout 0} Goto [Order question duration]

 

If you continue having problems please post your script as well as the trace.

 

Share this post


Link to post

I tried changing the script to use a Play module to do the hookflashes and numbers and it was worse than using the Transfer module. At least with the transfer module I was able to get as far as the 3nd party's phone ringing before VoiceGuide disconnects.

 

Using the Play Module, VoiceGuide hung up with no evidence that it actually dialed the 3rd party.

 

I'm attaching the modified script and the event trace for this attempt.

VoiceGuideLog1001.txt

New_Menu_2.vgs

Share this post


Link to post

OK, let take this step by step.

 

First step would be to get the hookflash timing right.

 

Use a script which just does this:

 

1. after answering the call plays some sound file

2. does a hookflash

3. plays some other sound file

4. hangs up.

 

This will let you see if the hookflash works or not.

 

If the hookflash works then the caller will be placed 'on-hold' by the PBX and will not hear the second sound file played (caller will hear some music instead or whatever the PBX is playing to calls placed on-hold).

 

A sample script is attached.

 

When the hookflash is working we can then move onto the dialing of other numbers etc.

hookflash_test.vgs

Share this post


Link to post

Did the caller hear the PBX's 'on-hold' music? Or do you think the PBX did not put caller on hold but it just disconnected the call?

Share this post


Link to post

The pbx is the phone company so there's no hold music. I listened for a disconnect as I read the trace as it was appearing. I don't think I was disconnected while the 2nd wave played.

Share this post


Link to post
The pbx is the phone company so there's no hold music. I listened for a disconnect as I read the trace as it was appearing. I don't think I was disconnected while the 2nd wave played.

 

 

Ok, to verify, I added a second hookflash module after the 2.wav Play module, then a 3.wav Play module.

 

It played 1.wav, hookflashed, I heard nothing while it played the 2.wav, then it hookflashed again, and I heard it play the 3.wav. I guess that means the hookflash is working correctly.

Share this post


Link to post
It played 1.wav, hookflashed, I heard nothing while it played the 2.wav, then it hookflashed again, and I heard it play the 3.wav. I guess that means the hookflash is working correctly.

Yes. Sounds like the hookflash is working then.

 

Now, how do you perform the 3-way transfers on this system when you do the 3-way transfers manually?

 

Do you use the "!3" sequence to complete the 3-way transfer or do you use some other code to complete the 3-way transfer?

Do you do the "!3" immediately after dialing the destination number?

Or do you need to wait until the dialed number starts ringing before issuing the "!3"?

Or do you need to wait until the dialed number is answered before issuing the "!3"?

Share this post


Link to post

Direct from Verizon website:

 

Adding a third person to your call

 

After calling the first party, press your phone's recall feature (Flash, hookswitch, or recall button, depending on the type of phone you have).

This puts the person in your first conversation on hold.

 

Listen for three short tones followed by a dial tone.

 

Dial the number for the third party you want to bring into the call.

After the third party answers, only you and that person are connected. The first party is on hold and cannot hear your conversation until you complete the procedure. If the third party's line is busy or there is no answer, you can return to the first party by pressing the recall feature twice.

 

Press your phone's recall feature for one second to bring the first party back into the conversation and complete the Three Way Call.

 

 

The way VoiceGuide was set up before was that VoiceGuide dialed the third party and switched back so that the 1st person could hear the third person's phone ringing. It didn't have to wait for the 3rd person to answer.

Share this post


Link to post

The Verizons description does not actually say that you must wait until 3rd party answers before you 'complete' the transfer. The wording suggests that may be the case, but you could try to complete earlier and see what happens. Try it manually and see if it is possible to complete before 3rd party answers.

 

What you should probably setup is a playing loop which asks recipient of second call (3rd party) to press a dtmf key, and then issue the completion (just a single hookflash by the sound of it). And if there is no answer from recipient of second call (3rd party) then sounds like you can drop that leg of the call and return to the first person called by sending two hookflashes... (maybe with some delay between them)

 

Description does say to "Listen for three short tones followed by a dial tone.", so you should have some sort of a delay before proceeding with dialing the 3rd party.

Share this post


Link to post

I tired it manually. I was able to switch back before the third party answered and all worked fine.

 

Basically, even if the third party doesn't answer their voice mail(phone company, not VoiceGuide) will pick up and the first party can leave a message.

 

Can I use "," for the delay? How long would the pause that a "," creates last, and can I use more than one in a row to stretch the delay?

Share this post


Link to post
I tired it manually. I was able to switch back before the third party answered and all worked fine.

Ok, so as you do not need to wait for 3rd party to answer then the basic approach would be:

 

1. hookflash to put original person on hold

2. wait for dial tone (some preset delay should be fine)

3. dial the 3rd party's number

4. wait a little while after dialing(?)

5. hookflash again to complete the 3-way call.

 

the DTMF sequence should be something like this:

 

!,5551234,!

 

where 5551234 is the 3rd party's number.

 

Can I use "," for the delay?

You should be able to. Most modems support this.

 

How long would the pause that a "," creates last,

Varies from modem to modem.

Easiest to call into the system and play to yourself some DTMF tones separated by commas and time how long the pause between the DTMF tones lasts.

and can I use more than one in a row to stretch the delay?

Yes, you should be able to.

 

Share this post


Link to post

Using the information you provided I tried a few different things.

Using "," for a delay did not work.

 

I set up three Play Modules.

 

Module 1- play hookflash - timeout 1 second then go to #2

Module 2- play phone number to be called - timeout 1 second then go to #3

Module 3- play hookflash - timeout=0 then go to next module in my script.

 

This worked! Thank you!!

 

I appreciate all your help.

 

For anyone in the U.S. who uses Verizon for phone service: The above formula works for 3-way conference calling if you are having problems.

Share this post


Link to post
Using "," for a delay did not work.

Looks like this modem did not like commas as part of the dial string. This is unusual, but it happens.

 

I set up three Play Modules.

 

Module 1- play hookflash - timeout 1 second then go to #2

Module 2- play phone number to be called - timeout 1 second then go to #3

Module 3- play hookflash - timeout=0 then go to next module in my script.

 

This worked! Thank you!!

Good to hear you got it working again, and thanks for letting us know how you resolved the issue.

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
×