VoiceGuide IVR Software Main Page
Jump to content

Transferring Calls With Escalation/fallback

Recommended Posts

Ed wrote:

 

I have set up a call transfer module with dialout and conference - announced.

This module works well with one phone number but I would like VG to call sevreal different mobile numbers until it gets a response. I dont want to have to go to another transfer module for each mobile number.

In another post to someone else you wrote:

 

The best approach would be to let the Transfer Call module take care of the call transfer itself.

 

You can feed in the destination number to it using a Result Variable, and just have the whole thing going in a loop until someone accepts the call.

 

Each time at start of the loop have the RV set to the next number to attempt the transfer to. Have the numbers loaded into an 'array like' RVs to simplify access to them.

 

eg. Have the numbers stored in $RV[Number_1] and $RV[Number_2] etc, and then as you go though loop increment a counter, say $RV[counter] and then in the call transfer module use $RV[Number_$RV[counter]]

Where do I enter the RV's? Do I create another module like a play module to list the numbers to call?

Share this post


Link to post
Where do I enter the RV's?

RVs can be created in an Evaluate Expression module, or from within a Run VBScript module using COM commands like RvSet and RvSet_RvList.

Share this post


Link to post

To use RvSet or RvSet_RvList within the "Run VBScript" module just use this code similar to this within the Run VBScript module:

 

set vg = CreateObject("VoiceGuide.CommandLink")

vg.RvSet $RV_LINEID, "Number_1", "5551234"

set vg = Nothing

 

or

 

set vg = CreateObject("VoiceGuide.CommandLink")

vg.RvSet_RvList $RV_LINEID, "[Number_1]{5551111}[Number_2]{5552222}[Number_3]{5553333}"

set vg = Nothing

 

You can also run VBScripts from outside VG - but you will ned to know what is the value of $RV_LINEID to send information to the correct line.

Share this post


Link to post

Thank you.

 

I have created a VBS module with what you have listed above.

 

Could you tell me EXACTLY what to enter into the phone number field in the Transfer call module.

 

I also need to be able to time each phone number out after 15 seconds if they don't answer.

in another post you mentioned a counter $RV[Number_$RV[counter]] where do i enter the counter. inthe VBS module or Transfer call module?

Share this post


Link to post

In the "Phone Number" field of the Transfer Call module specify:

 

$RV[Number_$RV[counter]]

 

and then have a loop which increments the $RV[counter] each time the loop is made (the Call Transfer module is part of that loop). See Example 10 in the Help file's entry on Evaluate Expression module (online copy here: http://www.voiceguide.com/vghelp/html/modEvalExpr.htm)

Share this post


Link to post

Could you be even more specific. I am missing something.

 

I have attached an event trace log of a call.

 

When VG answers it plays our welcome greeting, then goes to transfer module and plays hold message to caller ok. It picks up another line but does not have any number to dial and eventually times out.

 

I have set up the above as described. Does the VBS module need to be the start module?

 

Please help.

 

Thank you.

0729vgm.txt

Share this post


Link to post

In trace file we see:

 

214257.13 1 ERROR: COM interface not supported in this version.

 

Which indicates that you are using a Professional version of VG which does not allow you to use the VG COM functions (you'd need to Enterprise version for that).

 

So instead of using COM commands you'll need to use the Evaluate Expression module (a series of them) to set the RVs (you can only set one RV per module).

 

If you want, post your script here and we can modify it to add the right modules for you and post the resulting script back.

Share this post


Link to post

I have attached new script

 

What we need is:

When VG answers welcome message is played.

Then go to transfer module and dialout using lines 5,6,7 or 8.

Try 4 different phone numbers using announced transfer. Each number to be called for max of 15 seconds.

If no response after 4th number I will then add a go to voicemail option.

 

Thank you.

EDNEW1.xml

Share this post


Link to post

File attached above is one of the script log files - where record of what call the script took is made. Please post the actual script file (.vgs file).

Share this post


Link to post

I have now sorted out the phone number list and all works well.

 

Once the call is accepted it goes to a record module.

 

I need to be able to transfer the caller from there to another number.

 

For instance:

the call goes through to phone number 1 (my mobile) and is accepted.

call then goes to record module.

I then need to be able to break the bridge after speaking to the caller and send that call to a new transfer module to go to phone number 2.

 

I have tried adding another transfer module after the record module, but it does not hang up the 2nd leg of the bridge that i'm on. It continues the transfer with all 3 lines active.

 

How do I hang up the 2nd leg?

Share this post


Link to post
How do I hang up the 2nd leg?

This is usually done using COM commands Bridge_Disconnect and Line_Hangup.

But as you are using the Professional version of VG you cannot use COM functions (only the Enterprise version of VG can use COM functions).

I'm not sure if it's possible to just hangup the 2nd leg if you are using the Professional version of VG, will look into it and advise soon.

Share this post


Link to post

I have now upgraded to Enterprise version of VG.

 

After record module what module(s) do I need to add to disconnect 2nd leg of bridge and go to a new transfer module?

Share this post


Link to post

I need to try and get our new system up and running by late this week.

 

Could you please let me know (in detail) what I need to do after the record module to be able to disconnect bridge and take the original caller to a new transfer module.

 

I know I need to use COM commands Bridge_Disconnect and Line_Hangup, but where and how?

 

Thank you.

Share this post


Link to post

Hello Ed,

 

I've modified your script file, have a look at it and try it out. If you have any problems with it please post the vgm trace capturing the call.

EDNEW4.vgs

Share this post


Link to post

I have modified the script that you sent through.

This is what I want it to look like. (please see attached)

The 2nd transfer modules (after the record module) don't always work.

What have I left out?

0803vgm.txt

EDNEW5.vgs

Share this post


Link to post

Have a look at the script below.

 

You need to have a few seconds delay between end of one conference call and start of another - which we can see you were trying to do with the "timeout 3" paths in the "Please Hold" modules, but the other paths in the modules were taken before the timeout happened.

 

We've also added some token sound files to play in the Menu and Hold modules, so something is being played in those modules rather then them not playing anything.

 

Try the script as it is now, and post traces if there are any issues.

EDNEW6.vgs

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
×