Cisco IOS Tcl IVR and VoiceXML Application Guide - 12.3(14)T and later
Tcl IVR and VoiceXML Applications Overview
Downloads: This chapterpdf (PDF - 277.0KB) The complete bookPDF (PDF - 8.15MB) | Feedback

Table Of Contents

Overview of Cisco IOS Tcl IVR and VoiceXML Applications

Contents

Prerequisites for Implementing Tcl IVR and VoiceXML Applications

Memory Requirements for Interpreting a VoiceXML Document

Gateway Prerequisite Configuration

VCWare Version on Cisco AS5300

Call Admission Control

HTTP Server

Installing Apache PHP Server Software

Enabling Chunked Transfer

Additional References

Related Documents

Related Websites

Standards

MIBs

RFCs

Technical Assistance


Overview of Cisco IOS Tcl IVR and VoiceXML Applications


Tcl and VoiceXML applications on the Cisco gateway provide Interactive Voice Response (IVR) features and call control functionality such as call forwarding, conference calling, and voice mail.

IVR systems provide information through the telephone in response to user input in the form of spoken words or dual tone multifrequency (DTMF) signaling. The Cisco voice gateway allows an IVR application to be used during call processing. A Cisco voice gateway can have several IVR applications to accommodate many different services, and you can customize the IVR applications to present different interfaces to various callers.

Voice applications can be developed using one or both of these two scripting languages:

Tcl IVR 2.0—Tcl-based scripting with a proprietary Cisco API. Provides extensive call control capabilities, signaling, and GTD manipulation.

VoiceXML—Standards-based markup language for voice browsers. Existing web server and application logic can be used for VoiceXML applications, requiring less time and money to build infrastructure and perform development than traditional proprietary IVR systems require.

For information on developing and implementing a VoiceXML document or Tcl script for use with your voice application, see the following guides:

Cisco VoiceXML Programmer's Guide

Tcl IVR API Version 2.0 Programmer's Guide

For more information about Cisco IOS voice features, see the entire Cisco IOS Voice Configuration Library—including library preface and glossary, feature documents, and troubleshooting information—at http://www.cisco.com/en/US/docs/ios/12_3/vvf_c/cisco_ios_voice_configuration_library_glossary/vcl.htm.


Note For releases prior to Cisco IOS Release 12.3(14)T, see the previous version of the Cisco IOS Tcl IVR and VoiceXML Application Guide at: http://www.cisco.com/univercd/cc/td/doc/product/software/ios123/123cgcr/vvfax_c/tcl_leg/index.htm


Contents

Prerequisites for Implementing Tcl IVR and VoiceXML Applications

Additional References

Prerequisites for Implementing Tcl IVR and VoiceXML Applications

The following sections describe the prerequisites necessary for configuring a Tcl IVR or VoiceXML application on the Cisco gateway:

Memory Requirements for Interpreting a VoiceXML Document

Gateway Prerequisite Configuration

VCWare Version on Cisco AS5300

Call Admission Control

HTTP Server


Note When developing and configuring a voice application, also refer to the Cisco VoiceXML Programmer's Guide or the Tcl IVR API Version 2.0 Programmer's Guide.


Memory Requirements for Interpreting a VoiceXML Document

For the smallest document, the minimum memory that the Cisco IOS software and VoiceXML interpreter uses for a call is approximately 128 KB. The maximum memory allowed is approximately 380 KB. This is allocated as follows:

The underlying system, including the telephony signaling software and JavaScript Expressions context, requires approximately 120 KB for a call.

Each VoiceXML document can use a maximum of 65 KB of internal memory. The amount of memory that each document requires cannot be calculated by counting tags or lines in a VoiceXML document, but generally the memory required correlates to the size of the document.

Gateway Prerequisite Configuration


Step 1 Establish a working IP network using the Cisco gateway.

Step 2 Configure VoIP on the gateway, including voice ports and dial peers.

For information on configuring IP networking, VoIP, and ISDN, refer to the appropriate software configuration guide for your Cisco gateway:

Software Configuration Guide for Cisco 2600 Series, Cisco 3600 Series and Cisco 3700 Series Routers

Cisco 2800 Series Software Configuration

Cisco 3800 Series Software Configuration

Cisco AS5300 Software Configuration Guide

Cisco AS5350 and Cisco AS5400 Universal Gateway Software Configuration Guide

Cisco AS5800 Operations, Administration, Maintenance, and Provisioning Guide

Cisco AS5850 Operations, Administration, Maintenance, and Provisioning Guide

Step 3 For Tcl IVR 2.0 applications, download any necessary certified Cisco Tcl scripts or audio files from the following location:

http://www.cisco.com/cgi-bin/tablebuild.pl/tclware

Step 4 For Voice Store and Forward, the mail application Tcl script, named voicemail-offramp.tcl, must be downloaded to your TFTP server. See the "Downloading the Tcl Script for Off-Ramp Mail Application" section for instructions on how to download the mail application script.

Step 5 On Cisco 3600 series gateways, the codec type used for recordings must be compatible with the codecs supported by the codec complexity command on the gateway. The setting of the codec complexity command determines the supported codecs. See the "Modifying Codec Complexity on the Cisco 3600 Series" section for instructions on how to change the codec complexity.


VCWare Version on Cisco AS5300

Cisco VCWare release required for the Cisco AS5300 VFC:

Release 10.26a or later with DSPWare 4.0.26


Note You can verify your VCWare version by using the show vfc slot version vcware privileged EXEC command, where slot is the slot number (0 to 2) of the VFC card.


For more information on VCWare versions and installation:

Overview of the VCWare version required for this feature: Release Notes for Cisco VCWare on Cisco AS5300 Universal Access Servers/Voice Gateways

Descriptions of the different VCWare releases: Cisco VCWare Compatibility Matrix for the Cisco AS5300 Universal Access Server/Voice Gateway

Download instructions: Voice over IP for the Cisco AS5300, "VFC Management" section.

Call Admission Control

Call admission control for calls handled by Tcl 1.0, Tcl IVR 2.0, and VoiceXML applications can be configured by setting the percentages of memory and CPU utilization that are optimal for the Cisco voice gateway and for the particular application scenario. When the percentage levels are set, incoming calls are denied whenever the current system CPU or memory usage (or a combination of these) exceeds the resource thresholds. This denial prevents the gateway from overloading.

The default is 89% for the CPU and 98% for RAM. However, on a high-end platform such as the Cisco AS5400, resource thresholds can be increased to accommodate more calls. To configure call admission control and set the optimal system CPU and RAM usage thresholds, use the call treatment and call threshold commands.


Tip The following is a recommended configuration for extreme performance conditions. The voice gateway rejects calls if the configured thresholds for CPU usage and memory usage for call treatment are exceeded.


Router(config)# call treatment on
Router(config)# call threshold global cpu-5sec low 50 high 80 treatment
Router(config)# call threshold global total-mem low 80 high 90 treatment
 
 

For detailed instructions on configuring call admission control, refer to the Trunk Connections and Conditioning Features document, Cisco IOS Voice Configuration Library, Release 12.3.

HTTP Server

The web server must support Hypertext Transfer Protocol (HTTP) 1.1. Cisco voice applications are tested for compatibility with web servers running Apache software; compatibility with other web servers is not verified. For instructions on installing Apache PHP software for use with Cisco voice applications, see the following procedures.

For information about the supported HTTP 1.1 features, see the "HTTP Client Support" section.

Installing Apache PHP Server Software


Step 1 Untar the php-4.0.4pl1.tar file.

Step 2 Untar the apache_1.3.17.tar file to a new directory.

Step 3 Modify the php-4.0.4pl1/sapi/apache/mod_php4.c file:

Change the line "if ((retval = setup_client_block(r, REQUEST_CHUNKED_ERROR)))" to "if ((retval = setup_client_block(r, REQUEST_CHUNKED_DECHUNK)))"

Step 4 cd to php-4.0.4pl1 directory.

Run configure, specifying the path to apache sources
(for example, /configure apache=/local/http/apache_1.3.17)

un "make" followed by "make install" from the preceding directory.

Step 5 cd to apache directory (for example, cd /local/http/apache_1.3.17).

Execute the following:

configure prefix=/local/http/apache

make

make install

Step 6 Start your HTTP server in su mode:

/local/http/apache/bin/apachectl start


Enabling Chunked Transfer

When recording audio files to an HTTP server, audio data is moved in chunks from the gateway using the "chunked" Transfer-Encoding method. To accept streaming recording, the chunked transfer capability must be enabled on the web server. To enable chunked transfer on the Apache PHP server, perform the following steps:


Step 1 Turn on the following flag:

./php-4.0.3p11/sapi/apache/mod_php4.c

Step 2 Recompile the Apache PHP server code.


For more information, refer to the Apache Software Foundation website.

Additional References

The following sections provide references related to Cisco IOS Tcl IVR and VoiceXML.

Related Documents

Related Topic
Document Title
Cisco IOS

Cisco IOS configuration examples

Cisco Systems Technology Support website at http://cisco.com/en/US/tech/index.html. Choose a technology category and subsequent hierarchy of subcategories. Under Configure, click Configuration Examples and Tech Notes.

Cisco IOS debug command reference

Cisco IOS Debug Command Reference, Release 12.4T at http://www.cisco.com/univercd/cc/td/doc/product/software/ios123/123tcr/123dbr/index.htm

Cisco IOS troubleshooting information

Cisco IOS Voice Troubleshooting and Monitoring Guide at http://www.cisco.com/univercd/cc/td/doc/product/software/ios123/123cgcr/vvfax_c/voipt_c/index.htm

Cisco IOS voice command reference

Cisco IOS Voice Command Reference, Release 12.3T at http://www.cisco.com/univercd/cc/td/doc/product/software/ios123/123tcr/123tvr/index.htm

Cisco IOS Voice Configuration Library preface and glossary

Cisco IOS Voice Configuration Library at http://www.cisco.com/en/US/docs/ios/12_3/vvf_c/cisco_ios_voice_configuration_library_glossary/vcl.htm.

API guides
 

VoiceXML elements and attributes

Cisco VoiceXML Programmer's Guide

Tcl verbs and attributes

Tcl IVR Version 2.0 Programmer's Guide

Hardware installation guides
 

Cisco AS5300 hardware installation instructions

Hardware installation documents for Cisco AS5300

Cisco AS5350 hardware installation instructions

Hardware installation documents for Cisco AS5350

Cisco AS5400 hardware installation instructions

Hardware installation documents for Cisco AS5400

Software configuration guides
 

Cisco 3600 series prerequisite software configuration

Software Configuration Guide for Cisco 2600 Series, Cisco 3600 Series and Cisco 3700 Series Routers

Cisco 2800 series prerequisite software configuration

Cisco 2800 Series Software Configuration

Cisco 3800 series prerequisite software configuration

Cisco 3800 Series Software Configuration

Cisco AS5300 prerequisite software configuration

Cisco AS5300 Software Configuration Guide

VCWare releases

Cisco VCWare Compatibility Matrix for the Cisco AS5300 Universal Access Server/Voice Gateway

VCWare version requirements

Release Notes for Cisco VCWare on Cisco AS5300 Universal Access Servers/Voice Gateways

VCWare download instructions

Voice over IP for the Cisco AS5300, "VFC Management" section.

Cisco AS5350 prerequisite software configuration

Cisco AS5350 and Cisco AS5400 Universal Gateway Software Configuration Guide

Cisco AS5800 prerequisite software configuration

Cisco AS5800 Operations, Administration, Maintenance, and Provisioning Guide

Cisco AS5850 prerequisite software configuration

Cisco AS5850 Operations, Administration, Maintenance, and Provisioning Guide

Dial peer configuration

Dial Peer Configuration, Cisco IOS Voice Configuration Library, Release 12.3

H.323 gateway configuration

Cisco IOS H.323 Configuration Guide, Release 12.3

MGCP configuration

Cisco IOS MGCP and Related Protocols Configuration Guide, Release 12.3

SIP configuration

Cisco IOS SIP Configuration Guide, Release 12.3

Fax Relay and store and forward fax configuration

Cisco IOS Fax Services over IP Application Guide, Release 12.3

AAA configuration

"Authentication, Authorization, and Accounting (AAA)" chapter in Cisco IOS Security Configuration Guide, Release 12.3

VSAs used for call detail records (CDRs)

RADIUS Vendor-Specific Attributes Voice Implementation Guide

Codec support

VoIP—Understanding Codecs: Complexity, Support, MOS, and Negotiation

Call Transfer

Call transfer and forward configuration

Cisco IOS Call Transfer and Call Forwarding Supplementary Services

GTD configuration

GTD for GKTMP Using SS7 Interconnect for Voice Gatekeeper Version 2.0

GTD configuration

R2 and ISUP Transparency for Voice Gateways Version 2.0

AAA configuration

Cisco IOS Security Configuration Guide, Release 12.3

Cisco SC2200 configuration

Cisco SC2200 Signaling Controller documentation

Miscellaneous
 

Release notes

Cisco IOS Release 12.3 Cross-Platform Release Notes

Network module specifications for Cisco 3600 series

Cisco Network Modules Hardware Installation Guide


Related Websites

Related Topic
Title and Location

RTSP live streaming

Helix audio streaming server
http://www.realnetworks.com

Speech recognition and synthesis software

Nuance Communications
http://www.nuance.com

Speech recognition software

SpeechWorks International, Inc.
http://www.speechworks.com

Voice browser activities' documentation

World Wide Web Consortium
http://www.w3.org

Vovida RTSP server configuration

Vovida.org
http://www.vovida.org

Web server software

Apache Software Foundation
http://www.apache.org


Standards

Standards
Title

ANSI T1.661 SS7

Release To Pivot

ANSI T1.688 SS7

Facility Request To Pivot

ECMA-262

ECMAScript Language Specification, 3rd edition August 1998

ITU-T H.450.2

Call transfer supplementary service for H.323

ITU-T H.450.3

Call diversion supplementary service for H.323

Telcordia GR-2857-CORE

Generic Requirements for SS7 Release to Pivot Network Capability

Telcordia GR-2865-CORE

Generic Requirements for ISDN PRI Two B-Channel Transfer

Telcordia GR-3016-CORE

Operator Services Generic Requirements for the Use of Signaling System 7 (SS7) Release to Pivot (RTP) Phase II Network Capability

VoiceXML 2.1

W3C Candidate Recommendation (June 13, 2005)


MIBs

MIBs
MIBs Link

CISCO-VOICE-DIAL-CONTROL-MIB

CISCO-VOICE-DNIS-MIB

To locate and download MIBs for selected platforms, Cisco IOS releases, and feature sets, use Cisco MIB Locator found at the following URL:

http://www.cisco.com/go/mibs


RFCs

RFCs
Title

RFC 821

Simple Mail Transfer Protocol

RFC 822

Standard for the Format of ARPA Internet Text Messages

RFC 1341

MIME (Multipurpose Internet Mail Extensions), June 1992

RFC 1652

SMTP Service Extension for 8bit-MIME Transport

RFC 1869

SMTP Service Extensions

RFC 1891

SMTP Service Extension for Delivery Status Notifications

RFC 1892

Multipart/Report Content Type for the Reporting of Mail System Administrative Messages

RFC 1893

Enhanced Mail System Status Codes

RFC 1894

An Extensible Message Format for Delivery Status Notifications

RFC 1896

The Text/Enriched MIME Content-Type

RFC 2034

SMTP Service Extension for Returning Enhanced Error Codes

RFC 2045

Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies

RFC 2046

Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types

RFC 2047

MIME (Multipurpose Internet Mail Extensions) Part Three: Message Header Extensions for Non-ASCII Text

RFC 2068

Hypertext Transfer Protocol—HTTP/1.1, January 1997

RFC 2109

HTTP State Management Mechanism

RFC 2197

SMTP Service Extension for Command Pipelining

RFC 2298

An Extensible Message Format for Message Disposition Notifications

RFC 2326

Real-Time Streaming Protocol, April 1998

RFC 2368

The Mailto URL Scheme, July 1998

RFC 2616

Hypertext Transfer Protocol HTTP/1.1, June 1999


Technical Assistance

Description
Link

Technical Assistance Center (TAC) home page, containing 30,000 pages of searchable technical content, including links to products, technologies, solutions, technical tips, and tools. Registered Cisco.com users can log in from this page to access even more content.

http://www.cisco.com/public/support/tac/home.shtml

Developers using this guide may be interested in joining the Cisco Developer Support Program. This program was created to provide you with a consistent level of support that you can depend on while leveraging Cisco interfaces in your development projects.

http://www.cisco.com/en/US/products/svcs/ps3034/ps5408/ps5418/serv_home.html

developer-support@cisco.com