IVR application: support escalation

Can you tell me if there is a standalone IVR/telephony application that will do the following:

1. Accept an after hours call
2. Prompt caller for name, telephone number, and issue being reported
3. Application then begins calling a list of support engineer’s cell phones. There will be 4 engineers on a list to call.
4. Here is the kicker, when an engineer receives the phone call, he/she presses a key pad number at the end of the call so the system knows someone acknowledges receipt; otherwise, the system will continuously loop through the list of 4 engineers (on a 15 minute basis) until someone confirms.

1. You can control the IVR application active time on Voicent gateway. You can set business time IVR application and a different after hour IVR application. You can turn off IVR application for certain hours also.

2. Yes, that is pretty standard IVR application. You can take a look at the sample “voicemail to email” to get an idea. For your application, instead of sending the message through email, your application launches Voicent BroadcastByPhone program.

3.4. Voicent BroadcastByPhone program has a built-in feature called “call-till-confirm”. The program calls a list of phone numbers, it stops broadcast when someone presses a confirmation code.

Posted in IVR Usage |

IVR external program parameters

I need to run program. When I edit action “Run program” I enter full path to EXE file and add __VG__CALLED_NUMBER__ as command line parameter. But the program is started just like it’s working folder is in another place. It can’t see files in same folder. If I run program manually or force it to search for files in same folder it finds them but there are some limitations due to this problem.

Yes, the program is run from another folder. It is usually some folder where your application is installed on the gateway.

From your program, you should be able to determine the program file path. From there, you should be able to change the working folder to that folder. For example, if you are using Visual C++/MFC, you can use GetModuleFileName() to get the executable file path.

How can I make program be run with 2 command line parameters where constant string will be 1st parameter and __VG__LAST_RESULT__ will be the 2nd? Example: “program.exe code __VG__LAST_RESULT__” where code is just a constant string.

All you need to do is add 2 program arguments from the “Create Action: Run Program” window. Click the Add button to add the first argument, such as ‘abc’ (string literals are enclosed in single quotes); then click the Add button again to add your second argument.

Posted in IVR Developer |

Multiple Stage IVR application

What we need:

1) Your application should call first number using BroadcastByPhone in the list and (if human) say a text (it works fine) then it should wait for user answer (here is the problem).

If user press 1 it will hang up the phone and:

A) start my application with phone number as command line parameter and wait when it will close (I found that and configured)

B) wait for X minutes, call that number again and retreive a code that will be provided by a human. I mean human will enter some digits on phone’s keyboard and we must get them. Then hang up the phone

C) start my application with retreived code as command line parameter and wait when it will close

If user press 0 or Answering machine detected them just say some text and hang up the phone.

2) Call next phone number and repeat step 1 for new phone number.

That’s all that we need. I would be really appreciated if you help us out or point me some really useful samples, docs, links.

This is not a trivial applicaiton since you need multiple IVR applications to achieve what you want.

First you need a BroadcastByPhone outbound IVR application. Let’s call it ivr-application-1. This application will do the following:

For live human pickup:

1. Asks the person called to press 1 or 0.

This should be accomplished with a Choice element, with two child elements. Please see the previous post or IVR Studio tutorial for details of specifying a Choice element.

2. Under the child element corresponds to “press 1″, add a prompt element for the actions. The action is for invoking your application as defined in A).

Add another action to introduce some X minutes of delay as defined in B).

Add another action to call a batch file. In the batch file, call BroadcastByPhone, using the second IVR application defined below. Let’s name the second IVR application ivr-application-2. Retrieve the user input

Add another action to collect the user input as in defined in C).

For answering machine:

Just add a Prompt element under element labeled Answering machine

Now you need design your second ivr application: ivr-application-2.

The application should be similar to the sample application for collecting password.

WHAT I DID:

1) Created ivr-application-1 (call_1.ivr) that asks human for 1 or 0. If human press 1 then start my 1st program with _VG_CALLED_NUMBER_ as command line parameter. My 1st program waits for X minutes and starts not a batch file, but handles a command line start:

“c:\Program Files\Voicent\BroadcastByPhone\bin\vcast.exe” “C:\Callback.voc” -startnow -cleanstatus -numbers “{called number metioned above}”.

Callback.voc is described in 4).

2) Created BBP project (Call.voc) and set up mentioned above ivr-application-1 (call_1.ivr) as a message. Filled phone numbers list with i.e. thousands of phone numbers.

3) Created second ivr-application-2 (call_2.ivr) that retreives human’s input and starts my 2nd program with _VG_LAST_RESULT_ as command line parameter.

4) Created BBP project (Callback.voc) with empty phone list and set up ivr-application-2 (call_2.ivr) as a message.

HOW THIS SHOULD WORK:

1) I start BBP using Call.voc which contains thousands of phone numbers and retreives human’s input: 1 or 0.When human enter 1 it start my 1st application. That works.

2) 1st application waits for X minutes and start another BBP instance using Callback.voc. Phone # to call to is provided in command line. Callback.voc should call that single phone # immediately.

PROBLEM:

The problem is that 2nd BBP instance (Callback.voc) do not call until 1st BBP instance (Call.voc) finish calling all numbers in list.

QUESTION:

How can I pause 1st broadcast until 2nd calls single phone #? Or maybe insert this call in VG queue somehow.

All I need is when (if) 2nd BBP starts (it starts with just one phone # in the list) it waits for 1st BBP to finish current “In Progress” calls and make just one call to single number. My call list is huge and people will not sit whole day against their phone to answer our 2nd call.

There is no “Pause” in between broadcast calls. The moment a call is finished, BBP sends another one.

When the second BBP instance is launched, it is supposed to schedule the call immediately and you should see the “in progress” status shown. There is no guarantee the call will be the next one. One way to solve this is to setup another system on a different computer. So instead of launch the second BBP on the first computer, you launch it on the second computer.

Or you can write a script to start the first call list one number at a time, and when your second BBP is finished, go back and lauch the first BBP again with the next number.

Posted in IVR Developer |