Tcl IVR and VoiceXML Application Overview

Both Tcl IVR 2.0 and VoiceXML can support extremely complex applications. These complex applications are built by stringing together basic functions that fall into the following categories:

Note

MGCP is not supported with Tcl or VoiceXML applications. To support applications, the gateway must have local control of the call.

The main difference between Tcl and VoiceXML is that the router executes a Tcl script, whereas a VoiceXML script is a client-server model. If the gateway associates a call with a VoiceXML application, the application loads the appropriate VoiceXML document that can call for the gateway to interact with various web applications. This document might play audio prompts and collect digits. You can load additional VoiceXML documents based on the caller input.

Both Tcl and VoiceXML servers can utilize external RADIUS authentication, authorization, and accounting (AAA) servers for authentication and billing and TFTP servers for storing of scripts or prompts.

Figure 15-1 shows the interaction between a caller and a typical Tcl application providing prepaid calling card service. The caller dials a toll-free access number. The Tcl script prompts the caller for his calling card number, his personal identification number (PIN), and the number he wants to reach. After the Tcl application authenticates the calling card number and PIN with the AAA server, it extends the call to the remote gateway. The remote gateway then completes the call to the destination.

Figure 15-1. Caller Interaction with a Tcl Application

Figure 15-2 shows the interaction between a caller and a VoiceXML auto attendant (AA) application. The application prompts the user for his account number and uses this to access the customer records. The web application can then prompt the caller through checking balances, transferring funds, or other self-help activities, or it can transfer the caller to an agent for personalized service.

Figure 15-2. Caller Interaction with a VoiceXML Application

Tcl IVR 2.0 added support for Real Time Streaming Protocol (RTSP) servers. This allows you to store the audio files, or prompts, on the external server and stream them directly to the caller. This increases both the size and number of prompts that you can use in an application. Prompts that you store in the flash of the gateway or on a TFTP server are loaded into the DRAM and are played from DRAM to the caller. The applications discussed in this chapter would not typically require an RTSP server.

If a custom application requires access to servers for prompts or data retrieval, you should consider survivability if the servers are not accessible. For example, Cisco Voice Portal (CVP) includes a call survivability script that attempts to transfer callers to an alternate location in the event of CVP application errors.

Developing Tcl or VoiceXML scripts requires knowledge of programming that is beyond the scope of this book. Cisco provides numerous Tcl applications, some of which are described in the next section. This chapter focuses on implementing Tcl scripts using these Cisco-provided applications for illustration purposes. The methods for implementing VoiceXML applications are similar from the gateway perspective.

Programming Resources

Cisco provides two excellent resources for developing your own Tcl or VoiceXML applications. The TCL IVR API Version 2.0 Programmer's Guide and Cisco VoiceXML Programmer's Guide are available from Cisco.com to registered users. Aspiring Tcl programmers should also review the wealth of information that is available at http://www.tcl.tk.

Cisco Systems also has a fee-based application development group that can develop an application to your specifications. In addition, a Cisco Technology Developer Program can provide support to third-party developers. Information on these programs is available from Cisco.com or from your Cisco account team.

Note

Only Tcl/VoiceXML applications that are developed through the Cisco Technology Developer Program are supported by the Cisco Technical Assistance Center (TAC).

Категории