IVR is configured on a router when an interaction with a caller is needed. IVR plays voice prompt audio files and collects digits from the caller.
IVR can be used to authenticate a caller, use a prepaid debit card, and so forth.
IVR uses a version of the Tool Command Language (TCL) called TCL IVR Version 2.0.
TCL IVR scripts can be found at http://www.cisco.com/cgi-bin/tablebuild.pl/tclware.
TCL IVR Version 2.0 documentation can be found at http://www.cisco.com/univercd/cc/td/doc/product/access/acs_serv/vapp_dev/tclivrv2.htm.
NOTE
To use IVR on VoIP call legs, you must use the G.711 u-law Codec for audio prompt playing and the call. In addition, DTMF relay must be configured so that the caller's digits can be collected.
NOTE
Cisco TCL IVR scripts can be used on many router platforms. However, to develop your own TCL scripts for TCL IVR version 2.0, you must use a Cisco AS5300, AS5400, or AS5800 universal access server (voice platform). You also need Cisco IOS Release 12.1(3)T or later, along with TCL Version 7.1 or later.
Download the TCL IVR scripts and audio files from cisco.com onto a TFTP server on your network.
The TCL and audio files can be kept on the TFTP server, moved to an anonymous FTP server, or copied into Flash memory on the router. IVR intelligently uses and requests the files as needed. Audio files are cached in memory and are requested from a server if they are not already in memory.
Create an IVR application:
(global) call application voice name url
The application is given an arbitrary name on the router. The TCL file used for the application is referenced by its url. It can be stored on a TFTP server (in the format tftp://directory/file.tcl ) or FTP server (in the format ftp://directory/file.tcl ) or in the router's Flash memory (in the format flash:directory/file.tcl or slot0:directory/file.tcl ). Refer to Section 1-2 for more information about working with files on a Cisco router.
Set the language used in the audio files:
(global) call application voice name language index language
For the IVR application name, one or more audio file languages can be defined. The index (0 to 9) is a unique identifier for a specific language: en (English), sp (Spanish), ch (Mandarin), or aa (all).
Set the length of a PIN entry:
(global) call application voice name pin-length length
Certain IVR applications collect digits for a caller's personal identification number (PIN). For the IVR application name, the PIN length is set to length digits (0 to 10).
Set the PIN entry retry limit:
(global) call application voice name retry-count count
For the IVR application name, the caller is allowed to reenter his or her PIN up to count (1 to 5) times.
Set the user ID length:
(global) call application voice name uid-length length
For the IVR application name, the caller's user identification can have up to length characters (1 to 20).
Set the location of the application's audio files:
(global) call application voice name set-location language category location
Audio files for the IVR application name are defined by language ( en, sp, or ch ) and category (0 to 4; 0 means all categories). Up to four arbitrary categories can be assigned so that audio files can be stored according to some function or attribute. The location of the audio files is given as a URL or a TFTP directory.
(Optional) Define a redirect number for an application:
(global) call application voice name redirect-number number
Some IVR applications require a call to be redirected to an operator for human intervention if certain conditions apply. For the application name, calls can be redirected to number (a telephone number).
(Optional) Set the call-end warning time:
(global) call application voice name warning-time seconds
Some IVR applications play a warning message before the time runs out on a call and the call is ended. For the IVR application name, the warning is played seconds (10 to 600 seconds) before the calling time runs out.
Configure any AAA functions that are required by the IVR application. Refer to Section 13-2 for further configuration information.
Use the IVR application on a dial peer:
(dial-peer) application name
The IVR application name is run when a call is initiated on the dial peer.