Share This Post:

IVR transfer based on entry in a database

We are trying to set up an IVR application to look up a customer’s agent and then allow the call to be transferred to their agent if they press 1 to confirm. Is it possible to transfer to a phone number specified in a database? The agent number will not be part of our phone system–we would just like to look up the agent’s phone and perform the transfer.

Yes, you should be able to do that with IVR Studio. However, some programming is needed on your part to seach the agent’s name, etc, and then use the search result in your IVR application. Once you have that piece of code done, you can then tie that to your IVR application using the Java or external program extension of IVR Studio.

Specifically, you create an transfer element in IVR Studio. And specify a Java action (suppose you have your code written in Java) to call your program. Use the return result, which is the the agent’s phone number, for the transfer element’s transfer target phone number.

What is the maximum duration the system allow to “press a key to confirm”? The call may be in hold for several minutes in the customer service queue after being answered by the phone system before an agent is available to press a key to confirm.

If you use queued transfer, and all the transfer target is busy, then the call is put in a waiting queue indefintely. The call will be transferred when one of the target transfer agent is available.

I am trying to use a database action for the transfer target. Is this not possible?

Yes, you can use the action result as the transfer target for an transfer element. (The result expression is used in the ‘destexpr’ attribute of the generated VXML file)

I’m not sure if the problem has something to do with the transfer settings on the gateway. I currently have a couple of skype:usernames separated by commas in the Options > Call Transfer section of the gateway setup. Under Transfer to the Following phone number I have: skype:acct1,skype:acct2

The call is coming in through skypein via a third skype account.

When the transfer element is reached in the IVR call flow, the call is connected to one of these other skype lines in a conference call and the IVR begins anew on the other line.

It seems like this is a fallback transfer to acct1, since the log contains the:

Exec form item: transferrc
failed to get destination for : 1800xxxxxxx

Since the database action seems to return a phone number to the transfer element, I was hoping that would allow the call to be transferred to the new number.

What I’m trying to accomplish is to have the call (placed to a skypein number) be forwarded to the phone number looked up in the database for the customer account number.

There is actually a limitation when using “destexpr”. You can only use defined extensions. We’ll fix that in next release.

For now, the workaround for you is:

Use IVR Studio to define an extension for 1800xxxxxxx, for example use extension 300. Then set the destexpr to “ext:300″

Share This Post:

This entry was posted in IVR Usage. Bookmark the permalink.