Table Of Contents
Enhanced Multi-Language Support for Cisco IOS Interactive Voice Response
Related Features and Technologies
Supported Standards, MIBs, and RFCs
Verifying Configured Languages
Monitoring and Maintaining Configured Languages
Enhanced Multi-Language Support for Cisco IOS Interactive Voice Response
Feature History
This document describes the multi-language enhancement to Cisco IOS Interactive Voice Response (IVR) for Cisco IOS Release 12.2(2)T. It includes the following sections:
•
Supported Standards, MIBs, and RFCs
•
Monitoring and Maintaining Configured Languages
Feature Overview
This feature enhances the multi-language support for Cisco IOS IVR. You can now implement and add support for new languages and text-to-speech (TTS) notations to the core IVR infrastructure of the Cisco IOS gateway. For instructions on configuring IVR, see the Configuring Interactive Voice Response for Cisco Access Platforms document. To configure a new language on your gateway, see the "Configuration Tasks" section of this document.
When the core Cisco IOS IVR infrastructure executes a TCL IVR application (1.0 or 2.0) or a VXML application, the TCL language module translates the TTS notations into a sequence of audio files and plays them to achieve text-to-speech. Each language, such as Chinese, has a TCL language module. The TCL language module defines the list of TTS notations that the language supports. This capability is also referred to as dynamic prompting.
Currently, Cisco IOS IVR supports English, Chinese, and Spanish. The TCL IVR 1.0 and 2.0 programmers' guides contains the sets of TTS notations for these languages.
With this feature enhancement you can add support for new languages and new TTS notations by simply configuring a new TCL language module. When you configure the TCL language module on the gateway, the Cisco IOS IVR infrastructure uses a defined Application Programming Interface (API) to interface with the TCL language module and to translate TTS notations supplied by the IVR application into the specified language. This TCL language module gives the core Cisco IOS infrastructure the intelligence to translate TTS notations into the sequence of audio files according to the language structure. For example, English and French use different sequences for saying the date: the English language structure says the month first and then the day; the French language structure says the day first and then the month.
When you configure one or more of the TCL language modules on the Cisco IOS IVR gateway, old and future TCL IVR applications can leverage these new languages without any application changes, as if the core Cisco IOS IVR supports these languages. From the TCL IVR application perspective, new languages are the same as the built-in languages.
If you need new TTS notations for the Cisco IOS built-in languages, such as playing dates and times of day, you can configure, for example, a new English TCL language module and it overrides the built-in English TCL language module during the translation. When completed, any IVR application can use these new notations, and the IVR infrastructure recognizes and plays the audio accordingly.
Note
This feature does not release any specific TCL applications.
Note
Although the language intelligence is from a TCL-based language module, when you configure a language, any system (TCL IVR 1.0, 2.0, VXML, MGCP) on your gateway can use the configured language with little or no change to the Cisco IOS configuration. To configure a language on the gateway, see the "Command Reference" section of this document.
Benefits
In the past, if you wanted an IVR application to perform TTS, you were limited to English, Chinese, and Spanish languages and a fixed set of TTS notations that played, for example, dollar amounts and credit times. If an IVR application was to support more languages, it had to do its own translation and include the language translation procedures with every TCL IVR application that needed it.
With this feature, you can make a new TCL language module for any language and any set of TTS notations. You can test and deliver the module and the audio files that go with it as a language package and document the language it delivers and the TTS notations it supports. When you configure this module on the gateway, any IVR application running on that gateway and using those TTS notations works and speaks the module language.
Related Features and Technologies
•
The Service Provider Feature Set for VoIP uses the IVR feature for interaction with the caller and collects digits for account and billing purposes.
•
The Authentication, Authorization, and Accounting (AAA) feature is used with IVR.
•
The Settlement for Packet Telephony on Cisco Access Platforms uses the TCL IVR applications for the billing process.
•
The Debit Card for Packet Telephony on Cisco Access Platforms uses TCL IVR extensively for inter operability.
Related Documents
•
Cisco Pre-Paid Debit Card Multi-Language Programmer's Reference, Cisco IOS Release 12.1
•
Configuring Interactive Voice Response for Cisco Access Platforms, Cisco IOS Release 12.0(7)T
•
Interactive Voice Response Version 2.0 on Cisco VoIP Gateways, Cisco IOS Release 12.1(3)T
•
TCL IVR API Version 1.0 Programmer's Guide, Cisco IOS Release 12.1(3)T
•
TCL IVR API Version 2.0 Programmer's Guide, Cisco IOS Release 12.2(2)T
For further information about voice technology, see the following documents:
•
Cisco IOS Voice, Video, and Fax Configuration Guide, Cisco IOS Release 12.2
•
Cisco IOS Voice, Video, and Fax Command Reference, Cisco IOS Release 12.2
Supported Platforms
•
Cisco 2600 series
•
Cisco 3620
•
Cisco 3640
•
Cisco 3660
Supported Standards, MIBs, and RFCs
Standards
None
MIBs
None
To obtain lists of supported MIBs by platform and Cisco IOS release, and to download MIB modules, go to the Cisco MIB web site on Cisco.com at the following URL: http://www.cisco.com/public/sw-center/netmgmt/cmtk/mibs.shtml.
RFCs
None
Prerequisites
•
Cisco IOS Release 12.2(2)T or later
•
Voice gateway equipped with voice interface
Configuration Tasks
See the following sections for configuration tasks for the Enhanced Multi-Language Support for Cisco IOS IVR feature. Each task in the list indicates if the task is optional or required.
•
Configuring a Language (required)
•
Reloading a Language (optional)
•
Verifying Configured Languages (optional)
Configuring a Language
To configure a language, use the following command beginning in global configuration mode:
Command PurposeRouter(config)# call language voice language URL
Defines a language to configure and the URL location of the language translation application.
Reloading a Language
To load or reload a TCL language module with a new or updated TCL language module, use the following command beginning in EXEC mode:
Command Purpose Router# call language voice load languageLoads or reloads a TCL language module from the already-configured URL location.
Verifying Configured Languages
Enter the show call language voice command. This command shows information about the configured languages.
This example shows Russian (ru)configured as a new language.
Router# show call language voice summary
This example shows the built-in English language overwritten by a newly configured English language. Russian is a newly configured language, see above.
Router# show call language voice summary
name url ru tftp://dirt/fwarlau/scripts/multilag/ru_translate.tcl en tftp://dirt/fwarlau/scripts/multilag/en_translate.tcl sp fixed ch fixed
This example shows parts of a Russian (ru) TCL language module.
Router# show call language voice ruru_translate.tclru_translate.tcl~singapore.cfgtest.tclpeople% more ru_translate.tcl# Script Locked by: fjoe# Script Version: 1.1.0.0# Script Lock Date: Sept 24 2000# ca_translate.tcl#------------------------------------------------------------------# Sept 24, 2000 Farmer Joe## Copyright (c) 2000 by Cisco Systems, Inc.# All rights reserved.#------------------------------------------------------------------##proc do_tens {} {global promptglobal prefixglobal numbersglobal lenglobal gender------<snip>------default {puts "\t\t*** ERROR CONDITION $input"lappend $prompt 1}}return $prompt}## Main#set prefix ""#puts "argc"#foreach arg $argv {#puts "$arg"# translates $arg# puts "\t\t**** $prompt RETURNED"#}Troubleshooting Tips
Use existing TCL IVR troubleshooting tips with this feature. For more information on debugging TCL applications, see the TCL IVR API Version 2.0 Programmer's Guide or TCL IVR API Version 1.0 Programmer's Guide.
Monitoring and Maintaining Configured Languages
Use the show call language voice command to show the configured TCL language modules.
Command PurposeRouter# show call language voice [language | summary]
Displays information about all configured languages, a summary of these languages, or information about a specific language.
Configuration Examples
This example shows a language configuration for Cisco IOS IVR:
version 12.2no service single-slot-reload-enableno service padservice timestamps debug datetime msec localtimeservice timestamps log datetime msec localtimeno service password-encryption!hostname A!logging buffered 1000000 debugginglogging rate-limit console 10 except errorsaaa new-modelaaa authentication login h323 group radiusaaa authorization exec h323 group radiusaaa accounting connection h323 start-stop group radius!resource-pool disableCantonese, English, German, and Russian are configured. The URLs following the configuration command call language voice show their locations:call rsvp-synccall language voice ru tftp://server/folder/scripts/multi-lang/ru_translate.tclcall language voice ca tftp://server/folder/scripts/multi-lang/ca_translate.tclcall language voice gr tftp://server/folder/scripts/multi-lang/gr_translate.tclcall language voice en tftp://server/folder/scripts/multi-lang/en_translate.tclApplication A is configured to use the TCL language modules English, Chinese, Russian, German, and Cantonese:
call application voice A tftp://server/folder/scripts/Primere/A-Talk.1.1.0.0.tclcall application voice A language 1 encall application voice A language 2 chcall application voice A language 3 rucall application voice A language 4 grcall application voice A language 5 caThe configuration below shows the location of the audio files for each TCL language.
call application voice A set-location en 0 tftp://server/folder/scripts/Primere/encall application voice A set-location ch 0 tftp://server/folder/scripts/Primere/chcall application voice A set-location ru 0 tftp://server/folder/scripts/Primere/rucall application voice A set-location gr 0 tftp://server/folder/scripts/Primere/grcall application voice A set-location ca 0 tftp://server/folder/scripts/Primere/caip subnet-zerono ip fingerip host A 172.19.139.100ip host B 10.7.153.4ip host C 192.168.10.106ip host D 192.168.10.105!no ip dhcp-client network-discoveryisdn switch-type primary-5ess!fax interface-type vfcmta receive maximum-recipients 0!!controller T1 0framing esfclock source line primarylinecode amipri-group timeslots 1-24!controller T1 1framing esfclock source line secondary 1linecode amipri-group timeslots 1-24!controller T1 2framing sflinecode ami!controller T1 3framing sflinecode ami!gw-accounting h323gw-accounting h323 vsagw-accounting voip!interface Ethernet0ip address 10.8.67.100 255.255.255.224no ip route-cacheno ip mroute-cache!interface Serial0:23no ip addressip mroute-cacheisdn switch-type primary-5essisdn incoming-voice modemisdn disconnect-cause 1no cdp enable!interface Serial1:23no ip addressip mroute-cacheisdn switch-type primary-5essisdn incoming-voice modemno cdp enable!interface FastEthernet0ip address 172.19.140.135 255.255.255.224no ip redirectsip route-cache same-interfaceno ip route-cacheno ip mroute-cacheduplex autospeed auto!ip default-gateway 10.8.0.1ip kerberos source-interface anyip classlessip route 0.0.0.0 0.0.0.0 Ethernet0ip route 0.0.0.0 0.0.0.0 FastEthernet0ip route 10.7.0.0 255.255.255.224 10.8.0.1ip route 10.8.0.1 255.255.255.224 Ethernet0ip route 172.19.0.0 255.255.255.224 172.19.140.1ip route 192.168.254.254 255.255.255.224 10.8.0.1no ip http serverradius-server host 172.19.140.137 auth-port 1645 acct-port 1646radius-server retransmit 3radius-server optional-passwordsradius-server key ciscoradius-server vsa send accountingradius-server vsa send authentication!voice-port 0:Dtimeouts initial 5!voice-port 1:DThe configuration below shows Application A configured on the access server.
dial-peer voice 1 potsapplication Aincoming called-number 52965destination-pattern 52965port 0:D!dial-peer voice 2 potsdestination-pattern ........port 1:D!!line con 0transport input noneline aux 0line vty 0 4!endCommand Reference
This section documents new commands. All other commands used with this feature are documented in the Cisco IOS Release 12.2 command reference publications.
call language voice
To configure an external TCL language module for use with an Interactive Voice Response (IVR) application, use the call language voice global configuration command.
call language voice language URL
Syntax Description
language
The two-character prefix for the language, for example, en for English or ru for Russian.
URL
The URL that points to the TCL language module.
Defaults
No default behavior or values
Command Modes
Global configuration
Command History
Usage Guidelines
The built-in languages are en, ch, and sp. If you specify en, ch, or sp as the prefix, the new TCL language module replaces the built-in language functionality. When you add a new TCL language module, you create your own prefix to identify the language. When you configure and load the new languages, any upper-layer application (TCL IVR) can use the language.
You can use the language prefix in the language argument of any call application voice command. The language and the text-to-speech (TTS) notations defined by this TCL language module are then available for the IVR application to use.
Examples
The following example adds Russian (ru) as a TCL language module:
Router(config)# call language voice ru tftp://box/unix/scripts/multi-lang/ru_translate.tclRelated Commands
call language voice load
To load or reload a TCL language module from the configured URL location, use the call language voice load EXEC command.
call language voice load language
Syntax Description
language
The two-character prefix configured with the call language voice command in global configuration mode, for example, en for English or ru for Russian.
Defaults
No default behavior or values
Command Modes
EXEC
Command History
Usage Guidelines
You cannot use this command if the IVR application using the language that you want to configure has an active call. A language configured under an IVR application does not mean that it is in use. To determine if a call is active, use the show call application voice command.
Examples
The following example loads French (fr) into memory:
Router# call language voice load frRelated Commands
show call language voice
To display a summary of languages configured, and the URLs of the corresponding TCL language modules for the languages that are not built-in languages, use the show call language voice EXEC command.
show call language voice [language | summary]
Syntax Description
Defaults
No default behavior or values
Command Modes
EXEC
Command History
Usage Guidelines
This command is similar to the show call application voice command. If a language is built in, the URL listed reads "fixed." If you decide to overwrite the built-in language with your own language, the word "fixed" in the URL column changes to the actual URL where your new application lives.
Examples
The following example displays a summary of the configured languages:
Router# show call language voice summary
Router# show call language voice ruru_translate.tclru_translate.tcl~singapore.cfgtest.tclpeople% more ru_translate.tcl# Script Locked by: farmerj# Script Version: 1.1.0.0# Script Lock Date: Sept 24 2000# ca_translate.tcl#------------------------------------------------------------------# Sept 24, 2000 Farmer Joe## Copyright (c) 2000 by Cisco Systems, Inc.# All rights reserved.#------------------------------------------------------------------#<snip>......set prefix ""#puts "argc"#foreach arg $argv {#puts "$arg"# translates $arg# puts "\t\t**** $prompt RETURNED"#}Related Commands
Glossary
For more definitions of terms and acronyms used in the internetworking industry, see Internetworking Terms and Acronyms.
DTMF—dual tone multifrequency. Use of two simultaneous voice-band tones for dialing (such as touch tone).
IVR—interactive voice response. Term used to describe systems that provide information in the form of recorded messages over telephone lines in response to user input in the form of spoken words, or more commonly DTMF signaling. Examples include banks that allow you to check your balance from any telephone and automated stock quote systems.
MGCP—Media Gateway Control Protocol. Defines the call control protocol between call agents and gateways in a packet telephony system.
TCL—Tool Command Language. Application programming language used in call applications.
VXML—Voice Extensible Markup Language. Creates audio dialogs that feature synthesized speech, digitized audio, recognition of spoken and DTMF key input, recording of spoken input, telephony, and mixed-initiative conversations.
