Vous êtes sur la page 1sur 62

HP OpenCall Media Platform - Browser

Runtime Environment
Installation and Configuration of ASR
and TTS
For OCMP Release 2.4
Fourth Edition

Manufacturing Part Number: J8285-90014


E0305

Notice
The information contained in this document is subject to change without
notice.
Hewlett-Packard makes no warranty of any kind with regard to this
material, including, but not limited to, the implied warranties of
merchantability and fitness for a particular purpose. Hewlett-Packard
shall not be liable for any errors contained herein, or for incidental or
consequential damages in connection with the furnishing, performance
or use of this material.
This document contains proprietary information which is protected by
copyright. All rights reserved. No part of this document may be
photocopied, reproduced, or translated into another language without
the prior written consent of Hewlett-Packard Company.
2005 Copyright Hewlett-Packard Development Company, L.P.
Reproduction, adaptation or translation without prior written
permission is prohibited, except as allowed under the copyright laws.
Printing History
First Edition

For Release 2.4 March 2004

Second Edition

For Release 2.4 April 2004

Third Edition

For Release 2.4 August 2004

Fourth Edition

For Release 2.4 March 2005

Trademarks
The following are trademarks or registered trademarks of
Hewlett-Packard: HP-UX
Microsoft Windows and Microsoft Internet Explorer are either
registered trademarks or trademarks of Microsoft Corporation in the
United States and/or other countries.
Java and all Java-based marks are trademarks or registered trademarks
of Sun Microsystems, Inc. in the United States and other countries.

ii

Hewlett-Packard Company
OpenCall Business Unit
38053 GRENOBLE Cedex 9
France

iii

iv

1. Introduction
Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
System Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Resource Allocation and Management . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
ASR and TTS Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Planning and Dimensioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Pre-requisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Related Information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2. Installation
ASR Installation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
ScanSoft OpenSpeech Recognizer 3.0.1 MRCP ASR . . . . . . . . . . . . . 18
Nuance MRCP ASR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
TTS Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
ScanSoft Telecom RealSpeak MRCP TTS . . . . . . . . . . . . . . . . . . . . . . 20
Nuance Vocalizer 3.0 MRCP TTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3. Configuration Overview
Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4. Configuring OCMP-Base for ASR and TTS
Creating Audio Services and Audio Servers. . . . . . . . . . . . . . . . . . . . . . 26
Creating an Audio Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Creating an Audio Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5. Configuring MRCP ASR
Non-SRGS/XML Grammars, Precompiled Grammars and Grammars
Referenced by File URIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Configuring OSR 3 ASR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Result Structure Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Semantic Interpretation in OSR 3 Grammars . . . . . . . . . . . . . . . . . . 31
v

Audio Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Starting OSR 3 MRCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Known issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Determining the Language in OSR 3 . . . . . . . . . . . . . . . . . . . . . . . . .
Language Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

32
32
32
35
35

Nuance MRCP ASR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Watcher daemon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Language Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Other Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Semantic Interpretation in Nuance grammars. . . . . . . . . . . . . . . . . .
Language Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuration for Arabic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Running Nuance MRCP ASR Server. . . . . . . . . . . . . . . . . . . . . . . . . .

36
36
36
37
38
38
38
38
39

6. Configuring MRCP TTS


ScanSoft TTS RealSpeak Telecom 4.0 . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Nuance Vocalizer 3.0 MRCP TTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
7. Configuring OCMP-BRE for ASR and TTS
Configuring OCMP-BRE for ASR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Configuring OCMP-BRE for TTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
8. Troubleshooting
General Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Configuration Dependencies - Checklist. . . . . . . . . . . . . . . . . . . . . . . . . 56
Logs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

vi

Introduction
This section provides an introduction to an OCMP system running ASR
and TTS.

Chapter 1

Introduction
Scope

Scope
This document describes how to install, configure, and troubleshoot
Automatic Speech Recognition (ASR) and Text-To-Speech (TTS) for the
HP OpenCall Media Platform (OCMP). The ASR and TTS installations
are targeted for Microsoft Windows servers. The OCMP platform
supports ASR and TTS using the Media Resource Control Protocol
(MRCP). Any ASR or TTS engine supporting MRCP is thus functional in
principle. However, there may be implementation differences from
vendor to vendor. Therefore, tests for interoperability between the OCMP
and the products described in this document have been performed in
order to confirm the functionality. The verification process of ASR and
TTS products is continuously progressing; please contact HP for the most
recent information on supported products.
Installation and configuration is described for the MRCP Server
products in the following:

Nuance MRCP Server v1.0 service pack 7

ScanSoft SpeechWorks Media Server (SWMS) 3.1.2

Installation and configuration is described for the following ASR


products:

Nuance 8.5 - using Nuance MRCP Server v1.0 service pack 7

ScanSoft OpenSpeech Recognizer (OSR) 3.0.1 - using SWMS 3.1.2

Installation and configuration is described for the following TTS


products:

Nuance Vocalizer 3.0 - using Nuance MRCP Server v1.0 service pack
7

ScanSoft RealSpeak Telecom 4.0 using SWMS 3.1.2

This guide should be used when installing and configuring ASR and TTS
in a standard OCMP system that includes the OCMP Browser Runtime
Environment (OCMP-BRE). However, it can also be used when setting
up a system that includes only the OCMP Base Platform (OCMP-Base)
with ASR and TTS. In this case, the sections relating to the OCMP-BRE
systems can be disregarded.

Chapter 1

Introduction
System Overview

System Overview
The OCMP-BRE is an application implemented on top of the
OCMP-Base platform connecting via the CCAPI. When using the
OCMP-BRE, the VoiceXML interpreter (OCMP-VoiceXML), the Resource
Manager (OCMP-RM) and the Operation and Maintenance (OCMP-OM)
systems are available.
In the OCMP-OM, the number of ASR and TTS resources allocated to a
service can be defined. The OCMP-RM ensures that the allocations
defined in the OCMP-OM are respected. The maximum number of ASR
and TTS resources that can be used are limited by the OCMP-BRE
license. However, the primary task of the OCMP-RM and OCMP-OM is
not to perform license policing, but to allocate and manage resources.
Most ASR and TTS products provide their own license enforcement
functionality.
Figure 1-1 shows an example of a full OCMP system.
Figure 1-1

Example of the OCMP system architecture.


OCMP Base Platform

Telephony

ISUP

OCMP
Base

CCXML
interpreter

OCMP - OM
OCMP Voice XML

MRCP

MRCP
OCMP - RM

CCXML
Document server

http

TTS

http

ASR

Voice XML
Document server

The system operates as follows:

Chapter 1

Introduction
System Overview

OCMP-Base accepts incoming telephony calls.

OCMP-Base contacts OCMP-RM to request an OCMP-VoiceXML


node to handle the call.

When a VoiceXML service running on the OCMP-VoiceXML node


needs to output TTS or to recognize spoken user input, the
OCMP-VoiceXML node sends a request to OCMP-Base which
forwards it to either ASR or TTS servers over MRCP.

The OCMP-Base connects the audio streams from the caller and the
MRCP server so that the result of TTS can be played back on the
telephone line and the incoming audio can be processed by the ASR
in the MRCP server.

The ASR results are returned from the MRCP server to the
OCMP-VoiceXML node via the OCMP-Base.

Chapter 1

Introduction
Resource Allocation and Management

Resource Allocation and Management


OCMP-VoiceXML in the OCMP-BRE uses the following scheme for
MRCP session creation and allocation. Sessions are created on demand that is, sessions are created and destroyed dynamically. Sessions created
in a pool in the OCMP-Base are not used. Therefore, Audio Servers
configured in OCMP-Base for OCMP-BRE should not define more than
zero instances to be created at start-up; see Chapter 4, Configuring
OCMP-Base for ASR and TTS, on page 25 in this document.
In OCMP-OM, one and only one ASR resource type can be allocated for a
service, whereas one or more TTS resources can be allocated. If an ASR
resource is defined for the service, the OCMP-RMs ASR gauge
(counter) will be incremented at the start of the call and decremented
at the end of the call. Thus, ASR licensing and resource management is
made on a whole-call basis.
In OCMP-RM, one or more TTS resources can be allocated. If a TTS
resource is defined in the service, the TTS resource will be reserved for
one minute from the start of the call; the gauge is incremented. If the
resource is not allocated within that time frame, the gauge will be
decremented and the reservation is dropped. Allocation is made on the
first usage of the resource. The resource is de-allocated at the end of the
call and the gauge is thus decremented.
Resource gauges are decremented for both ASR and TTS when the
VoiceXML session is dropped, for instance when a blind transfer is
invoked.
ASR and TTS resources are not available when the OCMP-RM gauges
for the resources exceed the configured limit for the service or when the
total gauge for the cluster has been exceeded. Calls to a VoiceXML
service requiring unavailable resources are rejected.
Application developers programming on top of the CCAPI instead of
VoiceXML have a number of options for session creation and allocation.
Sessions can be created in a pool at start-up or created dynamically on
demand. Session allocation can be made per call, from first operation or
per operation. See the HP OpenCall Media Platform Developers Guide
for more details. CCAPI programmers should carefully consider
performance, fault tolerance, and licensing issues before choosing a
strategy for session creation and allocation.

Chapter 1

Introduction
Resource Allocation and Management

NOTE

10

CCAPI applications cannot make use of the OCMP-RM or the


OCMP-OM.

Chapter 1

Introduction
ASR and TTS Language

ASR and TTS Language


The ASR language to use is determined by the xml:lang attribute set in
the grammar for most ASR engines. However, Nuance does not use this
attribute; see Nuance MRCP ASR on page 36. If the xml:lang
attribute is not set in the grammar, the language resource to use is ASR
vendor dependent. Implicit VoiceXML grammar constructs such as
menus and options are transformed into regular SRGS grammars by
OCMP-BRE. In this case, the xml:lang attribute of the generated
grammar is set to the xml:lang in the VoiceXML page. When the
language is not set in the page, it is determined by the service setting in
OCMP-OM. More than one language can be used in the same service, but
usage is limited to the languages installed on the ASR server. There are
also limitations that vary from one ASR product to another.
The TTS language is determined by the xml:lang attribute of the
VoiceXML page set in the vxml element or in a prompt. The TTS
language can thus be dynamically changed within the application,
provided there are TTS resources for that language available and
configured in the OCMP-OM for the service. If a VoiceXML page contains
xml:lang values for which no corresponding TTS resources are
configured, the OCMP-BRE will throw the VoiceXML exception
error.unsupported.language. The TTS language can also be set using
SSML. If there is no xml:lang set, the language set in the VoiceXML
service is used.

Chapter 1

11

Introduction
Planning and Dimensioning

Planning and Dimensioning


MRCP enables a distributed architecture, but this does not
automatically imply that load-balancing mechanisms are provided.
However, the OCMP is generally configured to balance the load over two
or more MRCP servers. The MRCP servers, in turn, may or may not
balance the load over several ASR or TTS servers. The possible system
architecture is flexible, but depends on how the ASR and TTS vendors
have implemented the MRCP servers, ASR and TTS.
Hardware requirements for a farm of ASR or TTS servers always depend
on the type of application deployed on the system. In the case of TTS, the
primary factor is how TTS-intensive the applications are; for example,
how much of the dialogue involves TTS output.
Similarly, in the ASR case dimensioning depends on how often the ASR
engines are at work. Moreover, the load on the ASR system largely
depends on the number, complexity, and size of the active speech
grammars in the applications. For instance, in an application where the
grammar is unique to every step in the dialog and to each user, the
system will be subject to heavy load, since grammar compilation is a
CPU intensive operation. Large and complex grammars are heavy to
compile and to use in the actual recognition phase. Hence, applications
that make use of a few small static grammars put a smaller load on the
system than applications that employ large, complex, dynamically
changing grammars.
In summary, the hardware requirements for a system are highly
dependent on the type of application. Most ASR and TTS vendors provide
dimensioning tools that can be used when the target applications and
representative usage patterns are known.

12

Chapter 1

Introduction
Pre-requisites

Pre-requisites
The pre-requisites for the installation of the ASR and TTS components
are described in the vendor documentation. Generally, Windows 2000
with Service Pack 3 is required. Please check to see if a special type of
processor is required.

Chapter 1

13

Introduction
Related Information

Related Information
The following documents contain information that may be useful to read
along with this document. These documents are referenced throughout
the rest of this guide. The vendor specific documentation is provided by
the ASR and TTS vendors and is generally supplied with the software
installation.

14

HP OpenCall Media Platform - Session Initiation Protocol - Browser


Runtime Environment - Operations Guide

Speechworks MediaServer 3.1 Getting Started Guide (ScanSoft


document)

OpenSpeech Recognizer Grammar Developers Guide (ScanSoft


document)

OpenSpeech Recognizer Licensing Handbook (ScanSoft document)

OpenSpeech Recognizer Reference Manual (ScanSoft document)

Nuance MRCP Server Users Guide (Nuance document)

Nuance Vocalizer3.0 Developers Guide (Nuance document)

Voice Extensible Markup Language (VoiceXML) Version 2.0, W3C


Proposed Recommendation 3 February 2004

Chapter 1

Introduction
Abbreviations

Abbreviations
Abbreviation

Chapter 1

Meaning

OCMP-Base

The OCMP-Base Platform; provides call control


and manages connections with MRCP servers
and the telephony network.

OCMP-BRE

The OCMP Browser Runtime Environment.


This is a cluster of nodes that provide VoiceXML
interpretation and resource management.

OCMP-VoiceXML

The VoiceXML interpreter node in the


OCMP-BRE.

OCMP-RM

The Resource Manager node in the OCMP-BRE.

OCMP-OM

The Operations & Maintenance management


console in the OCMP-BRE.

MRCP

Media Resource Control Protocol. The protocol


used for the control of the ASR and TTS servers.

<configdir>

The configuration directory in the OCMP-BRE:


/etc/opt/OC/ocmp-bre

15

Introduction
Abbreviations

16

Chapter 1

Installation
This section covers installation of the MRCP, ASR, and TTS servers.

Chapter 2

17

Installation
ASR Installation

ASR Installation
This section covers the installation of the MRCP and ASR servers. The
procedure varies slightly depending on which MRCP server is used.
ScanSoft OpenSpeech Recognizer 3.0.1 MRCP ASR
OSR should preferably be installed before the MRCP Server software.
Previous versions of OSR and SWMS should be uninstalled prior to
installing the software. See the OSR 3 Installation Guide text file for
details on the installation. To install:
Step 1. Run Setup.exe provided in the software installation for OSR. In the
OSR installation, the server should preferably not be installed. In the
GUI installation, click the plus sign for the OSR feature and unselect the
server. OSR 3 and SWMS currently only run in all-in-one mode
(standalone). Whether the license manager feature should be installed or
not is a system planning issue; see the OpenSpeech Recognizer Licensing
Handbook. If a license manager has already been installed during a
RealSpeak TTS installation, it should not be installed again.
Step 2. Install the target language: run Setup.exe from the Language supplied
with the software installation.
Step 3. Update /bin/srinet.dll in the OSR installation with the version
which is provided separately.

NOTE

If you are going to install TTS as well, do so before installing SWMS!

Step 4. Run the SWMS installerby launching the Setup.exe file provided in the
software installation. In the first menu, press Install Products, then
SpeechWorks Media Server.
In the SWMS distribution, a web server can be installed to provide
access to stored wave forms. Consider any existing web server
installations before accepting this installation, and consider potential
port clashes.
Known Issue:

18

Chapter 2

Installation
ASR Installation
"Error - Ordinal not located in DLL file: An error message may pop up
indicating that an ordinal could not be located in a dynamic link library.
If this occurs, please refer to SpeechWorks MediaServer 3.1.2 - Getting
Started Guide, page 45 for instructions.
Nuance MRCP ASR
Read the Nuance MRCP document for information on how to prepare the
installation for languages other than US English. To install:
Step 1. Install the Nuance System v 8.5.0 SP7 including the Nuance MRCP
Server: run the Setup.exe file provided in the software installation. The
Nuance 8.5.0 installation sets the environment variable %NUANCE% and
%MRCP%.
Step 2. Install any required language packages. American English is installed as
the default; if any other languages are required, they must be installed
manually. Uncompress the appropriate language module packages and
extract to the path the %NUANCE% environment variable is set to.
Step 3. Verify that the default MRCP package has compiled correctly after
installation by checking that the directory %MRCP%/mrcp-en-us has
been created.
Install the components following the instructions in the Nuance System
Installation Guide and Nuance MRCP Server: Users Guide.

Chapter 2

19

Installation
TTS Installation

TTS Installation
This section covers the installation of the MRCP and TTS servers. Refer
to the suppliers documentation for more detail.
ScanSoft Telecom RealSpeak MRCP TTS
Follow this procedure to install:
Step 1. Install Telecom RealSpeak MRCP. If a license manager has already been
installed with OSR, this feature should not be installed again for TTS.
Whether the license manager feature should be installed or not is a
system planning issue: see the OpenSpeech Recognizer Licensing
Handbook.
Step 2. Install one or more RealSpeak voices.
Step 3. If you are also installing ScanSoft OSR 3 ASR, do so before installing the
MRCP Server.
Step 4. Install SWMS. Installing this component creates a Windows service
called SpeechWorks Media Server that can be used to start and stop the
server.
Nuance Vocalizer 3.0 MRCP TTS
Follow this procedure to install:
Step 1. Install the Nuance System V8.5.0 SP7 including the Nuance MRCP
Server. Choose typical when prompted. The installation spawns a
command line console that compiles a package needed for the MRCP
server. Do not press finish in the main wizard before this console is done,
as this may result in an installation where the package has to be
manually compiled later. When installation is complete, a service is
created called Nuance Watcher Daemon. This service can be used to start
and stop the server.
Step 2. Install Nuance Vocalizer 3.0.
Step 3. Install at least one Vocalizer voice.

20

Chapter 2

Configuration Overview
This section describes an overview of the configuration needed to run the
OCMP with ASR and TTS.

Chapter 3

21

Configuration Overview
Overview

Overview
The following must be configured in an OCMP system in order to run
ASR and TTS:

The OCMP-Base must be configured to find the MRCP Server.

The MRCP Server must be configured


to start the required process
to run the selected languages, voices, etc.

The OCMP-VoiceXML must declare the ASR and TTS resources it


will use to OCMP-RM and OCMP-OM.

The OCMP-OM must have services configured to use the resources


announced by the OCMP-VoiceXML.

These configurations will be described in some detail in the following


chapters of this document.
Figure 3-1 shows configuration dependencies for ASR and TTS in OCMP.
myMRCPServer1, myMRCPServer2 and myOCMPBASE are example names of
physical servers. The name of an Audio Service in OCMP-Base can be
any but must start with the string rtsp://. More details will be given on
configuring ASR and TTS in the following chapters.
The properties in the OCMP-BRE configuration file ocmp_provider.xml
ties the displayed recourse in OCMP-OM to the actual Audio Servers
used in OCMP-Base. OCMP-Base spreads the requests made to the
Audio Service over its defined Audio Servers which map to physical

22

Chapter 3

Configuration Overview
Overview
MRCP servers. The requests are made in a round robin fashion. Note
that the properties shown in the example ocmp_provider.xml file are
not complete XML.
Figure 3-1

Chapter 3

23

Configuration Overview
Overview

24

Chapter 3

Configuring OCMP-Base for


ASR and TTS
This section covers the required OCMP-Base configuration (including
audio services and servers) for running ASR and TTS.

Chapter 4

25

Configuring OCMP-Base for ASR and TTS


Creating Audio Services and Audio Servers

Creating Audio Services and Audio Servers


In OCMP-Base, an Audio Service provides a logical link to one or more
MRCP servers to use for ASR or TTS. The Audio Service has one or more
Audio Servers defined. The Audio Servers in turn, are configurable items
that point to an MRCP server using the rtsp protocol. They can also be
configured and managed (started and stopped, for example). The Audio
Service will balance the load over its related Audio Servers in a
round-robin fashion. See the HP OpenCall Media Platform Development
Guide for more details.

Creating an Audio Service


Use the following procedure to create an audio service:
Step 1. Select External Resources from the left hand menu in the OCMP-Base
management interface (at http://<ocmpbase-hostname>:4242), and
then click ASR/TTS Resources.
Step 2. Enter the name of the Audio Service under Audio Service Creation
and press Add. The name can be anything as long as it starts with the
string rtsp://. Some example names are:

rtsp://AudioServiceASR1 for a server running ASR

rtsp://AudioServiceTTS1 for a service running TTS

To be more descriptive, you can also include the ASR or TTS product
name in the Audio Service name.
The value of the property ocmp.asr.mrcpserver.<id> in the
OCMP-BRE configuration file <configdir>/ocmp_provider.xml, must
match the name of the Audio Service. See the sections Configuring
OCMP-BRE for ASR on page 48 and Configuring OCMP-BRE for TTS
on page 50 for information on defining this type of property.

Creating an Audio Server


Use the following procedure to create an audio server:
Step 1. In the Audio Services Management view, click on the name of the Audio
Service for which an Audio Server should be configured.

26

Chapter 4

Configuring OCMP-Base for ASR and TTS


Creating Audio Services and Audio Servers
Step 2. Press the New Server button.
Step 3. Enter a server name with a suitable description; for example,
OSR3@MyASRServer to define an MRCP Server running OSR3 on a server
called MyASRServer.
Step 4. Enter the Server URI:

rtsp://<ASRservername>:4900/media/speechrecognizer is the
default for OSR 3

rtsp://<ASRservername>:554/recognizer is the default for


Nuance.

The TTS defaults are:

rtsp://<TTSservername>:4900/media/speechsynthesizer for
RealSpeak running under SWMS

rtsp://<TTSservername>:554/synthesizer for Vocalizer

The actual port number should be set according to the MRCP server
configuration.
Step 5. Enter a description.
Step 6. Enter the required number of concurrent ASR sessions (the maximum
number of sessions that the OCMP-Base server should be allowed to
run). Set Pre-Opened Sessions to 0.

NOTE

Pre-opened sessions are not used by the OCMP-VoiceXML service.


These sessions will only result in idle sessions which use up licences.
However, it is useful to temporarily configure a pre-opened session to
verify that OCMP-Base can connect to the MRCP server. In this case,
the Audio Server will be listed as Active.

Step 7. Click Create Server. The server should start automatically. Check that
there are no red lights in the Fault Management View of the OCMP
Platform Monitoring view.
An audio server can be stopped and started by selecting the server from
the list of servers in the Audio Server Management view.

Chapter 4

27

Configuring OCMP-Base for ASR and TTS


Creating Audio Services and Audio Servers
Step 8. Save the configuration by selecting Platform Admin from the left hand
menu in the OCMP management interface and clicking Platform
Configuration Management in the Platform Administration view.
Step 9. Click Save or use the Save as option to keep the service safely saved
with a unique name.
Refer to the OCMP-Base documentation for more information on
OCMP-Base operation and maintenance.

NOTE

28

If several audio servers are defined for the same audio service, they
should only reference resources of the same type; that is, ASR or TTS
(rtsp URIs).

Chapter 4

Configuring MRCP ASR


This section covers the configuration of MRCP ASR.

Chapter 5

29

Configuring MRCP ASR


Non-SRGS/XML Grammars, Precompiled Grammars and Grammars Referenced by File URIs

Non-SRGS/XML Grammars, Precompiled


Grammars and Grammars Referenced by File
URIs
OCMP-BRE fetches grammars when the type attribute of the VoiceXML
grammar element is not set or if it is set to application/srgs-xml. This
is because the platform performs all DTMF grammar processing and
must therefore be able to detect and process DTMF grammars.
Consequently, VoiceXML grammar elements that refer to DTMF
grammars can only be fetched and processed by OCMP-BRE if the type
is either unspecified or else is set to application/srgs-xml. The
platform will fail to fetch or parse grammar formats other than
SRGS/XML, pre-compiled grammars, and grammars referred to using
the file protocol.
When the application uses precompiled grammars, grammar formats
other than SRGS/XML, and grammars referred to using the file protocol,
the type attribute must be set to application/gsl or to some other
vendor specific type; for example, application/x-swi-grammar for
pre-compiled ScanSoft grammars. This is also true for grammars
referred to by the file protocol, although it may be that these grammars
are in SRGS/XML. Whether the file protocol is supported or not depends
on the MRCP server implementation.
DTMF grammars can not be referred to by using the attribute srcexpr
of the VoiceXML grammar element.
Also, note that grammar formats other than SRGS/XML can not be
specified inline in the VoiceXML code. They must be referenced using the
src or srcexpr attributes of the VoiceXML grammar element.

30

Chapter 5

Configuring MRCP ASR


Configuring OSR 3 ASR

Configuring OSR 3 ASR


This section describes a few specific configuration tasks. See the OSR 3
and SWMN documentation for a complete description. When the MRCP
server is installed, the environment variable %SWISVRSDK% is set to the
installation directory. This variable is used in the following sections
when referring to file paths. Similarly, the OSR installation sets the
environment variable %SWISRSDK%.
Result Structure Configuration
For OCMP-BRE, the SpeechWorks specific keys in the NLSML results
are disabled. In %SWISRSDK%\config\Baseline.xml, comment out these
keys:
<!--param name="swirec_extra_nbest_keys">
<value>SWI_meaning</value>
<value>SWI_literal</value>
<value>SWI_grammarName</value>
</param-->

Semantic Interpretation in OSR 3 Grammars


Grammars using the tag element that should return "simple results"
must include the OSR meta tag swirec_simple_result_key. See the
VoiceXML 2.0 Specification, section 3.1.6, for a description of simple and
structured results. Here is an example grammar that returns a simple
result:
<?xml version="1.0" encoding="UTF-8"?>
<grammar
version="1.0"xmlns="http://www.w3.org/2001/06/grammar"
xml:lang="en-US" mode="voice" tag-format="swi-semantics/1.0"
root="digit">
<meta name="swirec_simple_result_key" content="$"/>
<rule id= "digit" >
<one-of>

Chapter 5

31

Configuring MRCP ASR


Configuring OSR 3 ASR
<item> zero <tag>$ = 0</tag></item>
<item> one <tag>$ = 1</tag></item>
<item> two <tag>$ = 2</tag></item>
<item> three <tag>$ = 3</tag></item>
<item> four <tag>$ = 4</tag></item>
<item> five <tag>$ = 5</tag></item>
<item> six <tag>$ = 6</tag></item>
<item> seven <tag>$ = 7</tag></item>
<item> eight <tag>$ = 8</tag></item>
<item> nine <tag>$ = 9</tag></item>
</one-of>
</rule>
</grammar>

Audio Logging
The default configuration for OSR 3 creates logs of the audio data sent to
the recognizer. The audio logs are very useful for development and
tuning but require a lot of disk space. For this reason, it is recommended
to switch off the audio logs for production systems except when
performing tuning. Audio logging is disabled by setting the OSR
configuration parameter swirec_suppress_waveform_logging to 1. For
information on SWMS and OSR text logs, please refer to the section
Logs on page 59.
Starting OSR 3 MRCP
Run %SWISVRSDK%/bin/startserver.bat to start the MRCP server
from the command line, or start the Windows Service SpeechWorks
Media Server. The license service is called OSR Licensing Server.
The default name of the license file is osr.lic and should be placed in
%SWISRSDK%/flexlm/license folder.
Optionally, if installed, start the Apache web server installed with OSR
3.
Known issues
There is a known problem in the installation of OSR3 related to the error
message Error-Ordinal not located in DLL file. This message indicates
that an ordinal could not be located in a dynamic link library. If this
occurs, please refer to SpeechWorks MediaServer 3.1 Getting Started
Guide for instructions.

32

Chapter 5

Configuring MRCP ASR


Configuring OSR 3 ASR
There is another known problem with regional settings (OSR interprets
',' as '.' and vice versa). The regional settings for the OS should be US
English both for the current user and the default user.
In Windows 2000:
Step 1. Run locale.exe if this file is provided with your installation package.
Verify that all the displayed settings are either English or ENU. If so,
you can skip the rest of this procedure. Otherwise, go on to the next step.
Step 2. Check in Control Panel | Regional Options under the tab General
that the settings for the current user... is set to English (United
States)
Step 3. The default user configuration can only be set directly in the registry:
Windows Registry Editor Version 5.00
[HKEY_USERS\.DEFAULT\Control Panel\International]
"iCountry"="1"
"iCurrDigits"="2"
"iCurrency"="0"
"iDate"="0"
"iDigits"="2"
"iLZero"="1"
"iMeasure"="1"
"iNegCurr"="0"
"iTime"="0"
"iTLZero"="0"
"Locale"="00000409"
"s1159"="AM"
"s2359"="PM"
"sCountry"="United States"
"sCurrency"="$"
"sDate"="/"
"sDecimal"="."
"sLanguage"="ENU"
"sList"=","
"sLongDate"="dddd, MMMM dd, yyyy"
"sShortDate"="M/d/yyyy"
"sThousand"=","
"sTime"=":"
"sTimeFormat"="h:mm:ss tt"
"iTimePrefix"="0"

Chapter 5

33

Configuring MRCP ASR


Configuring OSR 3 ASR
"sMonDecimalSep"="."
"sMonThousandSep"=","
"iNegNumber"="1"
"sNativeDigits"="0123456789"
"NumShape"="1"
"iCalendarType"="1"
"iFirstDayOfWeek"="6"
"iFirstWeekOfYear"="0"
"sGrouping"="3;0"
"sMonGrouping"="3;0"
"sPositiveSign"=""
"sNegativeSign"="-"
Either cut and paste the above information into a file with extension
.reg, or check if the file named US_DefaultUserLocaleSettings.reg is
provided with your installation. The registry can be updated simply by
double-clicking this file. It is wise to save the original registry key before
performing this operation.
In Windows XP:
Step 1. Select Start-Setting , and then click on Control Panel.
Step 2. In the Control Panel box, double-click Regional and Language
Options.
Step 3. On the Regional Options tab, under Standards and Formats, select
English (United States).
Step 4. Click Apply, then OK.
To change Default user settings:
Step 1. Select the Advanced tab from Regional and Language Options (as
above).
Step 2. Check the box for Default user account setting; apply all settings to
the current user account and to the default user profile.
Consult the OSR release notes for more information on known issues.

34

Chapter 5

Configuring MRCP ASR


Configuring OSR 3 ASR

Determining the Language in OSR 3


In OSR 3, the language is determined by the xml:lang attribute set in
the grammar document. The language for built-in grammars is set by
using a language parameter for the built-in URL in the VoiceXML page.
For instance, to use a built-in grammar for digits in French:
<field name="MEANING" type="boolean?language-=fr-FR">
Language Mapping
OSR provides a file %SWISRSDK%\config\generic\langtable.txt that
maps between different language codes. For instance, if the application
grammars contains xml:lang="es" and the users are of Latin American
origin, "es" could be mapped to Mexican Spanish by adding the line es
es-mx to langtable.txt. Restart SWMS for the changes to take effect.

Chapter 5

35

Configuring MRCP ASR


Nuance MRCP ASR

Nuance MRCP ASR


When the MRCP server is installed, the environment variable %MRCP% is
set to the installation directory. This variable is used in the following
sections when referring to file paths.

Watcher daemon
The Nuance watcher daemon is a process that can start, stop, and
supervise all the Nuance processes in the system. By configuring the
watcher daemon startup script, all the processes needed for an MRCP
ASR system can be started.
In general, the following processes need to be started in the system:

nlm the Nuance license manager

resource-manager

recserver

compilation-server

mrcp-server

These processes can be configured in a file such as


%MRCP%/watcher.startup, which is specified by the
watcher.DaemonStartupFilename command line parameter to the
Nuance Watcher daemon. Nuance has %MRCP%/watcher.startup as its
default configuration file, which has a demo license for two speech
channels and is ready to be used if only American English is required.

Language Configuration
To add another language, see the section "Configuring a multilingual
server" in the Nuance MRCP Server: Users Guide.
The Nuance engine will use the default language package in runtime for
grammar compilation and recognition if not explicitly set to another
language; it does not determine the language from the xml:lang
attribute in the grammar. The com.hp.mrcp.asrspeechlanguage
property can be used in the VoiceXML page to set the language. For
instance, to set French:

36

Chapter 5

Configuring MRCP ASR


Nuance MRCP ASR
<property name="com.hp.mrcp.asrspeechlanguage"
value="fr-FR"/>
This property can also be set on the service level in the OCMP-OM by
using the following procedure:
Step 1. In the OCMP-BRE OM, select List Services in the Service
Management drop down menu and choose the service.
Step 2. In the lower left corner, click Edit Service Properties.
Step 3. In the pop-up dialog, enter the name com.hp.mrcp.asrspeechlanguage
and enter the value of the appropriate language code.
Step 4. Press Close Window, then make sure to click Store in the service
definition view.

NOTE

The Nuance server still has to be configured for the language in question
as described in the Nuance MRCP Server: Users Guide.

Other Configurations
In the file %MRCP%/mrcp-config:

Make sure the property mrcp.RecognizerResource is set to match


the rtsp URL specified for this Audio Server on the OCMP-Base that
receives the call.

Verify that the property mrcp.RtspPort is set to match the rtsp URL
specified for this Audio Server on the OCMP-Base that receives the
call.

For example: if mrcp.RecognizerResource is set to recognizer and


mrcp.RtspPort is set to 554 then the rtsp URL for this server should be
configured on the OCMP-Base as
rtsp://<mrcpserver-hostname>:554/recognizer.
The following parameters should be set in nuance-resources.txt file
(default location):
C:\Nuance\v8.0.0\mrcp\audio.rtp.PlayPayloadSize=100
audio.rtp.PlaySilence=FALSE
Further information on the Nuance MRCP ASR can be found in the
Nuance MRCP Server: Users Guide.
Chapter 5

37

Configuring MRCP ASR


Nuance MRCP ASR

Semantic Interpretation in Nuance grammars


Nuance does not support the W3C draft on semantic interpretation, but
has chosen to use a proprietary language. Below are two examples on
how to use tags in grammars for Nuance.
Example for a simple result returning the value bar:
<tag><![CDATA[<nuanceSimpleResult "bar">]]></tag>
The string nuanceSimpleResult is a special keyword used in
OCMP-BRE to map the Nuance result to a simple result.
Example of a structured result returning the value bar in the variable
foo:
<tag><![CDATA[<foo "bar">]]></tag>
See the VoiceXML 2.0 Specification section 3.1.6 for more information on
simple and structured results.

Language Mapping
Nuance provides the file %MRCP%\mrcp-lang-map to map arbitrary
language codes to installed language resources. The encoding to be used
can also be defined in this file. For deatils, refer to the section "Using
mrcp-lang-map" in the Nuance MRCP Server 1.0 User's Guide.

Logging
For information on Nuance text logs, please refer to the section Logs on
page 59.

Configuration for Arabic


The Nuance recognizer only supports the GSL grammar format for
Arabic grammars, and the content type should be
application/x-nuance-gsl.
On Windows 2000, the following steps are required to set the locale
necessary for the Arabic language resource.
Step 1. In Control Panel | System | Advanced | Environment Variables ,
define the system variable LC_CTYPE and assign the value
Arabic_Jordan.1256

38

Chapter 5

Configuring MRCP ASR


Nuance MRCP ASR
Step 2. In Control Panel | Regional Options | General | Language
Settings for the system, select Arabic.
Step 3. Restart the server for the changes to take effect.
Step 4. Write GSL grammars using the encoding variable set to "1252".

NOTE

The above section only defines the Arabic particulars. The Nuance
MRCP Server still has to be prepared for the language resource in the
regular way as described in the section "Configuring a multilingual
server" in the Nuance MRCP Server: Users Guide.

Running Nuance MRCP ASR Server


After the configuration is complete, the MRCP service can be started in
one of two ways:

Starting the windows service Nuance Watcher Daemon (Control


Panel -> Administrative Tools -> Services)

Running the script %MRCP%/run-watcher.bat

Running the watcher as a Windows service is the preferred mode.


Make sure that all the required Nuance processes are started. This can
be done by checking the Watchers web interface
http://<asrhost>:7080, where the started process names nlm,
resource-manager, recserver, compilation-server and mrcp-server
should be present and with the state READY in green.

Chapter 5

39

Configuring MRCP ASR


Nuance MRCP ASR

40

Chapter 5

Configuring MRCP TTS


This section covers configuration for MRCP TTS.

Chapter 6

41

Configuring MRCP TTS


ScanSoft TTS RealSpeak Telecom 4.0

ScanSoft TTS RealSpeak Telecom 4.0


When the MRCP server SWMS is installed, the environment variable
%SWISVRSDK% is set to the SWMS installation. Likewise, the environment
variable %SSFTTTSSDK% is set to the RealSpeak 4.0 directory. These
variables are used in the following sections when referring to file paths.
Further information on the installation and configuration of the
ScanSoft Telecom RealSpeak MRCP TTS can be found in the ScanSoft
documents located in %SWISVRSDK%\doc and %SSFTTTSSDK%\doc.
The main configuration file to work with is
%SWISVRSDK%\config\OSSserver.cfg.
Follow the configuration steps below:
Step 1. Make sure that the URL matches the one specified in the Audio Server
at the OCMP-Base that receives the call. The URL here is the part after
the domain and port. The default is /media/speechsynthesizer.
Step 2. The property server.transport.port defines the port number that
should be configured for the Audio Server in OCMP-Base. The default is
4900.
Step 3. Define the TTS voice resources, and make sure the language codes are
set properly. Below is an example showing the configuration of three
different voices that respond to synthesis requests: Jill en, Jennifer
en-US, and Paulina es-MX:
server.realspeak4.language.0.ShortName VXIString en
server.realspeak4.language.0.FullName VXIString American
English
server.realspeak4.language.0.Voice VXIString Jill
server.realspeak4.language.0.Gender VXIString any
server.realspeak4.language.1.ShortName VXIString en-US
server.realspeak4.language.1.FullName VXIString American
English
server.realspeak4.language.1.Voice VXIString Jennifer
server.realspeak4.language.1.Gender VXIString any
server.realspeak4.language.2.ShortName VXIString es-MX
server.realspeak4.language.2.FullName VXIString Mexican

42

Chapter 6

Configuring MRCP TTS


ScanSoft TTS RealSpeak Telecom 4.0
Spanish
server.realspeak4.language.2.Voice VXIString Paulina
server.realspeak4.language.2.Gender VXIString any
Note that the properties of each voice must be numbered: in this
example, the properties for Jill, Jennifer and Paulina have the numbers
0, 1 and 2 respectively. All voices that are configured must also be
installed; that is, the configuration alone will not provide the desired
functionality.
a. The voice names and language codes should match those defined in
the OCMP-BRE; see the sections Configuring OCMP-BRE for ASR
on page 48 and Configuring OCMP-BRE for TTS on page 50.
b. Changes made to OSSserver.cfg will be effective after a restart of
the Windows service "SpeechWorks Media Server".
Step 4. Start the RealSpeak Telecom server by starting the Windows Service
"RealSpeak Host". When new voices are installed, you must restart this
service, and configure and restart the MRCP server as described in the
previous step.
See Chapter 4, Configuring OCMP-Base for ASR and TTS, on page 25
for more information on OCMP-Base Audio Servers.
For information on SWMS text logs, please refer to the section Logs on
page 59.

Chapter 6

43

Configuring MRCP TTS


Nuance Vocalizer 3.0 MRCP TTS

Nuance Vocalizer 3.0 MRCP TTS


This section describes how to run Nuance Vocalizer 3.0 from the Nuance
Watcher Daemon. When the MRCP server and Vocalizer are installed,
the environment variable %MRCP% is set to the MRCP server installation
directory, %NUANCE% is set to the Nuance installation directory, and
%VOCALIZER% is set to the Vocalizer installation directory. These
variables are used in the following sections to refer to file paths. Further
information on the Nuance MRCP TTS can be found in %MRCP%/doc,
%NUANCE%/doc and %VOCALIZER%/doc. There are two important
configuration files.
The first file to consider is the file specified as the
watcher.DaemonStartupFilename command line parameter to the
Nuance Watcher daemon. This can be found in the watchers web
interface at port 7080 and is normally located in
%MRCP%/watcher.startup. In this file there should be:

NOTE

A line starting the Nuance license manager for the MRCP Server:
nlm <licenseFilePath>

A line starting the MRCP Server: mrcp-server -cfg


%MRCP%/mrcp-config -config %MRCP%/nuance-resources.txt
config.ClapiConfigFile=%MRCP%/clapi_cfg.xml

A line starting the nuance license manager for the vocalizer: nlm
<license> e.g. nlm %VOCALIZER%/license.txt

There should be a line for each mode starting the Vocalizer itself:
%VOCALIZER%/\bin\win32\vocalizer.exe -voice persona name
-encoding <alaw-or-mulaw> tts.Port=32323 -dictionary_port
22552 -num_channels <NumChannels> -text_type SSML
lm.Addresses=localhost:8471 -voices_from_disk
config.LogFileRootDir=%MRCP%/mrcp/logs

If several Vocalizer voices are used, change the tts.Port and


dictionary_port arguments so they are unique for each voice.

The second file to consider is %MRCP%/mrcp-config.

44

Chapter 6

Configuring MRCP TTS


Nuance Vocalizer 3.0 MRCP TTS

Make sure the property mrcp.SynthesizerResource is set to match


the rtsp URL specified for this Audio Server on the OCMP-Base that
receives the call.

Verify that the property mrcp.RtspPort is set to match the rtsp URL
specified for this Audio Server on the OCMP-Base that receives the
call.

Make sure the property mrcp.TTSEngine is set to vocalizer for


Vocalizer 3.0.

For example: if mrcp.SynthesizerResource is set to synthesizer and


mrcp.RtspPort is set to 554, then the rtsp URI for this Audio Server as
configured on the OCMP-Base should be
rtsp://<hostname>:554/synthesizer. See Chapter 4, Configuring
OCMP-Base for ASR and TTS, on page 25 for more information on
OCMP-Base Audio Server configuration.
This is an example of a watcher.startup file that starts an MRCP
Server, a Vocalizer voice, and their license managers when Nuance is
installed under D:\:
nlm D:\Nuance\V8.5.0\license.txt
resource-manager -config %MRCP%/nuance-resources.txt
config.LogFileRootDir=D:/Nuance/V8.5.0/mrcp/logs
config.ClapiConfigFile=%MRCP%/clapi_cfg.xml
mrcp-server -package %MRCP%/mrcp -cfg %MRCP%/mrcp-config
-config %MRCP%/nuance-resources.txt
config.ClapiConfigFile=%MRCP%/clapi_cfg.xml
config.LogFileRootDir=D:/Nuance/V8.5.0/mrcp/logs
nlm D:/Nuance/Vocalizer3.0/license.txt
D:/Nuance/Vocalizer3.0/bin/win32/vocalizer.exe
tts.Port=32324 -voice reedjohnston -encoding mulaw -dbsize
medium -num_channels 1 -dictionary_port 22553 -text_type
SSML lm.Addresses=se01lab15:8471 -voices_from_disk
config.LogFileRootDir=D:/Nuance/V8.5.0/mrcp/logs
config.ClapiConfigFile=%MRCP%/clapi_cfg.xml
rm.Addresses=172.17.47.150
For information on Nuance text logs, please refer to the section Logs on
page 59.

Chapter 6

45

Configuring MRCP TTS


Nuance Vocalizer 3.0 MRCP TTS

46

Chapter 6

Configuring OCMP-BRE for


ASR and TTS
This section describes the configuration required in OCMP-BRE files to
run ASR and TTS.

Chapter 7

47

Configuring OCMP-BRE for ASR and TTS


Configuring OCMP-BRE for ASR

Configuring OCMP-BRE for ASR


The file <configdir>/ocmp_provider.xml must be configured to run
the MRCP ASR service.
The property with the name ocmp.asr.mrcpserver.<id> should be set
to a value that matches that of an Audio Service in the OCMP-Base
maintenance interface, see Chapter 4, Configuring OCMP-Base for ASR
and TTS. The id can have any kind of value and should be used to
properly describe the Audio Server. The id will show up as an identifier
in the OCMP-OM for an ASR resource that can be selected for a
VoiceXML service. This resource is managed by the OCMP-RM. Below is
an example where the id is set to ASR1 and the name of the OCMP-Base
Audio Server is rtsp://AudioServiceASR1. This is the default property
set in ocmp_provider.xml. Note that the default property is commented
out; that is, the XML comment characters must be removed to enable
this property:
<property>
<name>ocmp.asr.mrcpserver.ASR1</name>
<value>rtsp://AudioServiceASR1</value>
</property>
Note that the name of an Audio Service must start with the string
rtsp://
This property can be duplicated and modified if more than one ASR
resource is needed; for instance, if multiple Audio Services are used to
run ASR from different vendors.
The property ocmp.asr.warningtimeout defines the time in
milliseconds before a warning is issued in OMCP-BRE due to slow ASR
response.
The property ocmp.asr.maxrequestimeout defines the time in
milliseconds before a fatal exception is issued in OMCP-BRE due to slow
ASR response.
Do not edit the properties asr.subsystems, tts.subsystems, and
tel.subsystems.

48

Chapter 7

Configuring OCMP-BRE for ASR and TTS


Configuring OCMP-BRE for ASR
Verify that the properties, ipc.endpoint.occ, ipc.endpoint.opl,
ipc.endpoint.ore, ipc.endpoint.ott, and ipc.endpoint.oas all
point to the correct OCMP-Base host and port. The default port is 5003.
See the HP OpenCall Media Platform BRE Operations Guide for details
on OCMP-BRE configuration tasks not specifically related to ASR and
TTS.

Chapter 7

49

Configuring OCMP-BRE for ASR and TTS


Configuring OCMP-BRE for TTS

Configuring OCMP-BRE for TTS


The file <configdir>/ocmp_provider.xml must be configured to run
TTS.
Verify that there is a property ocmp.tts.mode.<mode-name> for all
modes to be used. The value must comply with the following pattern:
vendor,product name,voice name,gender,age
category,ISO-639-language-code,MRCP TTS
An example for the ScanSoft RealSpeak voice Jennifer follows:
<property> <name>ocmp.tts.mode.RealSpeak_Jennifer</name>
<value>ScanSoft,MRCP_RealSpeak,Jennifer,female,adult,en,MRCP
</value> </property>
The ISO-639-language-code field for ocmp.ttx.mode.<voicename> is
of particular importance. The language code used here should be the
same as the one used in the VoiceXML application. If the OCMP-BRE
loads a VoiceXML page with a language code not defined for any enabled
TTS voice, the VoiceXML exception error.unsupported.language will
be thrown and the call is terminated.
It is also important to note that the value of this field is sent to the
MRCP server. Thus it must match the language codes accepted by the
MRCP Server TTS. The MRCP servers commonly provide a means to
map several different language codes to the same TTS resource; see for
example the section ScanSoft TTS RealSpeak Telecom 4.0 on page 42
describing configuration of ScanSoft TTS. For instance, the MRCP server
can be configured to accept both en and en-US for a US English TTS
voice.
However, in order to provide support for this many to one mapping case
in the BRE layer, one would have to define two TTS modes potentially
using similar voice names but different language codes; for example, Jill
for en and Jill2 for en-US.
There is also the possibility to map the language code and sent to the
MRCP server using the properties
ocmp.tts.<mode-name>.MRCP-Speech-Language as described below.
Refer to ASR and TTS Language on page 11 for a condensed description
of the language code hierarchy in the OCMP system.

50

Chapter 7

Configuring OCMP-BRE for ASR and TTS


Configuring OCMP-BRE for TTS
The property ocmp.tts.modes can take on multiple values. This
property specifies the modes that should be used. These modes will be
shown in the OCMP-OM interface as TTS resources and will be managed
by the OCMP-RM. An example showing how to enable two modes,
Laurie and Reed:
<property name=ocmp.tts.modes>
<value>vocalizer_reed</value>
<value>vocalizer_laurie</value></property>
The property with the name ocmp.tts.mrcpserver should be set to a
value that matches the name of an Audio Service in the OCMP
maintenance interface; see Chapter 4, Configuring OCMP-Base for ASR
and TTS, for more information. The value can be anything, but must
start with the string rtsp:// and should be used to properly describe the
Audio Service, such as indicating that it is an Audio Service providing
TTS. This resource is managed by the OCMP-RM. Below is an example
where the name of the OCMP-Base Audio Service is
rtsp://AudioServiceTTS1. This is the default property setting.
<property name="ocmp.tts.mrcpserver">
<value>rtsp://AudioServiceTTS1</value></property>
This property defines the default Audio Service for all TTS modes.
However, a mode can specify which Audio Service to use, overriding the
default, if for example more than one Audio Service is running for TTS
usage. This can be achieved as shown in the following example
<property><name>ocmp.tts.mrcpserver.RealSpeak_Jennifer</name
> <value>rtsp://AudioServiceRealSpeakTTS</value> </property>
Properties of the form ocmp.tts.<mode-name>.MRCP_Speech-Language
can be used to bridge differences in language codes as used in the
application and the mode specification, and as required by the TTS
engine. Consequently, the value of this property will override the
language code used in the mode specification. For instance, if the
application and the mode specification defines the language en for the
voice RealSpeak Jennifer, then the below property specification would
instead specify en-US to the engine.
<property><name>ocmp.tts.RealSpeak_Jennifer.MRCP_Speech-Lang
uage</name> <value>en-US</value> </property>
Do not edit the properties asr.subsystems, tts.subsystems, and
tel.subsystems.

Chapter 7

51

Configuring OCMP-BRE for ASR and TTS


Configuring OCMP-BRE for TTS
Verify that the properties ipc.endpoint.occ, ipc.endpoint.opl,
ipc.endpoint.ore, ipc.endpoint.ott, and ipc.endpoint.oas all
point to the correct OCMP-Base host and port. The default port is 5003.
See the OpenCall Media Platform - BRE Operations Guide for details on
OCMP-BRE configuration tasks not specifically related to ASR and TTS.

52

Chapter 7

Troubleshooting
This section provides information on how to troubleshoot an OCMP
system running ASR and TTS.

Chapter 8

53

Troubleshooting
General Troubleshooting

General Troubleshooting
If the ASR or TTS does not work, check the items below for some common
types of errors. The items are not ordered since the error may be of
different types; that is, configuration, installation, or application errors.

Do calls not requiring ASR and TTS work? This would indicate an
error specific to the ASR and TTS usage if the call is running on the
same set of OCMP servers.

In the OCMP-OM (http://<ocmp-om-host>:5000/om), check the


CDRs for information on the call flow and VoiceXML exceptions,
warnings, and severes to see if there is any information on ASR- or
TTS-related errors.

Is the MRCP server started? If the ASR or TTS runs in client server
mode, then also check if the back-end server is started. For instance,
in the case of Nuance, the watcher web interface at
http://<host>:7080 can be used to verify that all the required
processes are started.

A possible source of errors is the communication between


OCMP-Base and the MRCP Server. Check this in the OCMP-Base
management interface http://<ocmp-host>:4242. The view
External Resources | ASR/TTS Resources lists the configured
Audio Services. Clicking on a server provides a status view. One
possible reason for failure may be that the server URI does not
match the required URI of the MRCP Server:
Is the server name correctly configured?
Is the port number the same as the number configured on the MRCP
server?
Is the path the correct one? The path varies from vendor to vendor;
see Chapter 5, Configuring MRCP ASR, and Chapter 6,
Configuring MRCP TTS.

54

For OCMP-VoiceXML, in <config-dir>/ocmp_provider.xml: are


the mrcpserver properties for ASR or TTS correctly configured and
pointing to valid OCMP-Base hosts? Are the TTS modes correctly
configured?

Chapter 8

Troubleshooting
General Troubleshooting

Chapter 8

If it seems that the communication between the different parts of the


system is up and running but the ASR or TTS fails for some reason,
error reports in OCMP-OM commonly suggest that the language is
not supported (by the ASR for example). If this is the case, check that
the language codes are configured in a consistent way throughout the
system and that the MRCP server is actually installed and
configured to support the requested language.

If it seems that the communication between the different parts of the


system is up and running but the ASR fails, error reports in
OCMP-OM or ASR logs commonly suggest that the grammar can not
be compiled. In this case, verify that the grammar is correctly
formatted.

55

Troubleshooting
Configuration Dependencies - Checklist

Configuration Dependencies - Checklist


Throughout this document, configuration dependencies have been
described. Below is a checklist that may be helpful in troubleshooting the
platform for configuration errors when running ASR and TTS.

OCMP-BRE: properties in ocmp_provider.xml using the suffix


mrcpserver, for example:
<property name="ocmp.tts.mrcpserver.TTS1">
<value>rtsp://AudioServerTTS1</value>
</property>
must match one of the listed Audio Servers in OCMP-Base at
http//<ocmp-base-host>:4242 | External Resources |
ASR/TTS Resources.

OCMP-BRE: language codes in the tts modes, for example:


<property>
<name>ocmp.tts.mode.RealSpeak_Jennifer</name>
<value>ScanSoft,MRCP_RealSpeak,Jennifer,female,adult,en,
MRCP</value>
</property>
should match the value of the xml:lang in the VoiceXML application
in the vxml or prompt elements, for example:
<prompt xml:lang=en>Hello world</prompt>

OCMP-BRE: in ocmp_provider.xml, the names of activated modes,


for example:
<property>
<name>ocmp.tts.modes</name>
<value>RealSpeak_Jennifer</value>
</property>
must match the name of one or more of the modes
<property>

56

Chapter 8

Troubleshooting
Configuration Dependencies - Checklist
<name>ocmp.tts.mode.RealSpeak_Jennifer</name>
<value>ScanSoft,MRCP_RealSpeak,Jennifer,female,adult,en,
MRCP</value>
</property>

OCMP-BRE: in ocmp_provider.xml, the endpoint properties, for


example ipc.endpoint.cc:
<property>
<name>ipc.endpoint.occ</name>
<value>MyOcmpServer:5003</value>
</property>
must match the name of one or more of the available OCMP-Base
servers and use the configured port.

OCMP-Base: The port number in the URI of an Audio Server,


http//<ocmp-base-host>:4242 | External Resources |
ASR/TTS, click the relevant Audio Server name:
Server URI:
rtsp://<MyMRCPServer>:4900/media/speechrecognizer
must match the configured port on the MRCP server. For instance,
for the ScanSoft SWMS, this value is set in %SWISVRSDK%/config/
OSSserver.cfg: server.transport.portVXIInteger 4900

OCMP-Base: The path in the URI of an Audio Server,


http//<ocmp-base-host>:4242 | External Resources |
ASR/TTS, click the relevant Audio Server name:
Server URI:
rtsp://<MyMRCPServer>:4900/media/speechsynthesizer
must match the path defined for the MRCP server. For instance, for
the SWMS used for RealSpeak this value is set in the file
%SWISVRSDK%/config/OSSserver.cfg

OCMP-OM: In the service management views accessed from


http://<ocmp-om-host>:5000/om , the Numbers field of a service,
for example:
Numbers: 1234567

Chapter 8

57

Troubleshooting
Configuration Dependencies - Checklist
must match one of the numbers configured in the OCMP-Base. In
http//<ocmp-base-host>:4242 | Services, press View/Modify
for VoiceXML_enabler:
Service Addresses: 1234567

58

Chapter 8

Troubleshooting
Logs

Logs
The different MRCP servers, as well as ASR and TTS components,
provide a number of logs which are valuable for finding errors.

Nuance processes write log files if the parameter


config.LogFileRootDir is given a value on the corresponding line
in the watcher.startup file. This property also specifies the log
directory. The logging level can set in the same file by means of the
parameter config.LoggingLevel which can take on one of the
values NO_LOGGING, FATAL, ERROR, WARN, USER_ERROR,
USER_WARN, STATUS, INFO, D_INFO or VD_INFO. The logging level
can also be dynamically changed via the watcher web interface

ScanSoft SWMS logs to the directory %SWISVRSDK%/logContent.


Logging of various categories can be switched on setting one or more
of the properties shown below in the SWMS configuration file
OSSserver.cfg. In this example all log categories are switched on:
# Low level network interface and message dispatching logging
server.log.diagTag.2000 VXIInteger 1
server.log.diagTag.2001 VXIInteger 1
# Session level logging
server.log.diagTag.3000 VXIInteger 1
server.log.diagTag.3001 VXIInteger 1
# OpenSpeech Recognizer and SpeechPearl support components
server.log.diagTag.6000 VXIInteger 1
server.log.diagTag.6001 VXIInteger 1
# OSSinet component
server.log.diagTag.8000 VXIInteger 1
# OSScache component
server.log.diagTag.9000 VXIInteger 1
# RealSpeak
server.log.diagTag.10000 VXIInteger 1
server.log.diagTag.10001 VXIInteger 1

Chapter 8

59

Troubleshooting
Logs

OSR event logs are found in the subdirectories of %SWISRSDK%/data,


and the traces are located in %SWISVRSDK%/trc.log (default
locations that can be configured). %SWISVRSDK%/trc.log is very
useful when looking for errors at the ASR level; for example, failures
to compile or load grammars.

The OCMP platform provides the following sources. The level of detail
depends on configurations in the platform; see the HP OpenCall Media
Platform - BRE Operations Guide for more information:

60

OCMP-OM: CDRs can be viewed in the OCMP-OM management


interface at http://<om-host>:5000/om. Select Call Management
| Recent calls and click in the CDR column of the call to be
analyzed.

OCMP-BRE logs to disk; see HP OpenCall Media Platform - BRE


Operations Guide for more information.

OCMP-Base logs to /var/tmp/OCMP/ocmpcore.log on on HP-UX


and to /var/tmp/OC/ocmpcore.log. on Linux.

Chapter 8

Vous aimerez peut-être aussi