Introduction
This document describes how to configure Cisco Unified Contact Center Enterprise (UCCE) with Nuance Text To Speech (TTS) and Automatic Speech Recognition (ASR).
Prerequisites
Requirements
Cisco recommends that you have knowledge of these topics:
- UCCE with Customer Voice Portal (CVP)
- Cisco Virtualized Voice Browser (CVVB) or Voice Xtended Markup Language (VXML) Gateway
- Nuance TTS and ASR Server
Components Used
The information in this document is based on these software versions:
- CVP 11.6
- UCCE 11.6
- VVB 11.6
- Nuance Recognizer 10.0
- Nuance Speech Server 6.2.x
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, ensure that you understand the potential impact of any command.
Basic Configuration Cisco UCCE
Configuration on VVB
Step 1. Log in to CVVB Administration page: https://<vvb_fqdn>.
Step 2. Navigate to SubSystem > Speech Servers > TTS Servers.
Step 3. Configure the TTS server as shown in the image.
Note: 192.168.33.28 is TTS server Internet Protocol (IP) Address.
If the use of a machine name, instead of IP address, is required in your deployment, in the Server Name field, provide the machine name instead of the IP address. In that case, you need to reference the machine IP address in the ect/hosts file.
This command on VVB Command Line Interface (CLI) makes the link between name and IP address in etc/hosts:
utils VVB add host-to-ip <machine_name> <ip>
Example: utils VVB add host-to-ip nuance 192.168.33.28
Configuration on VXML GW (If VVB is not deployed)
Step 1. Define Hostname to IP address mapping for ASR and TTS servers.
ip host asr-en-us 192.168.33.28
ip host tts-en-us 192.168.33.28
ip host tts-fr-fr 192.168.33.28
ip host asr-fr-fr 192.168.33.28
ip host tts-de-de 192.168.33.28
ip host asr-de-de 192.168.33.28
ip host tts-pt-pt 192.168.33.28
Ip host asr-pt-pt 192.168.33.28
ip host IPCC-Nuance 192.168.33.28
Step 2. Define the Voice class Uniform Resource Identifier (URI) to match the Session Initiation Protocol (SIP) URI of ASR Server in the dial-peer.
voice class uri ASR sip
pattern asr@192.168.33.28
Step 3. Define the Voice class URI to match the SIP URI of TTS Server in the dial-peer.
voice class uri TTS sip
pattern tts@192.168.33.28
Step 4. Define the amount of maximum memory to used for downloaded prompts.
ivr prompt memory 15000
Step 5. Define the SIP URI of ASR and TTS Server.
ivr asr-server sip:asr@192.168.33.28
ivr tts-server sip:tts@192.168.33.28
Step 6. Configure the SIP Voice Over IP (VOIP) dial-peers. These dial-peers are used as an outbound dial-peer when the gateway initiates a Media Resource Control Protocol (MRCP) over SIP session to the ASR/TTS server (MRCP Version 2).
dial-peer voice 5 voip
description Dial-peer for ARS Nuance
session protocol sipv2
session target ipv4:192.168.33.28
session transport tcp
destination uri ASR
dtmf-relay rtp-nte
codec g711ulaw
no vad
!
dial-peer voice 6 voip
description Dial-peer for TTS Nuance
session protocol sipv2
session target ipv4:192.168.33.28
session transport tcp
destination uri TTS
dtmf-relay rtp-nte
codec g711ulaw
no vad
Text To Speech on CVP Call Studio
The TTS server is called when an audio element in CVP Call Studio is not configured or the audio file does not exist in the specified URI and default audio path.
Step 1. Select the audio element.
Step 2. Select the Audio tab, and navigate to audio item.
Step 3. Configure the audio item in order to use text to speech instead of audo files. Write the text you want to convert to speech in the TTS field, as shown in the image.
Multi-Languages support
The Application Modifier element in CVP Call Studio allows to provide multi-languange suppport. Here is an example of script that uses different languages.
Note: You are required to install the langage pack you support, in the Nuance TTS/ASR server. For example, to use German (de-DE), a German language pack on the TTS server is required.
Configure Multi-Languages
Step 1. In order to select the language, set the language field in the application modifier element, as shown in the image.
Step 2. Now, the German (de-DE) language pack is used in the next audio element. To revert back to another language, use the application modifier once again.
Note: To use Cisco VVB with multi-languages, it is required to install the Engineering Specials (ES): 11.5ES43 and 11.6 ES22. More information on Cisco bug ID CSCvf30722.
Basic Configuration Nuance ASR/TTS server
After you have installed Nuance ASR/TTS server and the license is configured, there are few more tasks you need to do, in order to complete the configuration with UCCE.
Speech Server Configuration
Step 1. Open the file: C:\Program Files (x86)\Nuance\Speech Server\Server\config\NSSserver.cfg.
Step 2. Search for server.mrcp1.resource.2.url and change the value to /synthesizer from media /speechsynthesizer.
Step 3. Search for server.mrcp1.resource.3.url and change the value to /recognizer from media/speechrecognizer.
Step 4. Search for server.mrcp1.osrspeechrecog.cache.maxNumber and set the variable value to the number of recognizer licenses you have. For instance, If you have 4 ports license then change the variable value to 4.
Step 5.Search for server.mrcp1.osrspeechrecog.startOfSpeechOnDTM and set the variable value to 0(zero) from 1.
Recognizer Configuration
Step 1. Open the file: C:\Program Files\Nuance\Recognizer\config\Baseline.xml.
Step 2. Set the param values to maximum number of recognizer licenses from default value.
<param name="swirec_license_ports">
<declaration group="license" type="int" set_by="default">
<min_value>0</min_value>
</declaration>
<value>4</value>
</param>
<param name="swiep_license_ports">
<declaration group="license" type="int" set_by="default">
<min_value>0</min_value>
</declaration>
<value>4</value>
</param>
Note: Here the value 4 has been specified, since this is a 4-port Nuance license implementation.
Vocalizer Configuration
Step 1. Open the file: C:\Program Files (x86)\Nuance\Vocalizer for Enterprise\config\Baseline.xml.
Step 2. Set the param values to maximum number of synthesizer licenses.
<tts_license_ports>4</tts_license_ports>
<tts_license_ports_overdraft_thresh>4</tts_license_ports_overdraft_thresh>
<cpr_license_ports>4</cpr_license_ports>
Step 3. Modify ssml_validation from strict to warn.
<ssml_validation>warn</ssml_validation>