Guest

Cisco IOS Software Releases 12.2 T

Enhanced Multi-Language Support for Cisco IOS Interactive Voice Response

Table Of Contents

Enhanced Multi-Language Support for Cisco IOS Interactive Voice Response

Feature Overview

Benefits

Related Features and Technologies

Related Documents

Supported Platforms

Supported Standards, MIBs, and RFCs

Prerequisites

Configuration Tasks

Configuring a Language

Reloading a Language

Verifying Configured Languages

Troubleshooting Tips

Monitoring and Maintaining Configured Languages

Configuration Examples

Command Reference

call language voice

call language voice load

show call language voice

Glossary


Enhanced Multi-Language Support for Cisco IOS Interactive Voice Response


Feature History

Release
Modification

12.0(3)T

Interactive Voice Response (IVR) with the addition of scripts using Tool Command Language (TCL) was originally introduced.

12.0(7)T

IVR with the addition of scripts using TCL was modified.

12.1(3)xi

Cisco Pre-Paid Debitcard Multi-Language feature was introduced.

12.1(3)T

IVR with the addition of scripts using TCL was modified.

12.2(2)T

The multi-language feature for TCL IVR was introduced.


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:

Feature Overview

Supported Platforms

Supported Standards, MIBs, and RFCs

Prerequisites

Configuration Tasks

Monitoring and Maintaining Configured Languages

Configuration Examples

Command Reference

Glossary

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
Purpose

Router(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 language

Loads 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

name
url
ru
tftp://dirt/fwarlau/scripts/multilag/ru_translate.tcl
sp
fixed
ch
fixed
en
fixed

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 ru
ru_translate.tcl
ru_translate.tcl~
singapore.cfg
test.tcl
people% 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 prompt
    global prefix
    global numbers
    global len
    global 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
Purpose

Router# 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.2
no service single-slot-reload-enable
no service pad
service timestamps debug datetime msec localtime
service timestamps log datetime msec localtime
no service password-encryption
!
hostname A
!
logging buffered 1000000 debugging
logging rate-limit console 10 except errors
aaa new-model
aaa authentication login h323 group radius
aaa authorization exec h323 group radius 
aaa accounting connection h323 start-stop group radius
!
resource-pool disable

Cantonese, English, German, and Russian are configured. The URLs following the configuration 
command call language voice show their locations:

call rsvp-sync
call language voice ru tftp://server/folder/scripts/multi-lang/ru_translate.tcl
call language voice ca tftp://server/folder/scripts/multi-lang/ca_translate.tcl
call language voice gr tftp://server/folder/scripts/multi-lang/gr_translate.tcl
call language voice en tftp://server/folder/scripts/multi-lang/en_translate.tcl

Application 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.tcl
call application voice A language 1 en
call application voice A language 2 ch
call application voice A language 3 ru
call application voice A language 4 gr
call application voice A language 5 ca

The 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/en
call application voice A set-location ch 0 tftp://server/folder/scripts/Primere/ch
call application voice A set-location ru 0 tftp://server/folder/scripts/Primere/ru
call application voice A set-location gr 0 tftp://server/folder/scripts/Primere/gr
call application voice A set-location ca 0 tftp://server/folder/scripts/Primere/ca

ip subnet-zero
no ip finger
ip host A 172.19.139.100
ip host B 10.7.153.4
ip host C 192.168.10.106
ip host D 192.168.10.105
!
no ip dhcp-client network-discovery
isdn switch-type primary-5ess
!
fax interface-type vfc
mta receive maximum-recipients 0
!
!
controller T1 0
 framing esf
 clock source line primary
 linecode ami
 pri-group timeslots 1-24
!
controller T1 1
 framing esf
 clock source line secondary 1
 linecode ami
 pri-group timeslots 1-24
!
controller T1 2
 framing sf
 linecode ami
!
controller T1 3
 framing sf
 linecode ami
!
gw-accounting h323
gw-accounting h323 vsa
gw-accounting voip
!
interface Ethernet0
 ip address 10.8.67.100 255.255.255.224
 no ip route-cache
 no ip mroute-cache
!
interface Serial0:23
 no ip address
 ip mroute-cache
 isdn switch-type primary-5ess
 isdn incoming-voice modem
 isdn disconnect-cause 1
 no cdp enable
!
interface Serial1:23
 no ip address
 ip mroute-cache
 isdn switch-type primary-5ess
 isdn incoming-voice modem
 no cdp enable
!
interface FastEthernet0
 ip address 172.19.140.135 255.255.255.224
 no ip redirects
 ip route-cache same-interface
 no ip route-cache
 no ip mroute-cache
 duplex auto
 speed auto
!
ip default-gateway 10.8.0.1
ip kerberos source-interface any
ip classless
ip route 0.0.0.0 0.0.0.0 Ethernet0
ip route 0.0.0.0 0.0.0.0 FastEthernet0
ip route 10.7.0.0 255.255.255.224 10.8.0.1
ip route 10.8.0.1 255.255.255.224 Ethernet0
ip route 172.19.0.0 255.255.255.224 172.19.140.1
ip route 192.168.254.254 255.255.255.224 10.8.0.1
no ip http server
radius-server host 172.19.140.137 auth-port 1645 acct-port 1646
radius-server retransmit 3
radius-server optional-passwords
radius-server key cisco
radius-server vsa send accounting
radius-server vsa send authentication
!
voice-port 0:D
 timeouts initial 5
!
voice-port 1:D

The configuration below shows Application A configured on the access server.

dial-peer voice 1 pots
 application A
 incoming called-number 52965
 destination-pattern 52965
 port 0:D
!
dial-peer voice 2 pots
 destination-pattern ........
 port 1:D
!
!
line con 0
 transport input none
line aux 0
line vty 0 4
!
end

Command 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

call language voice load

show call language voice

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

Release
Modification

12.2(2)T

This command was introduced.


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.

Prefix
Built-In Language

ch

Chinese/Mandarin

en

English

sp

Spanish


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.tcl

Related Commands

Command
Description

call application voice

Configures an application.

debug voip ivr

Specifies the type of debug output you want to view.

show language voice

Displays information about configured languages and applications.


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

Release
Modification

12.2(2)T

This command was introduced.


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 fr

Related Commands

Command
Description

call application voice load

Loads an application.

debug voip ivr

Specifies the type of debug output you want to view.

show language voice

Displays information about configured languages and applications.


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

language

The two-character prefix configured with the call language voice command in global configuration mode, either for a prefix for a built-in language or one that you have defined, for example, en for English or ru for Russian.

summary

Shows a summary of all the languages configured and the URLs for the TCL language modules other than built-in languages.


Defaults

No default behavior or values

Command Modes

EXEC

Command History

Release
Modification

12.2(2)T

This command was introduced.


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

name
url
sp
fixed
ch
fixed
en
fixed
ru
tftp://dirt/fwarlau/scripts/multilag/ru_translate.tcl

Router# show call language voice ru
ru_translate.tcl
ru_translate.tcl~
singapore.cfg
test.tcl
people% 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

Command
Description

call language voice

Configures a TCL language module.

call language voice load

Loads or reloads a TCL language module from the configured URL location.

debug voip ivr

Specifies the type of debug output you want to view.

show call application voice

Shows and describes applications.


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.