angel.com
Home > Resource Center > Application Design > Variables / Adv. Functionality

Application Design Application Design

Voice Site Variables and Advanced Functionality

Let's talk about audio prompts, use of variables, and advanced functionality of call transfer voice pages.

Using Text-to-Speech as a fallback for audio files
Did you know that when you have an audio sound prompt and you accidentally delete it, we provide a backup text prompt for you? Here is how it works. Let's say that you were doing some sound file house cleaning and accidentally deleted a sound file which was referenced in one or more prompts. When your callers call into the system they will most certainly not hear that particular sound file being played as it is not there. In this case our system is designed to retrieve and play the text-to-speech (TTS) backup of that prompt. You just have to make sure that when you design your voice site you input a TTS back up for each and every prompt for which you have a sound file. To do this look for the icon button next to the sound prompts input box.

Change what your callers hear based on the value of a variable
One of the options in variable playback is playing it back as a sound file

variable

This can be very useful if you have a set of responses you want to play back to your users as sound files that are either enumerated or fixed. To achieve this you simply need to name your sound files with variable values and a ".wav" extension. For example, say your transaction page sets one of your variables with a value of "apples". In this case in order to play back this variable as a sound file and not TTS, a sample sound file name should be "apples.wav". Make sure the sound file is located in the root of your account and not in a separate folder.

Another use of variable playback as a sound file is if you have multiple phone numbers assigned to one voice site and you want to greet people differently depending on the number they dial. First you would use a dialed phone number variable in your greeting page. Then, you would make sound files with the naming convention of phone number with .wav extension, e.g. "8001231234.wav". Lastly, when your caller dials one of your 800-numbers they will hear the appropriate greeting based on the number they dialed. The reason this works is because the dialed number variable will be set by Angel.com to a phone number your caller has dialed. Since you have pre-recorded sound files for each number assigned, when the caller hears the greeting page, they will hear that customized recorded prompt. Remember, these sound files should also reside in the root of your account.

Transferring to a number that is not immediately known before the transfer occurs
This is a part of variables that you may not have fully explored. Did you know that you can set a phone number and an extension (format 8001231234x1234) on a variable and then have the transfer page use that variable automatically? Look for the icon button next to the phone number to see what the phone number is or what the variable name that will have the phone number assigned to it is. Using a variable on a transfer page instead of a hard coded phone number would save you setup time. For instance instead of creating 50 transfer pages, you'd just create one. And if you were using multiple transaction pages to create AngelXML, one of which made a call transfer page, now you can simply set a variable on one transaction page and make one fewer transaction pages, in turn saving on processing time for your application as well. As a safeguard, if the variable contains an invalid phone number that's not 10 digits or has a bad extension or letters, then the caller will be directed to a phone number that was stored in the transfer page prior to the variable posted in the phone number field. This is very useful in a case where your script does not set the phone number variable correctly. The behavior here would be the same as it is with TTS backup for a sound prompt.

How to limit the length of an external transfer
Most of the advanced functionality that I will talk about now is under the advanced tab in Angel.com's Site Builder, an area that should be of particular interest to developers. Where else do variables come into play you ask? Well, another variable property you can set is the "Limit Call Duration" variable located on a call transfer page. This variable can limit the number of seconds your callers are allowed to talk to your personnel. This comes in handy with prepaid services or support services for which you may want customers to have a limited amount of support talk time. As part of this you can set a warning message notifying the caller that they have limited talk time left. The same rules as above apply - if the duration variable is not numeric or too small or too high, the default that was stored on the transfer page before you chose to use the variable will be used.

Collecting data to analyze the performance of your Voice Site
The last two variables on the call transfer page that I feel are worth mentioning are "Talk Time" and "Call Outcome." While you cannot set these variables, and really, you would not want to, these variables will tell you some information that can be of interest. "Talk Time" will tell you the precise duration of a call in seconds, and "Call Outcome" will tell you whether or not the transfer was successful. Values for "Call Outcome" are CallComplete, LineBusy, NoAnswer, TransferTimeIsUp, NetworkBusy, and lastly ReceiverRejected.

I hope this issue of developer's corner was helpful as I have based it on some of my interactions with you. If you have any questions, ideas, or just general thoughts about what I have written here, please do not hesitate to email me as I enjoy helping you, the developer, do what you do best.

Vadim Snitkovsky
snitkovsky@angel.com

1,600+ Customers, 20+ Industries, 10,000+ Telephony Solutions