Sunteți pe pagina 1din 207

VoiceObjects 11

Deployment Guide

VoiceObjects 11

Deployment Guide VoiceObjects 11.1 To ensure that you are using the documentation that corresponds to the VoiceObjects software you are licensed to use, compare this version number with the software version shown in the Help menu of the VoiceObjects software you are using.

Copyright Copyright 2001-2011 Voxeo Germany GmbH and its licensors. All rights reserved. Published in Germany Legal information 2011 Information in this document is subject to change without notice and does not represent a commitment on the part of Voxeo or any of its affiliated companies (collectively Voxeo). The software described in this document is furnished solely under a license agreement. The software may be used or copied only in accordance with the terms of the license agreement. You shall not reverse engineer the software or sub-license, distribute or make the software available to third parties by other means except as specifically allowed in the license agreement or by mandatory law. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying and recording, for any purpose, without the express written permission of Voxeo. Protected by German, European and US patents. Further patents pending. Companies, names, and dates used in examples herein are fictitious unless otherwise noted. If such names affect copyrights or trademarks or others, please notify Voxeo by e-mail at support@voxeo.com.

Trademarks VoiceObjects is a registered trademark. Any other trademarks, trade names or service marks mentioned in this document belong to their respective owners. The material presented herein is based upon information that we consider reliable, but we do not represent that it is error-free and complete. Voxeo is not making any representation or granting any warranty with respect to such material, and the distribution of such material shall not subject Voxeo to any liability.

Third-Party Products If Licensed Products are distributed together with third-party software or if this is contained in the Licensed Products, which are subject to additional license provisions, Licensee undertakes to observe the license provisions of the third party.

Explicit Copyright Notice The VoiceObjects software includes software developed by the Apache Software Foundation (www.apache.org). Copyright 1999-2011 The Apache Software Foundation. All rights reserved. Java and all Java-related trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S., other countries, or both. Specific versions of the VoiceObjects software contain copyright material authorized by the Eclipse Foundation (www.eclipse.org), their contributors and others. All rights reserved. Specific versions of the VoiceObjects software work with Microsoft Excel or make use of copyright material from Microsoft Corporation (www.microsoft.com). All rights to such copyright material rest with Microsoft. Microsoft and Excel are registered trademarks of Microsoft Corporation. The VoiceObjects software is bundled with the software NuGram IDE Basic Edition developed by Nu Echo Inc. (www.nuecho.com). All title and copyrights in and to the software NuGram IDE Basic Edition, the accompanying printed materials, and any copies of the software are owned by Nu Echo Inc. and its suppliers.

Document Number: E-009-20111215-VO11

Copyright 2001-2011 Voxeo Germany GmbH

VoiceObjects 11

Table of Contents
TABLE OF CONTENTS ................................................................................................... 3 ABOUT THE DEPLOYMENT GUIDE .................................................................................. 8 Organization of the Deployment Guide ................................................................ 8 Typographical Conventions .................................................................................. 8 Feedback and Questions ...................................................................................... 9 1DEPLOYMENT ARCHITECTURE ................................................................................. 10 2CONFIGURING SERVERS AND SERVICES ................................................................... 13 Configuring a Server ........................................................................................... 13 Configuring a Service ......................................................................................... 16 Application parameters .................................................................................. 17 Communication parameters .......................................................................... 18 Logging parameters ....................................................................................... 20 Default parameters ........................................................................................ 23 Proxy parameters .......................................................................................... 29 Deploying a Service on a Server ........................................................................ 31 3MANAGING SERVERS AND SERVICES ....................................................................... 32 Control Center .................................................................................................... 32 Desktop for Eclipse Control Center ............................................................... 32 Desktop for Web Control Center ................................................................... 33 Control Center communication ...................................................................... 34 Server Manager Overview .................................................................................. 34 Server Management ........................................................................................... 35 Server statistics ............................................................................................. 35 Server context menu ..................................................................................... 36 Server details ................................................................................................. 40 Server Instance Management ............................................................................ 41 Server instance statistics ............................................................................... 41 Server instance context menu ....................................................................... 42 Server instance details .................................................................................. 43 Service Manager................................................................................................. 44 Service statistics ............................................................................................ 47 Service context menu .................................................................................... 48 Service details ............................................................................................... 52 Maintenance Operations..................................................................................... 54 Take a machine out of a cluster .................................................................... 54 Bring a machine back into a cluster .............................................................. 55

Copyright 2001-2011 Voxeo Germany GmbH

VoiceObjects 11

Add a new machine to a cluster .................................................................... 55 Change the VSN of a service ........................................................................ 55 Cluster split-up ............................................................................................... 56 Database maintenance.................................................................................. 56 4SERVICE DEPLOYMENT ........................................................................................... 58 Permanent and Temporary Deployment ............................................................ 58 Deploy an application permanently ............................................................... 58 Deploy an application temporarily ................................................................. 59 Media Platform Setup ......................................................................................... 59 Direct URL connection................................................................................... 59 Static markup ................................................................................................. 60 Service URL Configuration ................................................................................. 62 Service URL parameters ............................................................................... 63 Application Defaults ............................................................................................ 65 Dialog Exit Type.................................................................................................. 66 Connection Test.................................................................................................. 67 Debug Viewer ..................................................................................................... 68 Start a Debug Viewer session ....................................................................... 69 How to step through a dialog session ........................................................... 71 Phone Simulator ................................................................................................. 75 Start a Phone Simulator session ................................................................... 75 Navigate in the Phone Simulator ................................................................... 76 5LOGGING AND TRACING .......................................................................................... 79 Server Logs ........................................................................................................ 79 Service Logs ....................................................................................................... 80 Session Tracing .................................................................................................. 81 Trace Viewer ....................................................................................................... 82 6RECORDING OF UTTERANCES .................................................................................. 87 Introducing Utterance Recording ........................................................................ 87 Use cases ...................................................................................................... 87 Quick start...................................................................................................... 88 Setting up Utterance Recording for a Service .................................................... 88 Server configuration file definition ................................................................. 88 Full duplex call recording ............................................................................... 89 User object definition ..................................................................................... 89 Server object definition .................................................................................. 90 Service object definition................................................................................. 91 Defining What to Record..................................................................................... 95 Plug-in object ................................................................................................. 97

Copyright 2001-2011 Voxeo Germany GmbH

VoiceObjects 11

How the Recordings are Stored ......................................................................... 98 Construct the base path ................................................................................ 98 The subfolder structure.................................................................................. 99 The filename structure ................................................................................. 100 Failure to store a recording.......................................................................... 101 Collected Data in Infostore ............................................................................... 101 Example Setups................................................................................................ 102 Static, unfiltered utterance recording in a single-tenant environment ......... 102 Static, filtered utterance recording in a multi-tenant environment ............... 103 Time-dependent, filtered utterance recording in a single-tenant environment103 7COMMAND LINE INTERFACE (CLI) .......................................................................... 105 How to Start the Command Line Interface (CLI) .............................................. 105 Windows ...................................................................................................... 105 Linux / Unix .................................................................................................. 105 Commands ....................................................................................................... 105 Server .......................................................................................................... 106 Server instance ............................................................................................ 109 Service ......................................................................................................... 110 XML Output Format .......................................................................................... 111 Query result ................................................................................................. 111 Command result .......................................................................................... 119 8NOTIFICATIONS ..................................................................................................... 122 Configuration .................................................................................................... 122 Enable the notification feature ..................................................................... 122 Configure SNMP trap receivers ................................................................... 123 Configure e-mail receivers........................................................................... 125 Assignment of categories to notifications .................................................... 129 Traps ................................................................................................................. 133 Java Management Extensions (JMX) ............................................................... 141 Server Information ....................................................................................... 142 Service Information ...................................................................................... 142 Cache Information ....................................................................................... 143 Queue Information ....................................................................................... 143 9SERVICE LEVEL AGREEMENTS (SLA) .................................................................... 145 Using Session Partitioning ................................................................................ 145 Configuring Session Partitioning ...................................................................... 145 Site............................................................................................................... 146 Server .......................................................................................................... 146 Service ......................................................................................................... 147

Copyright 2001-2011 Voxeo Germany GmbH

VoiceObjects 11

Applying Session Partitioning ........................................................................... 147 Session guarantees ..................................................................................... 148 Session limits ............................................................................................... 149 Session distributions .................................................................................... 150 Monitoring Session Partitioning ........................................................................ 150 Control Center ............................................................................................. 151 Web Services Interface ............................................................................... 153 Notifications ................................................................................................. 153 Infostore ............................................................................................................ 153 10MESSAGING SUPPORT......................................................................................... 154 Architecture ....................................................................................................... 154 Configuration ............................................................................................... 155 SMS (Clickatell XML API) ................................................................................. 155 Configuration ............................................................................................... 156 Service mapping .......................................................................................... 157 Dialog mapping ............................................................................................ 157 Clustered environment ................................................................................ 157 Skype ................................................................................................................ 157 Configuration ............................................................................................... 157 Service mapping .......................................................................................... 157 Dialog mapping ............................................................................................ 158 Windows Live Messenger ................................................................................. 158 Configuration ............................................................................................... 158 Service mapping .......................................................................................... 158 Dialog mapping ............................................................................................ 158 Infostore ............................................................................................................ 159 A MEDIA PLATFORM DRIVERS ............................................................................... 160 B CONTROL CENTER REPORTS ............................................................................. 197 Report View ...................................................................................................... 197 Server Reports .................................................................................................. 198 Number of Sessions .................................................................................... 198 Sessions by Instance................................................................................... 198 Sessions by Service .................................................................................... 198 Session Duration ......................................................................................... 199 Session Status ............................................................................................. 199 Server Instance Reports ................................................................................... 199 Number of Sessions .................................................................................... 199 Sessions by Service .................................................................................... 200

Copyright 2001-2011 Voxeo Germany GmbH

VoiceObjects 11

Session Duration ......................................................................................... 200 Session Status ............................................................................................. 200 Memory Usage ............................................................................................ 200 Queue Usage .............................................................................................. 201 Cache Usage ............................................................................................... 201 Service Reports ................................................................................................ 201 Number of Sessions .................................................................................... 201 Session Duration ......................................................................................... 201 Session Status ............................................................................................. 202 Business Tasks ........................................................................................... 202 C VIRTUAL CONTROL CENTER ............................................................................... 203 Setting up a Virtual Control Center ................................................................... 203 Prerequisites ................................................................................................ 203 Configuration ............................................................................................... 203 Using a Virtual Control Center .......................................................................... 206 Virtual Control Center process .................................................................... 206 Control Center connection ........................................................................... 207

Copyright 2001-2011 Voxeo Germany GmbH

About the Deployment Guide Organization of the Deployment Guide


VoiceObjects 11

About the Deployment Guide


This Deployment Guide contains detailed information on how to configure and manage servers and services, how to set up the communication with the media platform, and how to monitor servers.

Organization of the Deployment Guide


This Deployment Guide consists of the following chapters: Chapter 1 Deployment Architecture explains the core architecture of the VoiceObjects platform. Chapter 2 Configuring Servers and Services describes how to configure new servers and services. Chapter 3 Managing Servers and Services describes how to manage existing servers and services from within the Control Center. Chapter 4 Service Deployment explains how to configure the communication between the media platform and the server, and how to dynamically configure services. Chapter 5 Logging and Tracing describes how to use the advanced logging and tracing capabilities of VoiceObjects Server. Chapter 6 Recording of Utterances explains how the feature of utterance recording is set up and made use of in a voice application. Chapter 7 Command Line Interface (CLI) describes the deployment and monitoring of servers and services from a terminal console. Chapter 8 Notifications describes how to monitor servers and services through SNMP and e-mail notifications. Chapter 9 Service Level Agreements (SLA) describes how to configure and use session partitioning to enable multi-tenant Service Level Agreements. Chapter 10 Messaging Support describes the adapter approach of VoiceObjects to support text messaging from various communication devices. Appendix A Media Platform Drivers lists the legal values for the driver parameters for all supported media platforms. Appendix B Control Center Reports describes the pre-configured reports integrated into the Control Center to allow for easy access and convenient monitoring of system performance on multiple levels. Appendix C Virtual Control Center describes how to set up and use the Virtual Control Center component for consolidated monitoring and managing of multiple VoiceObjects installations as an integrated unit.

Typographical Conventions
This document contains the following typographical conventions: Italic Font Used to indicate names of applications, projects, objects, variables, files, and folders; output text, and book titles.

Copyright 2001-2011 Voxeo Germany GmbH

About the Deployment Guide Feedback and Questions


VoiceObjects 11

Bold Font

Used to indicate any screen terminology like names of windows, worksheets, editors, sections, boxes, tabs, fields, and menus. Used for grammar code.

Courier New

All path specifications in this document use slashes (/) to apply to both Linux and Windows. If you work on Windows you may also use backslashes (\).

Feedback and Questions


If you have any comments on this document please send your feedback to support@voxeo.com. If you have technical difficulties please contact your local VoiceObjects administrator or if you have a valid software support and maintenance contract in place send an email describing your problem to support@voxeo.com.

Copyright 2001-2011 Voxeo Germany GmbH

Deployment Architecture
VoiceObjects 11

1 Deployment Architecture
A VoiceObjects Server is a logical entity that is represented by an object in the VoiceObjects Metadata Repository. Multiple physical machines can run one or more server instances that each implement this logical entity. All of the instances derive their configuration, including the set of hosted services, from the central Metadata Repository. This approach enables the simple and transparent management of both single-machine installations and large server clusters from a unified Control Center, both locally and remotely. A server reads the definitions of the services it hosts from the VoiceObjects Metadata Repository at start time, or whenever an individual service is redeployed. At call time, the server then dynamically creates markup code from its internal memory cache without accessing the database system.

Copyright 2001-2011 Voxeo Germany GmbH

10

Deployment Architecture
VoiceObjects 11

VoiceObjects uses a server/service paradigm for the deployment of phone services. There can be multiple servers, and each of them can run multiple services. In a modern three-tier architecture, VoiceObjects Server assumes the middle role between the media platform, which connects directly to the telephony network, and the backend, which provides customer data, dynamic content, etc. As such it also is the link between the telephony world on the one hand and the web-centric IT world on the other hand. VoiceObjects supports multiple phone channels including voice (which covers both speech and DTMF input), video, text (USSD), and Web. Within each of these channels, different browsers for the corresponding markup (VoiceXML for voice and video; various XML markups for text; XHTML for Web) are supported using the media platform driver concept. In order to achieve failover capabilities or serve large numbers of sessions, VoiceObjects supports clustering using standard IP-based load balancing. The diagram below shows a typical clustered installation.

Copyright 2001-2011 Voxeo Germany GmbH

11

Deployment Architecture
VoiceObjects 11

Associated with each server instance is a component called server manager. It acts as a supervisor for the various server processes running on the various machines in the cluster network, and provides the link between the server and the Control Center within VoiceObjects Desktop. This makes it possible to administrate multiple logical server clusters from a single Control Center, both locally and remotely. At any given time, one of the server managers operates in master mode while all the others in the same cluster operate in inactive mode. If the machine that the master server manager runs on should fail then one of the inactive server managers automatically takes over. The server manager operating in master mode is responsible for overall cluster management, which includes tasks such as administration of application caches and license management. Tip: When starting multiple server instances in a cluster setup, we recommend doing it in sequence, and to wait until one instance has started completely before starting the next one. By default, VoiceObjects Server is configured to run in local cluster mode (for more information see Cluster mode in Chapter 1 Advanced Configuration of VoiceObjects in the Administration Guide). In this mode, each individual physical machine has its own master server manager. This setup is useful for local development and testing that is not intended to disturb other installations within the same network. For real cluster deployments, the cluster mode needs to be set to network either during the installation process or as explained in the Administration Guide.

Copyright 2001-2011 Voxeo Germany GmbH

12

Configuring Servers and Services Configuring a Server


VoiceObjects 11

2 Configuring Servers and Services


This chapter explains how to configure servers and the services to run on them within VoiceObjects Desktop.

Configuring a Server
To configure a new server, do the following: In the Object Palette, open the Configuration folder and double-click Server. The Server editor will open up in the editor area. In Desktop for Web you open up the Server editor by selecting Configure New Server from the Tools menu. Note that creating new Server objects requires a controller or administrator role.

Enter a name for the new Server object in the Name field at the top of the editor window. The Configuration Parameters section contains the following fields: Reference ID Specifies the reference ID of the server. Note that in order for the installation to work properly, the reference ID specified here needs to be identical with the <servername> specified in the VOServer_Configuration.xml file. The default value entered by the installer is VOServer, which corresponds to the default value for a new Server object. For more information see Server name in Chapter 1 Advanced Configuration of VoiceObjects in the Administration Guide. This parameter is mandatory.

Copyright 2001-2011 Voxeo Germany GmbH

13

Configuring Servers and Services Configuring a Server


VoiceObjects 11

Caution: Only alphanumeric characters (a-z, A-Z, 0-9) and underscores are allowed. No special characters like blanks, ?, !, %, <, > etc., and no characters coming from character sets other than ISO-8859-1 can be used. Note that the ID is not case-sensitive, so you cannot have two reference IDs in your project that only differ in case. Caution: Never change this value for a server that has active server instances. In particular, never change this value in an operational deployment environment. Service outages may occur as a result. Session guarantee Specifies the guaranteed number of concurrent dialog sessions available to this server. Guaranteed sessions are set aside in a separate pool that can only be accessed by the respective server. This ensures that the session partitioning defined for a specific server can be met. For more information see Chapter 9 Service Level Agreements (SLA). Note that if the number of guaranteed sessions specified here exceeds the number of available sessions licensed for the VoiceObjects installation, it is limited accordingly. This parameter is optional. If it is not defined, no guaranteed number of concurrent sessions is set aside for this server. To activate changes made to the session guarantee, the server needs to be reset. Session limit Specifies the maximum number of concurrent dialog sessions available on this server. If this number is reached, then additional attempts to create a dialog session for any service hosted on this server are rejected. In this case, the caller hears or sees a configurable message indicating that the service is currently not available. Once the number of concurrently active sessions drops below the limit, new calls are accepted again. For more information see Chapter 9 Service Level Agreements (SLA). This parameter is optional. If it is not defined, the maximum number of concurrent sessions for this server coincides with the number of concurrent sessions licensed for the VoiceObjects installation. To activate changes made to the session limit, the server needs to be reset. Control Center URL Specifies the URL to be used to access the Control Center for this server. Typically, it is of the form http://server:port/VoiceObjects/Services/WSProvider?wsdl. To simplify configuration, a default value for localhost is provided. In a cluster configuration, the URL may point to any available server instance in the cluster. Caution: This value is crucial to be able to open the Control Center for a server. Certificate URL Specifies the path to a SSL certificate, which is used for authentication if the Control Center URL defined above uses an HTTPS connection. The path can either be defined by using the HTTP or file protocol. Testing URL Specifies the URL to be used to initiate Debug Viewer or Phone Simulator sessions for this server. Typically, it is of the form http://server:port/VoiceObjects/. To simplify configuration, a default value for localhost is provided. For a change to take effect, the Control Center must be closed and re-opened.

Copyright 2001-2011 Voxeo Germany GmbH

14

Configuring Servers and Services Configuring a Server


VoiceObjects 11

Enable System DB logging Indicates whether System DB logging is enabled for this server. If it is disabled, individual service settings are overridden and dialog statistics are not logged to the Infostore Repository. In addition, attempts by Log objects to write to the destination System DB are ignored. This setting can be overridden from within the Control Center. By default, this check box is selected. Note that System DB logging is only available if Infostore is licensed. Enable Custom DB logging Indicates whether Custom DB logging is enabled for this server. If it is disabled, individual service settings are overridden and attempts by Log objects to write to the destination Custom DB are ignored. This setting can be overridden from within the Control Center. By default, this check box is selected. Note that Custom DB logging is only available if Infostore is licensed. Enable utterance recording Indicates whether utterance recording is enabled for this server. If it is disabled, individual service settings are overridden and no utterance recording files are created.

In the Hosted Services section the set of services that are hosted on this server is listed. See Configuring a Service for more details. Tip: In a server farm scenario, it is necessary to use IP-based load balancing in between the media platform and the server farm. Depending on the specific needs, either hardware-based or software-based load balancers can be used. Refer to the documentation of the respective products for more information on their configuration. More information can also be found in Appendix A Sizing and Configuration Recommendations in the Administration Guide. Note: If a Server object has been locked by some other user, neither its settings (including its reference ID) nor the list of hosted services can be modified. The Server object first needs to be unlocked. For more information on the locking and unlocking of objects, refer to Chapter 7 Basic Commands in the Desktop for Eclipse Guide or Desktop for Web Guide.

Copyright 2001-2011 Voxeo Germany GmbH

15

Configuring Servers and Services Configuring a Service


VoiceObjects 11

Configuring a Service
To configure a new service, do the following: In the Object Palette, open the Configuration folder and double-click Service. The Service editor will open up in the editor area. In Desktop for Web you open up the Service editor by selecting Configure New Service from the Tools menu. Note that creating new Service objects requires a controller or administrator role.

Enter a name for the new Service object in the Name field at the top of the editor window. There are four sections to specify application parameters, communication parameters, logging parameters, and default parameters. To activate changes made to these settings, the service needs to be redeployed. See Service Manager in Chapter 3 Managing Servers and Services for details.

Copyright 2001-2011 Voxeo Germany GmbH

16

Configuring Servers and Services Configuring a Service


VoiceObjects 11

Application parameters Application parameters specify the basic behavior of the service including the start object of the application, the language, and the input mode.

The Application Parameters section contains the following fields: Start object Specifies the start object of the application associated with this service. Typically, this is a Module object. When the service is requested by the media platform at call time, the start object is processed, initiating the dialog flow enclosed within it. For XDK applications, the start object may be defined using a URL pointing to a start object within an XDK file, e.g. http://myserver/PrimeInsurance.xml#rootModule. The reference ID of the object must be used to identify it, not the name. to the right of the Start object In Desktop for Web, the Context Menu button field is only available when working within a project. This parameter is mandatory. Language Specifies the initial language the service runs in. This parameter can be overwritten at call time by passing the parameter vsLanguage in the initial URL request from the media platform that initiates the dialog. See Service URL Configuration in Chapter 4 Service Deployment for details. The default setting Default indicates that the default language specified for the driver is used. If no default language is specified for the driver the default language specified for the server is used. For more information on the server default language see the Installation Guide. Appendix A Language Codes in the Object Reference contains a list of all language codes available in VoiceObjects together with the respective language they represent. Input mode Specifies the initial active input mode for the dialog. This parameter can be overwritten at call time by passing the parameter vsInputMode in the initial URL request from the media platform that initiates the dialog. See Service URL Configuration in Chapter 4 Service Deployment for details. Voice indicates that caller input can only be made by voice. DTMF indicates that caller input can only be made by DTMF. Voice+DTMF indicates that caller input can be made by either voice or DTMF. The default setting is Voice+DTMF. Caution: When changing the input mode to either Voice or DTMF you need to make sure that you specify the required grammars and outputs for the respective input modes.

Copyright 2001-2011 Voxeo Germany GmbH

17

Configuring Servers and Services Configuring a Service


VoiceObjects 11

When working in text-based channels, the input mode is automatically set to Voice through a switch in the corresponding driver definition. Enable validation Indicates whether the server should validate the integrity of the application when loading the service either upon start-up or when the service is redeployed. It is strongly recommended to enable validation in order to detect application problems. This also enables the automatic safeguard capabilities, which leave a deployed application intact instead of replacing it with a broken one. By default, this check box is selected. Caution: If this check box is clear, applications may be deployed that fail at call time due to structural problems. Retain caches on shutdown Indicates whether the active and restore caches for this service should be retained even when the server is completely shut down. If selected, the application definition is not newly loaded when the server starts up the next time, but instead restored from the persisted cache in the Metadata Repository. This option is particularly relevant for volatile services that can be created using the Web Services Interface. For more details, refer to the Web Services Guide. By default, this check box is clear. Note: When changing this setting on a service that is already deployed on a server, it is necessary to redeploy the service to activate the change. This is true both when activating the retain option (to create the retained caches) as well as when deactivating it (to remove the retained caches). Communication parameters Communication parameters provide the essential information to connect the media platform to the server including the service name, and the media platform driver to be used. Depending on a users role, this section may be inaccessible.

The Communication Parameters section contains the following fields: VSN (reference ID) VoiceObjects Service Name. Specifies the unique name of the service. The VSN can be used to identify a service when initiating it by means of an HTTP request from the media platform. See Service URL Configuration in Chapter 4 Service

Copyright 2001-2011 Voxeo Germany GmbH

18

Configuring Servers and Services Configuring a Service


VoiceObjects 11

Deployment for details. Caution: Only alphanumeric characters (a-z, A-Z, 0-9) and underscores are allowed. No special characters like blanks, ?, !, %, <, > etc., and no characters coming from character sets other than ISO-8859-1 can be used. Note that the ID is not case-sensitive, so you cannot have two reference IDs in your project that only differ in case. Caution: Note that the VSN must not end in either _shadow or _inactive, as the server uses these strings internally. This parameter is mandatory. Note: For information on how to change the VSN of a deployed service see Maintenance Operations in Chapter 3 Managing Servers and Services. DNIS mapping Specifies a comma-separated list of phone numbers that are mapped to this service. See Service URL Configuration in Chapter 4 Service Deployment for details. This parameter is optional. Startup mode Specifies what is to be done with this service when a server hosting it is started. Automatic indicates that the service is started together with the server. Manual indicates that the service is not started together with the server, and shows up in the list of hosted services as stopped. Disabled indicates that the service is not started together with the server, and shows up in the list of hosted services as disabled. The default setting is Automatic. Cache standby Specifies whether the cache for this service may dynamically be dropped from memory when there is insufficient space to hold all service caches in memory simultaneously. For details on cache configuration refer to Cache Management in Chapter 1 Advanced Configuration of VoiceObjects in the Administration Guide. On demand indicates that the cache may be dropped. Never indicates that the cache must always be kept in memory. The default setting is On demand. Note: It is recommended to use Never very sparingly since VoiceObjects Server is typically better positioned to decide which services to keep in memory. Driver Specifies the media platform that the service runs on. This parameter can be overwritten at call time by passing the parameter vsDriver in the initial URL request from the media platform that initiates the dialog. See Service URL Configuration in Chapter 4 Service Deployment for details. The default setting Default indicates that the default driver selected for the server is used. For more information on specifying the default driver see the Installation Guide. Respect user-agent in Web channel If the check box Respect user-agent in Web channel is selected the server reads out the user-agent header information in the initial HTTP request coming from the client; this is a string that identifies the browser so that Web servers can respond with optimized code. Based on an up-to-date list of Web browser useragents the server tries to map the agent to one of the available VoiceObjects Web drivers. If the mapping succeeds, then this driver is taken for the session instead of the driver defined in the Service object or in the service URL parameter

Copyright 2001-2011 Voxeo Germany GmbH

19

Configuring Servers and Services Configuring a Service


VoiceObjects 11

vsDriver. Since the Web channel is the only channel for which the requesting platform (=browser) is unknown before the call comes in, this setting is required to be able to dynamically select a suitable Web driver that presents the application in an optimal way. If no corresponding driver can be found in the lookup phase or the driver is not from the Web channel, the driver setting from the service or URL parameter is taken and the user-agent is ignored. This parameter can be overwritten at call time by passing the parameter vsRespectUserAgent in the initial URL request from the media platform that initiates the dialog. See Service URL Configuration in Chapter 4 Service Deployment for details. If both vsRespectUserAgent and vsDriver are provided in the URL the server first tries to do a mapping of agent to driver, and if that fails it takes the vsDriver value. By default, this check box is clear. Session guarantee Specifies the guaranteed number of concurrent dialog sessions available to this service. Guaranteed sessions are set aside in a separate pool that can only be accessed by the respective service. This ensures that the session partitioning defined for a specific service can be met. Note that if the number of guaranteed sessions specified here exceeds the number of guaranteed sessions for the site this service belongs to or for the server it is hosted on, the number of guaranteed sessions is limited accordingly. For more information see Chapter 9 Service Level Agreements (SLA). This parameter is optional. If it is not defined, no guaranteed number of concurrent sessions is set aside for this service. Session limit Specifies the maximum number of concurrent dialog sessions allowed for this service. If this number is reached, then additional attempts to create a dialog session for this service are rejected. In this case, the caller hears a configurable message indicating that the service is currently not available. Once the number of concurrently active sessions drops below the limit, new calls are accepted again. For more information see Chapter 9 Service Level Agreements (SLA). This parameter is optional. If it is not defined, the maximum number of concurrent sessions for the service coincides with the maximum number for the server it is hosted on. Session distribution Specifies the distribution of concurrent dialog sessions among services within a site and on a given server. The session distribution specifies a percentage indicating the allocation of available dialog sessions to the respective service. Note that this setting is only relevant if a session limit is defined for the site. The sum of all percentage values assigned to services within a single site must not exceed 100. If it does, all session distribution settings for this site are ignored. For more information see Chapter 9 Service Level Agreements (SLA). The default setting is Disabled. Instead of selecting one of the values from the drop-down list, it is also possible to type in a custom value. In this case, the value must lie between 0 and 1. E.g. to select a session distribution of 27%, the value 0.27 needs to be entered.

Logging parameters Logging parameters specify the logging behavior of the service including the default logging destination, the list of activated logging categories, and the activation settings

Copyright 2001-2011 Voxeo Germany GmbH

20

Configuring Servers and Services Configuring a Service


VoiceObjects 11

for database logging.

The Logging Parameters section contains the following fields: Enable System DB logging Indicates whether System DB logging is enabled for this service. If it is disabled, dialog statistics are not logged to the Infostore Repository. In addition, attempts by Log objects to write to the destination System DB are ignored. This setting can be overridden from within the Control Center. By default, this check box is clear. Enable Input State logging Indicates whether System DB logging writes detailed information for each individual input state visited by a caller. If it is disabled, only a single data record is written per call indicating information such as ANI, DNIS, length and time of call, etc. Also business task, layer and module related data is stored in the Infostore Repository. For further information, refer to the Infostore Guide. By default, this check box is clear. Enable Script object backend logging Indicates whether Script objects should create records for backend access analysis. For further information, refer to the Infostore Guide. By default, this check box is clear. Enable Custom DB logging Indicates whether Custom DB logging is enabled for this service. If it is disabled, attempts by Log objects to write to the destination Custom DB are ignored. This setting can be overridden from within the Control Center. By default, this check box is clear.

Copyright 2001-2011 Voxeo Germany GmbH

21

Configuring Servers and Services Configuring a Service


VoiceObjects 11

Coverage Specifies the percentage of dialogs that should be written to System DB logging (and, optionally, Custom DB logging; see Filter scope below). In deployments with high call volumes, it is sometimes desirable to not write out detailed statistics on each and every call, but only on a fraction thereof. Coverage can be selected from 10% to 100% of all dialogs. Each individual dialog is then logged either completely or not at all. The coverage selection algorithm uses a uniform distribution on dialog sessions to minimize the impact of coverage filtering on subsequent reporting. The default is 100%. Instead of selecting one of the values from the drop-down list, it is also possible to type in a custom value. In this case, the value must lie between 0 and 1. E.g. to select a coverage of 27%, the value 0.27 needs to be entered. Filter scope Specifies whether the coverage defined above extends only to input states, to System DB logging (the default), or to System DB and Custom DB logging. If coverage is less than 100% and System DB and Custom DB is selected, then dialogs that do not write to System DB logging will also not write to Custom DB logging. This option should be chosen if Custom DB logging is used as an extension of System DB logging. If coverage is less than 100% and System DB is selected, then dialogs that do not write to System DB logging will still write to Custom DB logging. This option should be chosen if Custom DB logging is used e.g. to trigger back-end processing (such as making an entry into an ordering system). If coverage is less than 100% and Input State is selected, then dialogs always write a single record but only write detailed Input State logging in the selected percentage of cases (but any individual dialog either writes all input states or none). The default is System DB. Enable utterance recording Indicates whether utterance recording is enabled for this service. If it is disabled, no utterance recording files are created. By default, this check box is clear. Utterance recording path Specifies the path that utterance recording files are written to. For more information see Chapter 6 Recording of Utterances. Utterance recording URL Specifies the URL through which utterance recording files can be retrieved. For more information see Chapter 6 Recording of Utterances. Coverage Specifies the percentage of dialogs that should create utterance recording files. In deployments with high call volumes, it is sometimes desirable to not write files for each and every call, but only for a fraction thereof. Coverage can be selected from 10% to 100% of all dialogs. The coverage selection algorithm uses a uniform distribution on dialog sessions to minimize the impact of coverage filtering on subsequent reporting. The default is 100%. Instead of selecting one of the values from the drop-down list, it is also possible to type in a custom value. In this case, the value must lie between 0 and 1. E.g. to select a coverage of 3%, the value 0.03 needs to be entered. For more information see Chapter 6 Recording of Utterances. Enable OSDM Event Logging Indicates whether OSDM Event Logging is enabled for this service.

Copyright 2001-2011 Voxeo Germany GmbH

22

Configuring Servers and Services Configuring a Service


VoiceObjects 11

If enabled, the OSDM Event Log Destination field can be used to define a file to which the data is logged. If not defined, the default file as defined in the OSDM configuration is used. Note that paths in the OSDM Event Log Destination field need to use forward slashes, even on Windows. By default, this check box is clear. Default logging destination Specifies the default location for Log objects to write to. Custom DB indicates that the information is written to a custom database table. Log File indicates that the information is written to a server log file that can be accessed through the Control Center. Log OSDM indicates that the information is written to the OSDM log. Media Platform indicates that the information is written to the media platform log by using the <log> element in VoiceXML. System DB indicates that the information is written to a special field within the System DB logging. For more information, refer to the Log object in the Object Reference. This parameter can be overwritten at call time by passing the parameter vsLoggingDestination in the initial URL request from the media platform that initiates the dialog. See Service URL Configuration in Chapter 4 Service Deployment for details. The default setting is Log File. Logging categories Specifies which log categories are active for this service. Multiple check boxes can be selected, and only Log items that match one of the selected categories will be activated at call time. This makes it easy e.g. to integrate debugging messages into an application for development and testing purposes, and then to disable those messages with a single click as the application goes into deployment. Info is intended for informational messages that do not necessarily indicate error conditions, but provide information on the dialog processing. Debug is intended for messages only used during application development and debugging. This category should typically be disabled for deployed services. Error is intended for messages indicating error situations in the application. This category should typically be enabled for deployed services. Statistics is intended for messages that provide statistical information on how callers use the application. Billing is intended for messages that are used for billing purposes. The set of selected categories can be overwritten at call time by passing the parameter vsLoggingCategories in the initial URL request from the media platform that initiates the dialog. See Service URL Configuration in Chapter 4 Service Deployment for details. By default, all check boxes are selected. Maintainer e-mail Specifies an e-mail address that error messages are sent to by the media platform. This parameter is optional.

Note: System and Custom DB logging are only available with a valid Infostore license. Default parameters Default parameters specify the defaults for a variety of service settings including e.g. barge-in and dialog exit type. Default parameters come in three groups:

Copyright 2001-2011 Voxeo Germany GmbH

23

Configuring Servers and Services Configuring a Service


VoiceObjects 11

those that are relevant for the entire dialog and that can be changed by use of expression functions; those that are relevant for specific types of objects and that can be overridden locally within such objects; and those that are relevant for the entire dialog and that cannot be changed at call time.

Copyright 2001-2011 Voxeo Germany GmbH

24

Configuring Servers and Services Configuring a Service


VoiceObjects 11

The Default Parameters section contains the following fields: Grammar type Specifies the standard grammar type. All Grammar items with type setting Default are controlled by this setting, so that the grammar type can be changed throughout an entire service with a single switch. SRGS ABNF indicates W3C speech recognition grammar format in BNF notation. Nuance GSL indicates Nuance GSL grammar format. JSGF indicates Java speech grammar format. SRGS XML indicates W3C speech recognition grammar format in XML notation. Cisco Regular Expression indicates Cisco regular expression format. Precompiled indicates precompiled grammar format. None indicates that no standard grammar format is used. Built-in indicates built-in grammars as defined in the VoiceXML specification. The default setting Default indicates that the default grammar type for the selected driver is used. Note that if a grammar type is selected which is not supported by the selected media platform, the platforms default type is used instead by the server. Video type Specifies the standard video type. All Video objects with type setting Default are controlled by this setting, so that the video type can be changed throughout an entire service with a single switch. Note that if a video type is selected which is not supported by the selected media platform, the platforms default type is used instead by the server. Barge-in Specifies the standard setting for barge-in. All Output items with barge-in setting Default are controlled by this setting, so that barge-in can be enabled or disabled throughout an entire service with a single switch. True indicates that barge-in is allowed. False indicates that barge-in is not allowed. The default setting is True. Grammar control Specifies the standard setting for grammar control. All Input objects with grammar control setting Default are controlled by this setting, so that grammar control can be enabled or disabled throughout an entire service with a single switch. True indicates that grammar control is enabled. False indicates that grammar control is disabled. The default setting is False. For more information on grammar control, refer to Input in the Object Reference. Output mode Specifies whether audio or TTS should be the preferred output mode. The output mode is useful for testing whether all required audio files and alternative texts have been defined. Audio:TTS indicates that audio is used if available, otherwise TTS. TTS:Audio indicates that TTS is used if available, otherwise audio. The default setting is Audio:TTS. Record utterances Specifies whether utterances should be recorded for this service (True) or not (False). The default setting is True. Note that this setting only has relevance if the setting Enable utterance recoding in the Logging Parameters section has been selected. Recording scope Specifies the scope to be covered by utterance recording.

Copyright 2001-2011 Voxeo Germany GmbH

25

Configuring Servers and Services Configuring a Service


VoiceObjects 11

All indicates that all utterances are recorded. No Match indicates that only utterances causing a No Match event are recorded. Recognition indicates that only utterances leading to a successful recognition are recorded. The default setting is All. Standby timeout Specifies the time after which a dialog session is removed if there is no activity. As opposed to the dialog timeout, the standby timeout is applied during the processing of Plug-In, Transfer, or Recording objects. These are objects where some processing takes place outside of VoiceObjects, which can take longer than the usual dialog timeout. The standby timeout allows you to increase the timeout temporarily for these objects. The default setting is 10 minutes. Instead of selecting one of the values from the drop-down list, it is possible to type in a custom value. This value is interpreted as seconds. E.g. for a custom timeout of 5.5 minutes, type in 330. Dialog timeout Specifies the time after which a dialog session is removed if there is no activity. Note that if you use call pausing (see Pause object in the Object Reference) or play long audio files to the caller, it might be necessary to increase this value in order to ensure that the dialog is not unintentionally terminated. The default setting is 5 minutes. For applications working in the text or Web channel, a shorter dialog timeout may be desirable, e.g. 40 seconds. In Input, Menu, Confirmation, and List objects, the dialog timeout can temporarily be increased in order to give callers more time to respond to them if required (e.g. when entering an address). Instead of selecting one of the values from the drop-down list, it is also possible to type in a custom value. This value is interpreted as seconds. E.g. for a custom timeout of 1.5 minutes, type in 90. HTTP connector timeout Specifies the time after which a HTTP request issued by a Connector object is aborted if no answer is received from the back-end. The default setting is 10 Seconds. Instead of selecting one of the values from the drop-down list, it is possible to type in a custom value. This value is interpreted as seconds. E.g. for a custom timeout of fifteen seconds, type in 15. Dialog exit type Specifies what should be done when the end of the dialog is reached and the last object processed was not an Exit object (if it was, the exit type defined in that object is taken). Disconnect indicates that the call is terminated with a hang-up by sending a <disconnect> tag to the media platform. Exit indicates that control over the call is handed back to the media platform. Return indicates that a <return> tag is sent to the media platform. This enables the continuation of an ongoing dialog that was initiated outside VoiceObjects. The behavior in these cases is described by VoiceXML files that are sent to the media platform. The behavior can be modified by adjusting these files, which can be found under ..\VoiceObjects\Platform\Resources\System\VXML\<VoiceXML version>\ <Media Platform Provider>\ with the names Disconnect.vxml, Exit.vxml, and Return.vxml. The default setting is Disconnect.

Copyright 2001-2011 Voxeo Germany GmbH

26

Configuring Servers and Services Configuring a Service


VoiceObjects 11

Grammar precedence Specifies the precedence in case both embedded and external grammar definitions are present in a Grammar object item. Embedded:External indicates that an embedded definition takes precedence over an external grammar reference. External:Embedded indicates that the external grammar file will be taken rather than an embedded grammar definition. The default setting is Embedded:External. Audio file extension Specifies an audio file extension that overwrites all file extensions defined locally in Audio objects. The default setting None indicates that the locally defined audio file extensions are used. Grammar file extension Specifies a grammar file extension that overwrites all file extensions defined locally in Grammar objects. The default setting None indicates that the locally defined grammar file extensions are used. Video file extension Specifies a video file extension that overwrites all file extensions defined locally in Video objects. The default setting None indicates that the locally defined video file extensions are used. Text file extension Specifies a text file extension that overwrites all file extensions defined locally in Text objects. The default setting None indicates that the locally defined text file extensions are used. Reject response Defines the way in which the server responds to requests when no more licenses are available for the service. Overflow indicates that a file overflow.vxml is sent, usually to indicate that the service is not available at the moment. Redirect indicates that a file redirect.vxml is sent, usually to transfer the call e.g. to a call center agent. The default setting is Overflow. The behavior in both cases can be modified by adjusting the corresponding file, which can be found under ..\VoiceObjects\Platform\Resources\System\VXML\<VoiceXML version>\ <Media Platform Provider>\ The reject response behavior can be overwritten at call time by passing the parameter vsRejectResponse in the initial URL request from the media platform that initiates the dialog. See Service URL Configuration in Chapter 4 Service Deployment for details.

Standard navigation Standard navigation provides functionality such as Go back or Repeat. It is configured in the Module object by providing appropriate grammars for the various commands. Disabled indicates that standard navigation is disabled, regardless of whether grammar entries are defined for it or not. The default setting is to remember the last three dialog steps (3 Steps). This

Copyright 2001-2011 Voxeo Germany GmbH

27

Configuring Servers and Services Configuring a Service


VoiceObjects 11

means that the caller can use the standard navigation command Back three times, and thus go back at most three steps in a dialog. Service chaining Defines how service chaining transmits parameters. External indicates that parameters are transmitted through markup and HTTP requests. Internal indicates that parameters are transmitted internally within the VoiceObjects Server instance. This requires that the service chain target remains on this same instance. The default setting is External. Session variables Specifies a comma-separated list of media platform session variables. This can be used for two purposes: 1 If a media platform calls the server through a custom VoiceXML page using <subdialog> and the platform wants to submit parameters to the application using <param> elements, define all required parameter names in this field. 2 If you want to fetch variables from the platform session context other than those already specified in the driver (like ANI, DNIS, etc.), define all additionally required variables with syntax vo_name (mp_name) in this field, where vo_name is the parameter name you want to use within the application and mp_name is the name used by the media platform. Example: ANI (session.connection.remote.uri) In both cases, the variables can be accessed through the expression function SESSION(vo_name). Resource path Specifies a physical path that is used in Resource Locator objects using the option Allow service overwrite. The default is not to use a resource path. Resource URL Specifies a URL that is used in Resource Locator objects using the option Allow Service overwrite. The default is not to use a resource URL. Configuration URL Specifies the location of a configuration file that defines application default values. Both HTTP and file URLs are allowed. Note that it is required to mention the protocol (http:// or file://) in the URL. The use of basic authentication and/or SSL is supported by using the notation <configURL>||<certificateURL>||<user>||<password>. Note that if the configuration file cannot be fetched during a redeploy, the redeploy fails and the service remains in its previous state. See Application Defaults in Chapter 4 Service Deployment for details. The default is not to use a configuration URL. OSDM URL Specifies the URL that points to an installation of OpenSpeech DialogModules (OSDMs). This value overrides the one defined in the <osdmURL> element within the VOServer_Configuration.xml. This parameter is only relevant if OSDMs have been licensed. Loop abort handler URL Specifies the location of a file holding valid VoiceXML code that will be put in an event handler of type error for level 10 on each rendered VoiceXML document. Both HTTP and file URLs are allowed. Note that it is required to mention the protocol (http:// or file://) in the URL.

Copyright 2001-2011 Voxeo Germany GmbH

28

Configuring Servers and Services Configuring a Service


VoiceObjects 11

Using this feature, you can define custom code to be executed on the media platform in case of subsequent error events that would otherwise not be caught. Typically, this is code that deliberately does not lead back to the server, in scenarios where the error occurred due to connection problems. The default is not to use a loop abort handler. If no location is defined in this field, the server will include an error handler holding a VoiceXML command that corresponds to the currently active dialog exit type. E.g., if the exit type is currently Disconnect, the server will render the following code into each VoiceXML document:
<catch event="error" count="10"> <disconnect/> </catch>

Render templates Specifies a comma-separated list of render templates to use for this service. Both HTTP and file URLs are allowed. Note that it is required to mention the protocol (http:// or file://) in the URL. The use of basic authentication and/or SSL is supported by using the notation <templateURL>||<certificateURL>||<user>||<password>. See Appendix E Defining Custom Rendering Templates in the Administration Guide for details. Note that if one of the template files listed cannot be fetched during a redeploy, the redeploy fails and the service remains in its previous state. The default is not to use custom render templates. TTA libraries Specifies a comma-separated list of TTA libraries to use for this service. Both HTTP and file URLs are allowed. Note that it is required to mention the protocol (http:// or file://) in the URL. The use of basic authentication and/or SSL is supported by using the notation <libraryURL>||<certificateURL>||<user>||<password>. See Appendix B How to Use the Formatting Bus in the Administration Guide for details. Note that if one of the TTA libraries listed cannot be fetched during a redeploy, the redeploy fails and the service remains in its previous state. The default is not to use a configuration URL.

Proxy parameters Proxy parameters specify which proxies to use (if any) for HTTP, HTTPS, and FTP requests.

Copyright 2001-2011 Voxeo Germany GmbH

29

Configuring Servers and Services Configuring a Service


VoiceObjects 11

The Proxy Parameters section contains the following fields, all of which are empty by default: HTTP proxy host Specifies a proxy host to be used for all HTTP requests. HTTP proxy port Specifies a proxy port to be used for all HTTP requests. HTTP proxy user Specifies a proxy user to be used for all HTTP requests. HTTP proxy password Specifies the password for the proxy user to be used for all HTTP requests. HTTPS proxy host Specifies a proxy host to be used for all HTTPS requests. HTTPS proxy port Specifies a proxy port to be used for all HTTPS requests. HTTPS proxy user Specifies a proxy user to be used for all HTTPS requests. HTTPS proxy password Specifies the password for the proxy user to be used for all HTTPS requests. FTP proxy host Specifies a proxy host to be used for all FTP requests. FTP proxy port Specifies a proxy port to be used for all FTP requests. FTP proxy use Specifies a proxy user to be used for all FTP requests.

Copyright 2001-2011 Voxeo Germany GmbH

30

Configuring Servers and Services Deploying a Service on a Server


VoiceObjects 11

FTP proxy password Specifies the password for the proxy user to be used for all FTP requests. HTTP(S) proxy bypass Specifies a comma-separated list of hosts for which HTTP(S) requests do not use the configured proxy. FTP proxy bypass Specifies a comma-separated list of hosts for which FTP requests do not use the configured proxy.

Note: If a Service object has been locked by another user, none of its settings can be modified. The Service object first needs to be unlocked. For more information on the locking and unlocking of objects, refer to Chapter 7 Basic Commands in the Desktop for Eclipse Guide and Desktop for Web Guide.

Deploying a Service on a Server


In order for it to be available to a media platform, a service needs to be deployed on a server. To deploy a service, open an existing Server object, add the service to the list of hosted services and save the Server object. For details on how to add elements to a list refer to Chapter 6 Object Editors in the Desktop for Eclipse Guide and Desktop for Web Guide. In the Control Center select the corresponding server on the Server Manager tab (in Desktop for Web on the Server Management tab) and right-click it. From the context menu select Reload Service List. The new service will then be listed on the Service Manager tab (in Desktop for Web to be found in the Service Manager section on the Server Management tab). In order to call into a service, it is necessary to also configure the media platform appropriately. For more information on this, refer to Media Platform Setup in Chapter 4 Service Deployment.

Copyright 2001-2011 Voxeo Germany GmbH

31

Managing Servers and Services Control Center


VoiceObjects 11

3 Managing Servers and Services


Control Center
The Control Center is the graphical interface component within VoiceObjects Desktop that enables the deployment and monitoring of servers and services. As an alternative to the graphical Control Center, the Web Services Interface may be used. Details can be found in the Web Services Guide. There is also a text-based Command Line Interface (CLI), which is explained in Chapter 7 Command Line Interface (CLI). It is recommended, however, to use the Web Service Interface instead since it provides more flexibility. Finally, notifications about specific conditions on servers can be received through SNMP and e-mail as explained in Chapter 8 Notifications. Desktop for Eclipse Control Center To open the Control Center for a given server in Desktop for Eclipse, first a corresponding Control Center connection has to be defined in the VoiceObjects preferences of Desktop for Eclipse. Refer to Chapter 10 VoiceObjects Preferences in the Desktop for Eclipse Guide for details on how to do this. Once one or more Control Center connections have been configured the Control Center will be shown, initially located at the bottom of Desktop for Eclipse.

The drop-down box in the upper right corner allows switching between the configured Control Center connections. Using the Filter field you can restrict a list of server and server instances, services, log files, or trace files to those items that contain a certain text string within their name, or that have a name starting with a certain text string (when selecting the Starts with check box). The content of the Control Center is automatically refreshed to show the currently active service states, call statistics, etc., according to the refresh cycle, which can be specified in the Advanced preferences page. A manual refresh can be activated by clicking the Refresh button in the upper right corner of the Control Center.

Below the header bar, the Control Center displays six tabs. Server Manager and Service Manager are explained in this chapter, Server Logs, Service Logs, and Session Tracing are described in Chapter 5 Logging and Tracing, and Session Partitioning is described in Chapter 9 Service Level Agreements (SLA).

Copyright 2001-2011 Voxeo Germany GmbH

32

Managing Servers and Services Control Center


VoiceObjects 11

Desktop for Web Control Center In Desktop for Web the Control Center for a given server can be opened by doing the following: 1. In the Object Browser, open the Configuration folder and then the Server folder. You need to have a Controller or Administrator role to see the Configuration folder. Right-click the Server object for which you want to open the Control Center. And in the context menu that comes up, click Control Center. Note that to open the Control Center it is necessary to configure the appropriate Control Center URL within the Server object. For details, see Chapter 2 Configuring Servers and Services.

2.

The Control Center is loaded into a new tab in the right-hand pane of VoiceObjects Desktop. If this tab already exists, the view switches to it.

In the header bar of the Control Center, the display Refresh Cycle can be selected in various intervals between thirty seconds and one hour. After a refresh cycle has expired, the display of the Control Center is automatically refreshed to display the currently active service states, call statistics, etc. A manual refresh can be activated by clicking the Refresh button in the menu bar of VoiceObjects Desktop.

Below the header bar, the Control Center displays five tabs: Server Management (see Server Manager and Service Manager below) is explained in this chapter, Server Logs, Service Logs, and Session Tracing are described in Chapter 5 Logging and Tracing, and Session Partitioning is described in Chapter 9 Service Level Agreements (SLA).

Copyright 2001-2011 Voxeo Germany GmbH

33

Managing Servers and Services Server Manager Overview


VoiceObjects 11

Control Center communication VoiceObjects uses the Web Service Interface to communicate between the Control Center and servers that are monitored and controlled by it. This has the advantage that VoiceObjects Desktop does not need to be part of the same cluster as the server to be monitored, and that both local servers (within the same network) and remote servers (in other networks) can be monitored and controlled. Finally, even servers running on different Metadata Repositories can be monitored and controlled. This makes it possible, for instance, to administrate both a test and a production installation from a single VoiceObjects Desktop. Tip: The Control Center remembers all server instances that were present at some time during the current session (i.e. as long as the Control Center is open) and tries to re-connect to any of them when the server instance it is currently connected to becomes unavailable. This means that when you shut down instances in a cluster, you do not need to manually adjust the URL defined in the Server object. A manual refresh of the Control Center may be required at times to trigger the re-connect to a different server instance. When you open a new Control Center, it always tries to connect to the server instance reachable at the URL defined in the Server object. If this fails, you will see an error message. In this case, adjust the URL to an available server instance and try again.

Server Manager Overview


The Server Manager tab displays detailed information about the server and all running server instances. In Desktop for Web this information can be found in the Server Manager section of the Server Management tab.

The Server column shows the logical name of the server, which corresponds to the reference ID of the Server object. Each server instance is represented by its name, or by its IP address and port (as configured in the corresponding configuration file). To better separate the server from the server instances, a prefix S: for the server and I: for the server instances is added to their names. Desktop for Web does not add any prefix as here the server is visually separated from the server instances. In a single server setup, only one instance is available. In a cluster setup, it may be any number of instances.

Copyright 2001-2011 Voxeo Germany GmbH

34

Managing Servers and Services Server Management


VoiceObjects 11

To the left of the Server column, the server and server instance status is indicated by a traffic light icon:

Icon (Green light) (Yellow light) (Red light) Started Idled Stopped

Server Status

If one of the server instances listed acts as master server manager for the cluster, this is indicated by the Crown icon next to the traffic light icon. Note: There may be cases in which none of the server instances acts as master server manager, because this role is taken by a server instance of a different server. Thus, if you do not see a crown icon next to any of the server instances this does not necessarily indicate a problem. Refer to Server Management and Server Instance Management below for more details about the shown information as well as on the available control functions for the server and the server instances.

Server Management
This paragraph describes the server statistics shown in the nine additional columns of the Server Manager tab, all commands available in the server context menu and the Server Details info box providing a summary of various server information. Server statistics To the right of the Server column, the next set of six columns provides session statistics for the server, displaying: Start Time Indicating the most recent time the server has been (re-)started. In the case of a cluster, the start time indicates the earliest start time of any of the individual server instances involved. Active Number of currently active sessions on this server. Finished Number of sessions on this server that were completed successfully. Aborted Number of sessions on this server that were aborted due to an error condition (including dialog timeout). Rejected Number of sessions on this server that were rejected. This may happen because the corresponding service was not started when the session came in, or because no matching service could be found for the VSN and/or DNIS provided. It may

Copyright 2001-2011 Voxeo Germany GmbH

35

Managing Servers and Services Server Management


VoiceObjects 11

also happen when no more concurrent sessions are available for a certain service, server, site, or the entire VoiceObjects installation. Total Sum of the previous four columns.

The following two columns, System DB Logging and Custom DB Logging, indicate the currently applicable DB logging options for the server as enabled (green light ), unavailable (yellow light disabled (red light DB logging requires a valid license for Infostore. ), or not licensed (grey light ). ),

Note: While the red or green light indicates a specific administrator setting, the yellow light indicates that the respective logging option should be enabled, but failed due to a database connection problem. In order to resolve this, the respective server instance needs to be fully restarted (including its JVM) once database connectivity has been restored. The grey light indicates that the license key for the server does not allow DB logging. Contact VoiceObjects regarding a license for Infostore. The final column Tracing indicates whether tracing is currently enabled (green light ) or disabled (red light ) for this server. More information on tracing is provided in Chapter 5 Logging and Tracing. Server context menu To access server control functions, right-click anywhere in the row of the server entry. In Desktop for Web click the Context Menu button to the right of the server name. The following list describes the server control functions that are available from the context menu. Note that most of them are only available to Server Administrators or Server Controllers. Other user roles only see a subset of the functions. For more information on user roles and their privileges refer to Chapter 2 User Management Basic Topics in the Administration Guide. Edit Opens up the Server editor. Note that this entry is only available if the Server object for which the Control Center is shown comes from the Metadata Repository to which Desktop for Eclipse is currently connected. In addition the user account used for both the connections needs to be the same. Reload Service List Reloads the list of services hosted on this server. This is used when you have added a new service to a server, or removed a service from a server. After reloading the service list, the Control Center will display any newly added services as stopped (see description of service states below). You need to start the service before it can be called. Services that have been deleted from the server will only be removed from the Control Center if they have been stopped before reloading the service list. Start Starts this server. For a cluster this means that all individual server instances in the cluster are started. This command is only available when the server is stopped. Note that when starting a stopped server, all active and restore caches are restored from their previously persisted state, and application definitions are not reloaded from scratch. Services will be started according to their startup mode, i.e. services with

Copyright 2001-2011 Voxeo Germany GmbH

36

Managing Servers and Services Server Management


VoiceObjects 11

startup mode automatic will be started and services with startup mode manual (or disabled) will remain stopped.

Copyright 2001-2011 Voxeo Germany GmbH

37

Managing Servers and Services Server Management


VoiceObjects 11

Resume Resumes this server. For a cluster this means that all individual server instances (both idled and stopped) in the cluster are resumed. This command is only available when the server is idled. When resuming an idled server, all idled services are also resumed. Reset Resets this server to essentially the state it would be in immediately after a fresh start. The difference is that if a redeploy would break a currently running service, then it is kept in its current state. After a reset, all restore caches are gone. For a cluster, Reset means that all individual server instances in the cluster are reset. A warning window will appear to indicate that all currently active sessions will be terminated immediately. If you confirm by clicking OK, all currently active sessions are terminated, and the server resets. During reset, all services are stopped and their application caches are loaded. If the server was started, the services are then started according to their startup mode settings. This command is only available when the server is started or idled. Idle Idles this server. For a cluster this means that all individual started server instances in the cluster are idled. A warning window will appear to indicate that the server will be idled. This does not affect currently active sessions, which are allowed to finish normally. If you confirm by clicking OK, the server attempts to idle and the Control Center shows the Please wait icon. When the server reaches idled state (after all active sessions on the server have terminated), the servers status light changes to solid yellow. This command is only available when the server is started. Stop Stops this server. For a cluster this means that all individual server instances in the cluster are stopped. A warning window will appear to indicate that all currently active sessions will be terminated immediately. If you confirm by clicking OK, all currently active sessions are terminated, and the server stops. When the server stops, all services hosted on it also stop. Their persisted active and restore caches remain intact. When you start the server again using the Start command, these caches are restored. Shutdown Shuts down this server. For a cluster this means that all individual server instances in the cluster are shut down. A warning window will appear to indicate that all currently active sessions will be terminated immediately. If you confirm the shutdown by clicking OK, all currently active sessions are terminated, and the server shuts down. When the server shuts down, all active and restore caches are cleaned (except for those services that explicitly use the Retain caches on shutdown option). The server cannot be started up again from within the Control Center or CLI after it has been shut down. The server process needs to be re-started manually. Note: Shutting down the server will not stop the JVM it is running in.

DB Logging Options Used to modify the currently applicable DB logging configuration for the server.

Copyright 2001-2011 Voxeo Germany GmbH

38

Managing Servers and Services Server Management


VoiceObjects 11

In the cascading submenu that comes up, both System DB logging and Custom DB logging can be enabled or disabled by clicking the respective entry. Changes made here have immediate effect, but they do not change the permanent settings made in the Server object. The modified status is indicated by the appropriate lights in the System DB Logging and Custom DB Logging columns as well as by a tick mark (or its absence) in the context menu itself. DB logging settings made in the server override those made in services that are hosted on this server. Thus by disabling System or Custom DB logging on the server, it is automatically disabled for all services. This override is indicated by a black light ( ) in the respective DB Logging column for the service. Note that when resetting a server, the default values defined in the Server object are restored. Disable/Enable Tracing Used to modify the currently applicable tracing configuration for the server. By clicking the context menu entry, tracing can be enabled or disabled. Changes made here have immediate effect. The modified status is indicated by the appropriate light in the Tracing column as well as by a tick mark (or its absence) in the context menu itself. The tracing setting made in the server overrides those made in services that are hosted on this server. Thus by disabling tracing on the server, it is automatically disabled for all services. This override is indicated by a black light ( Tracing column for the service. Note that after resetting a server, tracing is enabled by default. ) in the

Details (only available in Desktop for Eclipse) Opens up the Server Details with the Server tab in front showing a summary of server information. In Desktop for Web the info box is opened by clicking the at the right end of the row. Refer to Server details below for Maximize button details on the information that is displayed. Refresh (only available in Desktop for Eclipse) Used to manually refresh the Control Center to display the currently active service states, call statistics, etc. In Desktop for Web the Refresh button the menu bar can be used instead. in

Properties (only available in Desktop for Web) Opens up the Properties window of the Server editor. Reports (only available in Desktop for Eclipse) Provides a cascading submenu of reports available for the server. For details,

Copyright 2001-2011 Voxeo Germany GmbH

39

Managing Servers and Services Server Management


VoiceObjects 11

refer to Appendix B Control Center Reports. This command is only available if Infostore is enabled for the server. Server details The Server Details info box can be opened by double-clicking the server entry on the Server Manager tab or by selecting Details from its context menu. In Desktop for Web the info box is opened by clicking the Maximize button at the right end of the row. The Server Details info box opens up showing the Server tab in front.

It provides a summary of the following information about the server: System DB Logging Shows the status of System DB logging, which is also indicated by the appropriate light in the System DB Logging column in the Control Center. Custom DB Logging Shows the status of Custom DB logging, which is also indicated by the appropriate light in the Custom DB Logging column in the Control Center. Site ID (only shown in Desktop for Web) ID of the site this server belongs to. For more information on sites, refer to Chapter 3 User Management Managing Sites in the Administration Guide. Session guarantee / limit (Session guarantee only shown in Desktop for Web) The number of guaranteed sessions available to this server and the concurrent session limit for this server. If no limit has been set, Not limited is shown. Note that the actual limit also depends on the limit set by the license key of the VoiceObjects installation. The numbers shown in front are the granted guarantee and limit; the numbers shown in parentheses are the requested guarantee and limit. License expires The expiration date for the license key of the VoiceObjects installation. Starting is shown next to this ten days before the expiration date, a yellow triangle icon entry (and to the right of the server name) to indicate that a new license needs to be acquired. Server version (only shown in Desktop for Eclipse) Shows the build version of VoiceObjects Server. Tracing (only shown in Desktop for Eclipse) Shows the status of the tracing, which is also indicated by the appropriate light in the Tracing column in the Control Center.

Copyright 2001-2011 Voxeo Germany GmbH

40

Managing Servers and Services Server Instance Management


VoiceObjects 11

Utterance recording (only shown in Desktop for Web) Indicates whether utterance recording is enabled or disabled for this server. Errors (only shown in Desktop for Eclipse) If an error occurred a corresponding message, explaining the problem, is shown here. Details (only shown in Desktop for Eclipse) Shows the session statistics for the server. These figures are identical with those shown in the corresponding columns of the Server Manager tab.

Server Instance Management


This paragraph describes the server instance statistics shown in the nine additional columns of the Server Manager tab, all commands available in the server instance context menu, and the info box for the server instance details providing a summary of various server instance information. Server instance statistics To the right of the Server column, the next set of six columns provides session statistics for the server, displaying: Start Time Indicating the time the server instance has been started. Active Number of currently active sessions on this server instance. Finished Number of sessions on this server instance that were completed successfully. Aborted Number of sessions on this server instance that were aborted due to an error condition (including dialog timeout). Rejected Number of sessions on this server instance that were rejected. This may happen because the corresponding service was not started when the session came in, or because no matching service could be found for the VSN and/or DNIS provided. It may also happen when no more concurrent sessions are available for a certain service, server, or the entire VoiceObjects installation. Total Sum of the previous four columns.

The following two columns, System DB Logging and Custom DB Logging, indicate the currently applicable DB logging options for the server instance as enabled (green light ), disabled (red light ), unavailable (yellow light ), or not licensed (grey ). light DB logging requires a valid license for Infostore. Note: While the red or green light indicates a specific administrator setting, the yellow light indicates that the respective logging option should be enabled, but failed due to a database connection problem. In order to resolve this, the respective server instance needs to be fully restarted (including its JVM) once database connectivity has been restored.

Copyright 2001-2011 Voxeo Germany GmbH

41

Managing Servers and Services Server Instance Management


VoiceObjects 11

The grey light indicates that the license key for the server does not allow DB logging. Contact VoiceObjects regarding a license for Infostore. The final column Tracing is empty as this setting is not available on sever instances, but only on servers and services. In Desktop for Web the last three columns System DB Logging, Custom DB Logging and Tracing are not provided. Instead, two Memory columns are displayed, showing the used and free memory for the Java Virtual Machine (JVM) in which the server instance runs. Note: Depending on the JVM that is used, the amounts of memory shown here may differ from those configured in the start scripts for VoiceObjects Server. Server instance context menu To access server instance control functions, right-click anywhere in the row of the corresponding server instance entry. In Desktop for Web click the Context Menu button to the right of the server instance name. The following list describes the server control functions that are available from the context menu. Note that most of them are only available to Server Administrators or Server Controllers. Other user roles only see a subset of the functions. For more information on user roles and their privileges refer to Chapter 2 User Management Basic Topics in the Administration Guide. The following server instance control functions are available from the context menu: Idle Idles this instance. A warning window will appear to indicate that the instance will be idled. This does not affect currently active sessions, which are allowed to finish normally. If you confirm by clicking OK, the instance attempts to idle and the Control Center shows the Please wait icon. When the instance reaches idled state (after all active sessions on the instance have terminated), the instances status light changes to solid yellow. This command is only available when the server instance is started. If a media platform request comes into an idled server instance, it is automatically redirected to a started instance within the same cluster (as long as such an instance exists). This redirection uses the standard HTTP redirection mechanism. Resume Resumes this instance. This command is only available when the server instance is idled. Stop Stops this instance. A warning window will appear to indicate that all currently active sessions on this instance will be terminated immediately. If you confirm by clicking OK, all currently active sessions on the instance are terminated, and the instance stops. When an instance stops, all active and restore caches remain intact. When you start the instance again using the Start command, these caches are restored. If a media platform request comes into a stopped server instance, it is automatically redirected to a started instance within the same cluster (as long as such an instance exists). This redirection uses the standard HTTP 302 mechanism. Start Starts this instance. This command is only available when the server instance is stopped. When starting a stopped instance, all active and restore caches are restored from

Copyright 2001-2011 Voxeo Germany GmbH

42

Managing Servers and Services Server Instance Management


VoiceObjects 11

their previously persisted state, and application definitions are not reloaded from scratch. This ensures that the instance starts up again in the exact same configuration in which it was stopped. Details (only available in Desktop for Eclipse) Opens up the Server Details with the Instance tab in front showing a summary of server instance information. In Desktop for Web the info box is opened by at the right end of the row. Refer to Server clicking the Maximize button instance details below for more details about the information displayed. Refresh (only available in Desktop for Eclipse) Used to manually refresh the Control Center to display the currently active service states, call statistics, etc. In Desktop for Web the Refresh button the menu bar can be used instead. in

Reports (only available in Desktop for Eclipse) Provides a cascading submenu of reports available for the server instance. For details, refer to Appendix B Control Center Reports. This command is only available if Infostore is enabled for the server instance.

Server instance details The info box for the server instance details can be opened by double-clicking the server instance entry on the Server Manager tab or by selecting Details from its context menu. In Desktop for Web the info box is opened by clicking the Maximize button at the right end of the row. The Server Details info box opens up showing the Instance tab in front.

For each available server instance a corresponding section is shown on the Instance tab, providing a summary of the following information about the server instance: System DB Logging Indicates whether System DB logging is enabled or disabled for this server instance. Note that even when System DB logging is enabled for the server, DB connection problems or other issues may lead to situations in which it cannot be activated for certain server instances. Custom DB Logging Indicates whether Custom DB logging is enabled or disabled for this server instance. Note that even when Custom DB logging is enabled for the server, DB connection problems or other issues may lead to situations in which it cannot be activated for certain server instances.

Copyright 2001-2011 Voxeo Germany GmbH

43

Managing Servers and Services Service Manager


VoiceObjects 11

Used memory (only shown in Desktop for Eclipse) Shows the used memory for the Java Virtual Machine (JVM) in which the server instance runs. Free memory (only shown in Desktop for Eclipse) Shows the free memory for the Java Virtual Machine (JVM) in which the server instance runs. Configured IP address The IP address and port as defined in the configuration file for this server instance. Detected IP address The IP address as detected by the server instance itself. Cluster Group The cluster group this server instance belongs to. Errors Shows any errors that may have occurred on this server instance, such as e.g. DB connectivity problems. If any errors have occurred, this is indicated by a to the right of the server instance name. yellow triangle icon Details (only shown in Desktop for Eclipse) Shows the session statistics for the server instance. These figures are identical with those shown in the corresponding columns of the Server Manager tab.

Service Manager
The Service Manager section displays the list of services hosted on the server, together with their current status and session statistics. Services are identified by their VoiceObjects Service Name (VSN). In Desktop for Web this information can be found in the Service Manager section of the Server Management tab.

The Service column shows the logical name of the service, which corresponds to the VSN of the Service object. The Source column to the right of the Service column shows whether this service contains a start object from a project version (Project), a start object from a VoiceObjectsXML file (File), or is deployed from string (String). For a detailed description of the remaining nine columns to the right refer to service statistics below. All available service commands are described in the service context menu paragraph and additionally the Service details paragraph gives an summary of various service information shown in the service info box. At the top of the list of services hosted on this server, there is an entry Invalid requests. It serves to display session statistics for requests directed to non-existing or broken services, and for requests that could not be associated with any service. This may happen if the request did not indicate any service either by VSN or by DNIS. Such invalid requests may only lead to aborted or rejected sessions.

Copyright 2001-2011 Voxeo Germany GmbH

44

Managing Servers and Services Service Manager


VoiceObjects 11

In Desktop for Web, services deployed directly from an XDK file are indicated by the file icon next to the VSN. For more information, refer to the XDK Guide. Volatile services, i.e. services deployed directly from a string, are indicated by the next to the VSN. For more information, refer to the string icon redeployXDKApplication() method in Chapter 3 Using the Web Services Interface (Deploy from string) and in Chapter 4 Command Reference both in the Web Services Guide. The service status is indicated by a traffic light symbol:

Icon

Service Status Started. Existing sessions (if any) are being processed. New incoming sessions are accepted. Idled. Existing sessions (if any) are being processed. New incoming sessions are rejected and will only receive a message indicating that the service is currently unavailable. Stopped. No existing sessions are being processed. New incoming sessions are rejected and will only receive a message indicating that the service is currently unavailable. Disabled. No existing sessions are being processed. New incoming sessions are rejected and will only receive a message indicating that the service is currently unavailable. A disabled service cannot be started. In order to start it, its startup mode first needs to be set to something other than Disabled, and the service then needs to be redeployed to bring it into stopped mode.

(Green light)

(Yellow light)

(Red light)

(Black light)

Copyright 2001-2011 Voxeo Germany GmbH

45

Managing Servers and Services Service Manager


VoiceObjects 11

Services can transition from one status to another as outlined in the following diagram.

Next to the status, the service startup mode is indicated by an icon: Startup mode is Automatic Upon starting the server, the service definition is loaded and the service is started automatically. This is the default for new services. Startup mode is Manual Upon starting the server, the service definition is loaded, but the service is not started automatically. Startup mode is Disabled Upon starting the server, the service definition is not loaded. The startup mode icons may also occur with an additional red dot ( , , ) to indicate that the option Retain caches on shutdown is active on the respective service. Knowing the startup mode is useful to quickly check whether all hosted services start up in their desired configuration when starting a server. If a problem occurs during the loading of a service definition, a yellow triangle icon is displayed to the right of the VoiceObjects Service Name. The tool tip for this icon describes the problem in more detail. The exact error message can also be found in the info box for the service. Note: A stopped service cannot be started if it shows the yellow triangle icon must first be redeployed to a valid application definition. . It

If the media platform tries to access a service that is idled or stopped, a failover VoiceXML file using the settings defined in the corresponding service (language, media platform driver, etc.) is returned. If the media platform tries to access a service that does not exist or is disabled, a failover VoiceXML file using the default settings of the server is returned. In either case, the appropriate VoiceXML file is dynamically generated based on configurations defined in the files SystemFailovers.xml and SystemFailoverTexts.xml in the folder ..\VoiceObjects\Platform\WEB-INF\config.

Copyright 2001-2011 Voxeo Germany GmbH

46

Managing Servers and Services Service Manager


VoiceObjects 11

It is possible to provide a static alternative file instead in the following location: ..\VoiceObjects\Platform\Resources\System\VXML\<LanguageCode>\dialogs\VXML\< VoiceXML version>\<Media Platform Provider>\<ProductVersion>\ Unavailable.vxml The file may contain custom VoiceXML or other markup code appropriate for the respective media platform. In this way, custom behavior can be achieved for failover cases. A simpler variation is to just modify the audio played within the failover VoiceXML. To modify it, the audio file ..\VoiceObjects\Platform\Resources\System\Audio\<LanguageCode>\ service_unavailable_formal.wav can be replaced by a custom recording. If a request for a new dialog session cannot be granted due to an insufficient number of available concurrent sessions, separate failover files are played depending on the configured Reject response. They are also dynamically generated or can be provided at ..\VoiceObjects\Platform\Resources\System\VXML\<LanguageCode>\dialogs\VXML\< VoiceXML version>\<Media Platform Provider>\<ProductVersion>\Overflow.vxml and ..\VoiceObjects\Platform\Resources\System\VXML\<LanguageCode>\dialogs\VXML\< VoiceXML version>\<Media Platform Provider>\<ProductVersion>\Redirect.vxml As above, it is also possible to modify the audio file ..\VoiceObjects\Platform\Resources\System\Audio\<LanguageCode>\ service_overflow_formal.wav Service statistics The next set of columns on the Service Manager tab provides session statistics for this service, displaying: Start Time Date and time the service was most recently started or redeployed. Active Number of currently active sessions for this service. Finished Number of sessions for this service that were completed successfully. Aborted Number of sessions for this service that were aborted due to an error condition (including dialog timeout). Rejected Number of sessions for this service that were rejected because the service was not started when the session came in, or because no more concurrent dialog sessions were available. Total Sum of the previous four columns.

The following two columns, System DB Logging and Custom DB Logging, indicate the currently applicable database logging options for the service as enabled (green

Copyright 2001-2011 Voxeo Germany GmbH

47

Managing Servers and Services Service Manager


VoiceObjects 11

light ), disabled (red light ), or overridden (black light ). If Infostore filtering is used, the icon will be partly red and partly green depending on the selected coverage. The final column Tracing indicates whether tracing is currently enabled (green light or yellow light service. ), disabled (red light ), or overridden (black light ) for this

More details on the logging and tracing functionalities of VoiceObjects can be found in Chapter 5 - Logging and Tracing. Service context menu To access service control functions, right-click anywhere in the row of the corresponding service entry. In Desktop for Web click the Context Menu button to the right of the service name. The following list describes the available service control functions: Edit Opens up the Service editor. Note that this entry is only available if the Service object comes from the Metadata Repository to which Desktop for Eclipse is currently connected. In addition the user account used for both the connections needs to be the same. Reload Service List (only available in Desktop for Eclipse) Reloads the list of services hosted on this server. This is used when you have added a new service to a server, or removed a service from a server. After reloading the service list, the Control Center will display any newly added services as stopped (see description of service states below). You need to start the service before it can be called. Services that have been deleted from the server will only be removed from the Control Center if they have been stopped before reloading the service list. Redeploy Deploys an updated version of this service. A warning window will appear to indicate that the service will be updated to the latest dialog definition. This does not affect currently active sessions, which are allowed to finish using the current dialog definition. If you confirm by clicking OK, a Please wait message comes up while the service is being redeployed. Depending on the size of the dialog definition, this process may take some time to complete. If there are active sessions on the service when it is being redeployed, the Control Center will introduce an additional row for the service (a shadow service), displayed directly below the original service entry in orange.

This row summarizes all active sessions that still use previous dialog definitions. Once all of these active sessions have terminated, the row is removed and the session statistics are consolidated into the normal row for the service. When redeploying a service, its tracing and logging settings are maintained. If the updated cache cannot be loaded due to an error condition such as an invalid object definition in the application, the built-in safeguard mechanism keeps

Copyright 2001-2011 Voxeo Germany GmbH

48

Managing Servers and Services Service Manager


VoiceObjects 11

the currently active cache intact. The error condition is indicated by a yellow triangle icon to the right of the VoiceObjects Service Name, and the full error message is provided both as the tool tip for this icon, and in the service info box (see below). After having corrected the problem, redeploy again to activate the new cache. The warning icon will then disappear. Restore Reverts back to the previously stored version of the application definition. A warning window will appear to indicate that the service will be restored to its status prior to the most recent redeploy. This does not affect currently active sessions, which are allowed to finish using the current dialog definition. If you confirm by clicking OK, a Please wait message comes up while the service is being restored. If there are active sessions on the service when it is being restored, the Control Center will introduce an additional row for the service, displayed directly below the original service entry in orange. The Restore command is only available after a previous Redeploy. Idle Sets this service into idled status. This command is only available if the service is started. A warning window will appear to indicate that the service will be idled. This does not affect currently active sessions, which are allowed to finish normally. If you confirm by clicking OK, the service attempts to idle and the Control Center shows the Please wait icon. When the service reaches idled state (after all active sessions on the service have terminated), the services status light changes to solid yellow. Resume Resumes this service. This command is only available if the service is idled. Start Starts this service. This command is only available if the service is stopped. When a service is started, it attempts to claim any guaranteed sessions assigned to it. For more information, see Chapter 9 Service Level Agreements (SLA). Note: It may not be possible to start a service if the yellow triangle icon is displayed to the right of the VoiceObjects Service Name. In such cases, check the error description shown in the service info box (see below), correct the issue, and then redeploy the service. If the warning icon disappears, you can then start the service. Stop Stops this service. This command is only available if the service is started or idled. A warning window will appear to indicate that all currently active sessions on this service will be terminated immediately. If you confirm by clicking OK, all currently active sessions on this service are terminated, and the service stops. When a service is stopped, it releases all guaranteed sessions assigned to it. For more information, see Chapter 9 Service Level Agreements (SLA). DB Logging Options Used to modify the currently applicable options for System and Custom DB logging.

Copyright 2001-2011 Voxeo Germany GmbH

49

Managing Servers and Services Service Manager


VoiceObjects 11

In the cascading submenu that comes up, both System DB logging and Custom DB logging can be enabled or disabled by clicking the respective entry. Changes made here have immediate effect, but they do not change the permanent settings made in the Service object. They influence the service behavior while the server that hosts the service is running. After a restart of the server, or a redeploy of the service itself, the service behavior reverts to what is defined in the Service object definition itself. Note that the logging options settings made on the server level override those made on the service level. Thus, if System or Custom DB logging is disabled on the server level, it is automatically disabled for all services. This is indicated by the black light ( ) in the respective DB Logging column of the Service Manager section. Tracing Options Used to modify the currently applicable tracing options for the service.

In the window that comes up you can enable or disable tracing, restrict tracing to specific channels, as well as define a comma-separated list of ANIs for which to trace sessions. No wildcards (such as ? or *) are allowed in this list. Enabling tracing with an empty ANI list means that all sessions will be traced. This is strongly discouraged in a production deployment, as it negatively impacts performance. Tracing is reset to Disabled when restarting the server that hosts

Copyright 2001-2011 Voxeo Germany GmbH

50

Managing Servers and Services Service Manager


VoiceObjects 11

the respective service. Tracing settings are kept intact during a service redeploy. For a more detailed description of the tracing functionality refer to Chapter 5 Logging and Tracing. ) in the When tracing is enabled for a service, this is indicated by a green light ( respective Tracing column on the Service Manager tab. If tracing is restricted to certain channels or to a certain list of ANIs, this is indicated by a yellow light ( Note that the tracing options settings made on the server level override those made on the service level. Thus, if tracing is disabled on the server level, it is automatically disabled for all services. This is indicated by a black light ( ). ).

Note: By default, tracing is disabled on all services after the server is reset. This can be changed by using the setting <enableTracingByDefault>true</enableTracingByDefault> in components_VOServer.xml. It is strongly recommended to not change this setting in production installations due to the amount of data that can get generated. Debug Viewer Starts a Debug Viewer session for this service. For further information refer to Debug Viewer in Chapter 4 Service Deployment. This command is only available if the service is started. Phone Simulator Starts a Phone Simulator session for this service.

From the cascading submenu that comes up, you can select to start the Phone Simulator in the text or Web channel. For further information refer to Phone Simulator in Chapter 4 Service Deployment. Details (only available in Desktop for Eclipse) Opens up the Service Details showing a summary of service information. In at the Desktop for Web the info box is opened by clicking the Maximize button right end of the row. Refer to Service details below for more details about the information displayed. Refresh (only available in Desktop for Eclipse) Used to manually refresh the Control Center to display the currently active

Copyright 2001-2011 Voxeo Germany GmbH

51

Managing Servers and Services Service Manager


VoiceObjects 11

service states, call statistics, etc. In Desktop for Web the Refresh button the menu bar can be used instead. Properties (only available in Desktop for Web) Opens up the Properties window for this service.

in

Reports (only available in Desktop for Eclipse) Provides a cascading submenu of reports available for the service. For details, refer to Appendix B Control Center Reports. This command is only available if Infostore is enabled for the service.

Service details The Service Details info box can be opened by double-clicking the service entry on the Service Manager tab or by selecting Details from its context menu. In Desktop for Web the info box is opened by clicking the Maximize button at the right end of the row.

For each available service a corresponding section is shown, providing a summary of the following information about the service: Service object Name of the Service object for this service. Project Name of the project in which the start object can be found. For XDK services deployed from a file or for volatile services, the project is shown as Unavailable. Refer to the XDK Guide for more information. Project version Name of the project version in which the start object can be found. For XDK services deployed from a file or for volatile services, the project version is shown as Unavailable. Refer to the XDK Guide for more information. Start object Name of the start object defined for the service. For XDK services, the start object may be a URL. Refer to the XDK Guide for more information. For volatile services, the start object is only the reference ID of the start object itself. For more information, refer to the redeployXDKApplication() method in Chapter 3 Using the Web Services Interface (Deploy from string) and in Chapter 4 Command Reference both in the Web Services Guide.

Copyright 2001-2011 Voxeo Germany GmbH

52

Managing Servers and Services Service Manager


VoiceObjects 11

Site ID ID of the site the service belongs to. For more information on sites, refer to Chapter 3 User Management Managing Sites in the Administration Guide. Utterance recording (only shown in Desktop for Web) Indicates whether utterance recording is enabled or disabled for this service. Note that this setting may be overridden by the one on server level. System DB Logging (only shown in Desktop for Eclipse) Indicates whether System DB logging is enabled or disabled for this service. Note that even when System DB logging is enabled for the server, DB connection problems or other issues may lead to situations in which it cannot be activated for a certain service. Custom DB Logging (only shown in Desktop for Eclipse) Indicates whether Custom DB logging is enabled or disabled for this server instance. Note that even when Custom DB logging is enabled for the server, DB connection problems or other issues may lead to situations in which it cannot be activated for a certain service. Infostore filtering (only shown in Desktop for Eclipse) Shows the current coverage of the Infostore logging as selected in the Service object. Active cache timestamp Time when the currently active cache was created. If no active cache is available, this is shown as Unavailable. Active cache size Size of the currently active cache. For reference purposes, the internal cache ID is also provided. Restore cache timestamp Time when the current restore cache was created. If no restore cache is available, this is shown as Unavailable. Restore cache size Size of the current restore cache. For reference purposes, the internal cache ID is also provided. Session guarantee / limit (Session limit only shown in Desktop for Web) The number of guaranteed sessions available to this service and the concurrent session limit for this service. If no limit has been set, Not limited is shown. The numbers shown in front are the granted guarantee and limit; the numbers shown in parentheses are the requested guarantee and limit. at the end of this entry indicates that either the session A yellow triangle icon guarantee or the session limit was overridden. The tool tip for the icon provides details. Session distribution The session distribution percentage defined for this service, or Disabled if none is defined. at the end of this entry indicates that the session A yellow triangle icon distribution is ignored. Tracing (only shown in Desktop for Eclipse) Shows the status of the tracing, which is also indicated by the appropriate light in the Tracing column in the Control Center.

Copyright 2001-2011 Voxeo Germany GmbH

53

Managing Servers and Services Maintenance Operations


VoiceObjects 11

Filter scope (only shown in Desktop for Eclipse) Shows the filter scope of the Infostore logging as selected in the Service object. This can either be Input State, System DB or System and Custom DB. Errors Shows any errors that may have occurred during the most recent (re-) deployment of this service. If errors have occurred, a yellow triangle icon shown to the right of the VoiceObjects Service Name.

is

Details (only shown in Desktop for Eclipse) Shows the session statistics for the service. These figures are identical with those shown in the corresponding columns of the Service Manager tab.

When running a server in a cluster configuration, each new server instance synchronizes with the current state of the instances in the portion of the cluster that is already running. Upon starting the first server instance in a cluster, its hosted services come up as configured in the corresponding Service objects, i.e. they come up as started if their mode is set to Automatic and they come up as stopped if their mode is set to Manual (assuming there are no problems during startup; see Configuring a Service in Chapter 2 Configuring Servers and Services for details). Manual changes can then be made to their states via the Control Center or the Command Line Interface. As a new instance in the server cluster for the respective server is started, it restores the previously determined application cache and status. As all changes to the cluster configuration are persisted to the database and restored from there, the entire cluster is always maintained in a consistent state. Caution: When a service needs to be completely removed from a server, make sure that the service is first stopped. If there are active sessions, this should be done by first idling the service, waiting until all active sessions have finished, and then stopping it so as not to interrupt the ongoing sessions. Then remove the respective Service object from the list of hosted services in the Server object. Finally, use the Reload Service list command discussed above to synchronize the state of the server with its definition.

Maintenance Operations
In a production deployment, it becomes necessary from time to time to perform certain maintenance operations such as swapping a hard drive, adding memory, etc. This paragraph describes how to perform such actions on a VoiceObjects installation without creating downtime. Of course this is only possible when using a cluster setup with multiple machines. For details on cluster configuration refer to Chapter 1 Advanced Configuration of VoiceObjects in the Administration Guide. In addition to possible cluster operations it is strongly recommended to regularly perform maintenance operations on the used database system in order to secure best performance. See the paragraph on Database Maintenance for details. Take a machine out of a cluster To perform maintenance on a machine, it typically needs to be shut down. To do this gracefully without impacting call sessions, proceed as follows: 1. Idle all server instances on the machine.

Copyright 2001-2011 Voxeo Germany GmbH

54

Managing Servers and Services Maintenance Operations


VoiceObjects 11

2.

Reconfigure the load balancer that assigns requests coming from the media platform to server instances such that the machine that is to be taken down does not receive new requests. Wait until all active dialog sessions on any server instance on this machine have finished. Stop all server instances on the machine. Shut down the machine.

3. 4. 5.

Note that while the server instances are idled (after the first step), new sessions that are routed to any of these instances by the load balancer will automatically be redirected to other active server instances within the cluster. This ensures that during the intermediate time until the second step has been completed, all incoming sessions are answered and handled correctly. Bring a machine back into a cluster After having completed maintenance work on a machine taken out of the cluster as described above, the machine needs to be brought back into the cluster. To do so, simply start the respective server instances on the machine. They will automatically merge back into the cluster and start the same services as all other instances within the cluster. After all server instances on the machine have started successfully, reconfigure the load balancer that assigns requests coming from the media platform to server instances such that the machine is included again. Add a new machine to a cluster As an installation may grow with more call traffic on existing applications or the addition of new applications, an existing cluster configuration sometime needs to be extended by adding more hardware. Adding a new machine to an existing cluster should be done as follows: 1. Configure the new machine as described in Chapter 1 Advanced Configuration of VoiceObjects in the Administration Guide. Make sure that the list of cluster members contains all existing machines as well as the new one. Start all server instances on the new machine. Reconfigure the load balancer that assigns requests coming from the media platform to server instances such that the new machine is included. For each of the old machines in the cluster, follow the steps described above to take it down. Then adjust its cluster configuration to include the new machine, and bring it back into the cluster. After the previous step has been performed for all old machines in the cluster, the new cluster is set up and contains all machines, including the newly added one.

2. 3. 4.

5.

Change the VSN of a service In rare case, it becomes necessary to change the VoiceObjects Service Name (VSN) of a deployed service. Note that this is an operation that requires changes on both the VoiceObjects and the media platform side. To gracefully change the VSN, follow these steps (assuming that the service is currently started):

Copyright 2001-2011 Voxeo Germany GmbH

55

Managing Servers and Services Maintenance Operations


VoiceObjects 11

1. 2. 3. 4. 5. 6.

In the Service object, change the VSN to the new value and save the object. Reload the service list on the server. This adds the service with its new VSN, in stopped state. Note that the service is also still present with its old VSN. Start the service with the new VSN. Once the service is started, adjust the media platform configuration such that requests now use the new VSN instead of the old one. Wait until all existing calls on the service with its old VSN are completed. Then stop the service. Reload the service list on the server once again. This removes the stopped service with the old VSN.

Cluster split-up If there are problems in the network such as outages of switches or routers or network cables that accidentally get unplugged, a cluster of VoiceObjects Server instances may temporarily break up into smaller sub-clusters. When network connectivity is restored, the cluster usually merges back together within a matter of minutes. While the cluster is split up, the following guidelines should be followed: Do not take any special actions to manually merge the cluster. It will merge back automatically. This process can take anywhere from a few seconds to a couple of minutes, counting from the time that network connectivity is restored between all members of the cluster. Do not perform any Control Center operations (such as starting, stopping, or redeploying services) while the cluster is split. If you do, the cluster state will become inconsistent and operations may have strange effects after the cluster merges back together. Avoid starting up or bringing down instances while the cluster is split. The Control Center may block temporarily while the cluster is split. The CLI may block or return error messages. In isolated cases it might be required to bring down and restart an instance if it fails to reappear in the Control Center. In isolated cases it might be required to close the Control Center tab and open it again if it continues to show an empty list of instances.

Database maintenance The following steps are important in order to maintain optimal database performance: Regular statistics update To improve the performance it is necessary to regularly run the statistics scripts MDStatistics.sql and LDStatistics.sql located at: <VoiceObjects_HOME>\Platform\WEB-INF\driver\db\<DBMS> Typically, this is done by using a batch job.

Copyright 2001-2011 Voxeo Germany GmbH

56

Managing Servers and Services Maintenance Operations


VoiceObjects 11

Regular deletion of logging data The amount of data that is logged by Infostore to the database can significantly grow over time especially in large installations with high call volumes. Depending on the available resources and business requirements it might be necessary to establish a process that removes old logging data from the database. Typically, this is done by using a batch job.

Copyright 2001-2011 Voxeo Germany GmbH

57

Service Deployment Permanent and Temporary Deployment


VoiceObjects 11

4 Service Deployment
In order to provide end-to-end connectivity, the media platform or browser that issues requests to the server must be configured properly. Typically, each service is accessed through a specific phone number in the voice and video channel, short code in the text channel, or URL in the Web channel. In this case, the media platform or browser uses a URL pointing to the server that returns the correct markup code (VoiceXML, XHTML, or a USSD markup) for the specific service. The URL mapping can either be specified directly, or a static file can be used to point to the server. Details on service deployment are provided in the following sections: Permanent and Temporary Deployment describes the two different ways of either permanently or temporarily deploying an application. Media Platform Setup explains how to configure the media platform to connect to the server. Service URL Configuration explains how to pass additional parameters to a service as part of the initial request, and how to make these parameters available in the application. Application Defaults explains how default values for objects used within a service can be set through an XML file. Dialog Exit Type explains the different exit types that are available for leaving a service. Connection Test explains how to test the availability of a service or server. Debug Viewer explains the debug mode functionality and how to use it to test voice, video, text or Web applications when no media platform is available. Phone Simulator explains the phone simulator functionality and how to use it to test and demo applications in the text and Web channel.

Permanent and Temporary Deployment


In addition to permanently deploying an application as a service on a server in the Control Center, VoiceObjects Desktop for Eclipse allows deploying an application temporarily by using the Test Monitor (this option is not available when using Desktop for Web). Deploy an application permanently To deploy an application permanently do the following: 1. Create a new Service object and link the object which represents the application you want to call as start object. Note: If you intend to use an existing service replace its start object and redeploy the service in the Control Center. Afterwards proceed with step four. 2. Add the new Service object to the list of hosted services in the Server object you want to use and select Reload Service List from the context menu of the Server object in the Control Center. Start the new service in the Control Center. Point your media platform to the service and call your application. Refer to Media Platform Setup below for more details on how to do this.

3. 4.

For details on how to configure servers and services refer to Chapter 2 Configuring Servers and Services in the Deployment Guide.

Copyright 2001-2011 Voxeo Germany GmbH

58

Service Deployment Media Platform Setup


VoiceObjects 11

For details on how to manage servers and services in the Control Center refer to Chapter 3 Managing Servers and Services in the Deployment Guide. Deploy an application temporarily To deploy an application temporarily in Desktop for Eclipse do the following: 1. Select the object which represents the application you want to call in the Object Browser, Dialog Designer or Search Result and right-click it. From the context menu select Test Application. The Test Monitor opens up and validates the selected object. Point your media platform to the embedded server. Refer to Connecting to the Media Platform in Chapter 1 Getting Started with Desktop for Eclipse in the Desktop for Eclipse Guide for a description on how to do this. in the Test Monitor. Call your application by using the Call button For further details on how to test an application using the Test Monitor refer to Test Application in Chapter 7 Basic Commands in the Desktop for Eclipse Guide.

2.

3.

Media Platform Setup


There are two possible ways to set up the connection on the media platform or browser. First, a direct URL connection can be used to point to the server. Second, the server can be called through a static index file. Desktop for Eclipse also provides a third option to directly include a media platform into Desktop for Eclipse and to call the application from within the Test Monitor. In this case the application is deployed temporarily on the embedded server (see Deploy an application temporarily above). This option should only be used for testing purposes, though. Note: In case of Web applications built with VoiceObjects, the callers usually need to type the URL into the browser of their mobile device. To avoid lengthy URLs, setup a proxy server with a simple and intuitive URL that redirects requests to the address of VoiceObjects Server. Direct URL connection In this case, the media platform uses a URL that points directly to a service hosted on a server. The connection URL should have the following format (assuming the default servlet context is used): http://server:port/VoiceObjects/DialogMapping?VSN=[VSN] where server denotes the network name or IP address of the physical server running the VoiceObjects Server process. Note that the server machine must be accessible for the media platform, which is especially important if the media platform is located outside the company network. Refer to Connector URL in Chapter 1 Advanced Configuration of VoiceObjects in the Administration Guide for more details.

Copyright 2001-2011 Voxeo Germany GmbH

59

Service Deployment Media Platform Setup


VoiceObjects 11

port

denotes the connector port for the VoiceObjects Server process. The port is set to 8099 (8070 when connecting to the embedded server in Desktop for Eclipse) by default, but can be modified during installation and configuration. See the Installation Guide for details. denotes the unique VoiceObjects Service Name (VSN) that identifies the service when initiating it through an HTTP request from the media platform. Since each service must have a unique VSN, the media platform must be configured in order to map the dialed phone number to the correct VSN. When connecting to the embedded server in Desktop for Eclipse the VSN has to be set to testService.

VSN

If a service with the given VSN does not exist, a static failover page will be returned. For more information, refer to Chapter 3 - Managing Servers and Services. Note: If you deploy a service that supports multiple phone channels, you typically define one default driver in the Service object (for a channel of your choice), and all other platforms need to include the parameter vsDriver in the initial request URL, to start the session for that specific driver. See Service URL Configuration for more information. VoiceObjects Server also supports the mapping of DNIS (Dialed Number Identification Service) numbers to specific services. To use a DNIS number instead of the VoiceObjects Service Name (VSN) as a mapping to the application, the DNIS must be passed as a parameter in the URL: http://server:port/VoiceObjects/DialogMapping?DNIS=[DNIS] where DNIS denotes the DNIS on which the incoming call was received.

If no service can be determined for the given DNIS, a static failover page will be returned. For more information, refer to Chapter 3 - Managing Servers and Services. If both VSN and DNIS are specified, VSN takes precedence. Note: Initial requests from the media platform that contain neither VSN nor DNIS will normally be rejected by the server. This behavior is configurable, but should typically not be changed. Static markup The media platform or browser can also call the server indirectly, i.e. from a static VoiceXML/XHTML/USSD markup file. In this case, the URL has the same format as for a direct URL connection. In voice and video applications, the URL can be called for example in a GOTO statement as shown in the following VoiceXML code:
<?xml version="1.0" encoding="ISO-8859-1"?> <vxml xml:lang="de-DE" version="2.0"> <form id="frmInitial"> <block name="blkInitial"> <goto next="http://voserver:port/VoiceObjects/DialogMapping?VSN=[VSN]" />

Copyright 2001-2011 Voxeo Germany GmbH

60

Service Deployment Media Platform Setup


VoiceObjects 11

</block> </form> </vxml>

This setup can also be used to quickly start playing a welcome prompt to a caller while performing additional background tasks, or to provide a limited amount of failover capability between different server instances. The following VoiceXML code gives an example:
<?xml version="1.0" encoding="ISO-8859-1"?> <vxml version="2.0" xml:lang="en-US"> <property name="timeout" value="3s" /> <property name="fetchtimeout" value="20s" /> <var name="ANI" expr="session.telephone.ani"/> <var name="DNIS" expr="session.telephone.dnis"/> <var name="submitURL" expr="'http:// vo-server:8099/VoiceObjects/DialogMapping?VSN=myservice'"/> <var name="submitURL2" expr="'http:// backup-server:8099/VoiceObjects/DialogMapping?VSN=myservice'"/> <catch event="exit"> <disconnect/> </catch> <catch event="error.badfetch"> <submit fetchaudio="http://server/resources/Jingle.wav" expr="submitURL2" namelist="ANI DNIS"/> </catch> <form id="MAIN"> <block> <submit fetchaudio="http://server/resources/Jingle.wav" expr="submitURL" namelist="ANI DNIS"/> </block> </form> </vxml>

As soon as the call comes into the media platform, a jingle is played. In parallel, a new dialog session is initiated on the server running on the machine vo-server. Should this fail, an attempt is made to initiate this dialog session on the server running on the machine backup-server. In Web applications, an XHTML page can be prepared that essentially does the same thing: show some welcoming message and provide a button to start the session on VoiceObjects Server. Here is an example:
<?xml version="1.0" encoding="ISO-8859-1"?> <html> <body> <h1>Prime Insurance</h1> Thanks for calling our service. <form action="http:// http://voserver:port/VoiceObjects/DialogMapping?VSN=[VSN]" <input type="submit" value="Start" /> </form>

Copyright 2001-2011 Voxeo Germany GmbH

61

Service Deployment Service URL Configuration


VoiceObjects 11

</body> </html>

In text applications, the markup depends on the driver. The following is an example for the Cellicium Cellcube 3.6 USSD browser, which also supports an immediate redirect:
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE pages SYSTEM "cellflash.dtd"> <pages> <page backtext="notext" menutext="notext"> <redirect src="http:// http://voserver:port/VoiceObjects/DialogMapping?VSN=[VSN]" /> </page> </pages>

The Sicap USSD Menu Browser 3.2 browser uses a small subset of HTML as its markup language, so the code for that platform could look as follows:
<html> <body> Prime Insurance.<br/> Thanks for calling our service. <a href="http:// http://voserver:port/VoiceObjects/DialogMapping?VSN=[VSN]" /> </body> </html>

Note: If a media platform or browser applies document caching mechanisms to reduce response times, it might use a cached version of the document rendered by the server in case the URL has the same form as an earlier request. To avoid this add the parameter msec to the request URL with a unique numeric value. This parameter is ignored by the server but prevents the media platform from using a cached document if the value is different on each request. This is a mechanism that works on all possible platforms, i.e. voice or video platforms, Web and USSD browsers. The following example for voice and video applications shows how to use ECMAScript to generate the value from the timestamp of the server hosting the VoiceXML file:
<?xml version="1.0" encoding="ISO-8859-1"?> <vxml xml:lang="de-DE" version="2.0"> <form id="frmInitial"> <block name="blkInitial"> <goto expr="'http://server:port/VoiceObjects/DialogMapping?VSN=[VSN]&msec='+ new Date().getTime()" /> </block> </form> </vxml>

Since mobile Web browsers usually do not provide embedded scripting engines, calculating a unique value for the msec parameter is not possible in XHTML for this kind of browsers. Use a CGI script (e.g. JSP) to generate dynamic URLs in this case. The same approach would be required for USSD browsers, due to the same reasons.

Service URL Configuration


A service is usually configured in the Service editor. In addition the service can be (re)configured at call time by passing configuration parameters to the service in the initial request URL. The supplementary parameters can be passed in the following way, assuming the service is called using the VSN as described in the previous paragraph:

Copyright 2001-2011 Voxeo Germany GmbH

62

Service Deployment Service URL Configuration


VoiceObjects 11

http://server:port/VoiceObjects/DialogMapping?VSN=[ReferenceID]&param=value The possible parameters are listed in the following table. All parameters are case sensitive and start with the prefix vs for VoiceObjects Service. Variable and layer values can also be passed; they use the var and lay prefix, respectively. Details are also described in the following table. The legal values for the vsDriver parameter are listed in Appendix A Media Platform Drivers. Service URL parameters Parameter vsAudioExtension vsBargein vsContentType vsDefaultResourcePath vsDefaultResourceURI vsDialogTimeout vsDriver Description Overrides the audio file extension specified in the service. Overrides the default barge-in setting specified in the service. Possible values are true and false. Overrides the content type specified in the service. Overrides the default resource path specified in the service. Overrides the default resource URL specified in the service. Overrides the dialog timeout specified in the service. Value is interpreted in seconds. Overrides the media platform driver specified in the service. In order to activate a specific driver its id or internalName from the configuration file MPDrivers.xml must be provided. Overrides the dialog exit type specified in the service. Possible values are disconnect, exit, and return. Overrides the grammar file extension specified in the service. Overrides the grammar control setting specified in the service. Possible values are true and false. Overrides the default grammar type specified in the service. Possible values are abnf, gsl, jsgf, srgs_xml, regex, precompiled, and none. Overrides the default grammar mode specified in the service. Possible values are embedded:external and external:embedded. Overrides the default input mode specified in the service. Possible values are voice, dtmf, and voicedtmf. Overrides the application language specified in the service. Overrides the default logging categories specified in the service. Possible values are comma-separated lists of categories from among info, debug, error, stats, billing.

vsExitType vsGrammarExtension vsGrammarControl vsGrammarMediaType

vsGrammarMode

vsInputMode vsLanguage vsLoggingCategories

Copyright 2001-2011 Voxeo Germany GmbH

63

Service Deployment Service URL Configuration


VoiceObjects 11

Parameter vsLoggingDestination

Description Overrides the default logging destination specified in the service. Possible values are db (= Custom DB), file (= Log File), logOSDM (= Log OSDM), sp (= Media Platform), dialogContext (= System DB). Overrides the default output mode specified in the service. Possible values are audio:tts and tts:audio. Overrides the HTTP proxy host specified in the service. Overrides the HTTP proxy port specified in the service. Overrides the reject response specified in the service. Possible values are overflow and redirect. Overrides the default recording scope specified in the service. Possible values are all, noMatch, and recognition. Overrides the default value of the Record utterances setting specified in the service. Possible values are true and false. Overrides the value of the Respect user-agent in Web channel setting specified in the service. Possible values are true and false. Overrides the default value of the Session variables setting in the service. Overrides the standby timeout specified in the service. Value is interpreted in seconds. Overrides the video file extension specified in the service. Overrides the value of the specified variable. VarID must match the reference ID of the variable that should be overwritten with the specified value. Overrides the initial state of the specified layer. LayerID must match the reference ID of the layer, the default state of which should be overridden with the specified state ID.

vsOutputMode vsProxyHost vsProxyPort vsRejectResponse vsRecordingScope

vsRecordUtterances

vsRespectUserAgent

vsSessionVariables vsStandbyTimeout vsVideoExtension varVarID

layLayerID

The content type of the markup returned to the media platform depends on the selected driver and is set to application/voicexml+xml in most voice and video drivers. To change this value, specify vsContentType as parameter and the required setting as the value in the connection URL. Variable values can be set by passing the desired value of the variable as the value, and the reference ID of the variable with the prefix var as the parameter name. E.g. to set the value of a variable with the reference ID Status to gold the following parameter/value setting must be appended to the URL: http:///DialogMapping/VSN=[VSN]&varStatus=gold In a similar way, layers can be set to a specific state by passing the ID of the desired state as the value and the reference ID of the layer with the prefix lay as the

Copyright 2001-2011 Voxeo Germany GmbH

64

Service Deployment Application Defaults


VoiceObjects 11

parameter name. E.g. to set the state of a layer with the reference ID Persona to alice the following parameter/value setting must be appended to the URL: http:///DialogMapping/VSN=[VSN]&layPersona=alice Parameters that cannot be recognized by the prefixes vs, var, or lay will be assumed to be session parameters and are placed into the session context. This includes the parameters ANI, DNIS, RDNIS, MPSID, AAI, CRMID, and GCID. Their values can be retrieved or set using the SESSION() function.

Application Defaults
In addition to passing initial values for objects in the request URL as described above in Service URL Configuration, they can also be provided in an XML file that is referenced within the service definition. Moreover, Variable, Collection and Layer objects can be defined as a parameter in the Expression function APPLYCONFIGURATION(configurationXML). Note that Resource Locator objects can only be defined through a reference in the service definition. See Default Parameters in Chapter 2 Configuring Servers and Services for more information on how to specify the location of this file in a Service object. Tip: Passing parameters through the initial request URL should be done for all those parameters that are platform-specific, since the request URL is set on the media platform. All those parameters that are application-specific should be defined using the XML file. Note that if an object is defined both in the request URL and in an application defaults file, the request URL takes precedence. Application defaults are defined using an XML notation. The corresponding XSD file for validation can be found at ...\VoiceObjects\Platform\WEB-INF\schemas\ApplicationConfiguration.xsd The following code provides a sample configuration:
<?xml version="1.0" encoding="UTF-8"?> <configurations> <configuration> <referenceID>minimumAge</referenceID> <type>variable</type> <value>18</value> </configuration> <configuration> <referenceID>location</referenceID> <valuePath>C:\</valuePath> <valueURL>http://dataserver/</valueURL> </configuration> </configurations>

The entire set of application defaults must be enclosed within a <configurations> element; each individual value assignment must be enclosed within a <configuration> element.

Copyright 2001-2011 Voxeo Germany GmbH

65

Service Deployment Dialog Exit Type


VoiceObjects 11

Objects are referenced using their reference ID, which is specified within the <referenceID> element. If a value is specified for a reference ID that does not exist in the application, it is ignored, but a corresponding log message is written to the log file of the server. If the <referenceID> definition is missing altogether in a <configuration> element, deployment fails and a corresponding message is written to the server log file. If more than one entry with the same reference ID exists in the file, the last definition is used and a corresponding log message is written to the server log file. Optionally, the type of the object can be specified using the <type> element; this is used for validation purposes only. Legal values for the <type> element are variable, collection, layer, and resourceLocator. In case of a mismatch between the specified <type> definition and the actual type of the referenced object, deployment fails and a corresponding message is written to the server log file. Deployment also fails in case of an unknown or misspelled <type> value. For Variable, Collection, and Layer objects the default value to be assigned is specified using the <value> element. For Resource Locator objects, the path and URL are defined using the elements <valuePath> and <valueURL>, respectively. If only a <value> definition is present for a resource locator, it is interpreted as <valueURL>. If both <value> and <valueURL> are present, deployment fails and a corresponding error message is written to the server log file. For Layer objects, the <value> element must hold a valid state ID. If no valid state ID is given, deployment fails as described above. Note: Leading and trailing blanks are removed if they appear inside <value>,
<valueURL>, or <valuePath>. If you need to embed blanks in the value of an object,

use the &#160; entity instead. The file that defines the application defaults is read when the service is started the first time (on server startup, or when adding it to the server's service list and reloading this list), and on each Redeploy or Restore command issued to the service. For more information on these commands, refer to Chapter 3 - Managing Servers and Services. If a problem occurs during either the reading of the file (e.g. file cannot be found or does not contain valid XML) or the setting of the default values, the Redeploy or Restore fails. In this case, the currently active application remains active (thus, no downtime will occur) and an error message is shown in the tooltip of a yellow triangle next to the service in the Control Center, as well as written to the server log icon file.

Dialog Exit Type


The dialog exit type specifies what happens when the dialog is finished and the call exits the service. This setting is only relevant for voice and video applications. Standard behavior here is hang up, which means that the call is terminated and a disconnect VoiceXML is sent to the media platform. Alternatively, the call can be returned to the calling application. This is usually the case if the call was initiated outside of VoiceObjects. If this dialog exit type was chosen, a VoiceXML with the <return> tag is sent back to the media platform. Finally, the call can be terminated by using the <exit> tag. This leaves it up to the media platform to decide whether to hang up, or whether to transfer the call to another application or to a human agent.

Copyright 2001-2011 Voxeo Germany GmbH

66

Service Deployment Connection Test


VoiceObjects 11

The behavior in all cases and in call channels is defined by static markup files that are sent to the media platform. The behavior can be modified by adjusting these files, which can be found under ..\VoiceObjects\Platform\Resources\System\VXML\<LanguageCode>\dialogs\VXML\< VoiceXML version>\<Media Platform Provider>\<ProductVersion>\ with the names Disconnect.vxml, Return.vxml, and Exit.vxml. While they are originally motivated for VoiceXML-based platforms only, they can also be defined in the text and Web channel. The names and extension (.vxml) are the same, though. Note: This mechanism of using external files is only applied when the dialog finishes because there are no more objects to process or in error cases if there is no error handler defined. It is not applied in case the dialog finishes with an Exit object.

Connection Test
After completing the configuration of the service and setting up connectivity between the media platform and the server, the availability of the server, server instances, and services can be tested. To do this, the following URLs must be loaded e.g. in a Web browser: http://server:port/VoiceObjects/DialogMapping?ping=server tests the availability of the server. If a server is available at the specified URL, its reference ID is returned. http://server:port/VoiceObjects/DialogMapping?ping=instance tests the availability of a specific server instance. If an instance is available at the specified URL, it returns its current status: Value STARTED REQUEST_IDLE IDLED STOPPED Description The server instance is started and ready to serve requests. The server instance does not accept any new sessions but is still processing currently active sessions. The server instance is idled and does not accept any new sessions. The server instance is stopped and does not accept any new sessions.

http://server:port/VoiceObjects/DialogMapping?VSN=[ReferenceID]&ping=server tests the availability of a specific service on the server. Depending on the status of the service, the following values are returned: Value Description

Copyright 2001-2011 Voxeo Germany GmbH

67

Service Deployment Debug Viewer


VoiceObjects 11

Value UNAVAILABLE

Description The service is not available, or no service matches the VSN. This may also indicate that the entire server is stopped. The service is currently starting. The service is started and ready to serve requests. The service does not accept any new sessions but is still processing the currently active sessions. The service is idled and does not accept any new sessions. The service is stopping and aborting all currently active sessions. The service is stopped and does not accept any new sessions.

STARTING STARTED REQUEST_IDLE IDLE STOPPING STOPPED

Note that in a cluster setup, a service can be in status STARTED yet still not be available on certain server instances since these instances are idled or stopped. To check this, there is the command http://server:port/VoiceObjects/DialogMapping?VSN=[VSN]&ping=instance which tests the availability of a specific service on a specific server instance. The result is of the form <Instance status>:<Service status>. So e.g. in a cluster setup with three instances one of which is idled and the others started, a service that is started on the cluster would produce STARTED:STARTED on the started instances and IDLED:STARTED on the idled instance. The connection test functionality can be used in combination with a load balancer setup to repeatedly check whether a server running on a specific machine still responds appropriately. The list of hosts that are allowed to issue ping requests can be restricted using the
<pingIPFilter>*</pingIPFilter>

setting in the VOServer_Configuration.xml file. The default setting is *, which indicates that any host may issue ping requests. It may be set to a comma-separated list of IP addresses or host names, which indicates that only these hosts may issue ping requests. Finally, if left empty then no ping requests are allowed at all. Caution: Note that the old connection test syntax http://server:port/VoiceObjects/DialogMapping?ping=true is deprecated.

Debug Viewer
Sometimes it is desirable to test application functionality without having access to a media platform. This can be accomplished by using the Debug Viewer. It is a code viewer that shows the rendered markup for each dialog step and offers ways for the tester to interact with the application. In the voice and video channel, the code is

Copyright 2001-2011 Voxeo Germany GmbH

68

Service Deployment Debug Viewer


VoiceObjects 11

VoiceXML. In the text channel, it is proprietary markup code used by the corresponding platform vendor, whereas in the Web channel it is HTML. Start a Debug Viewer session The Debug Viewer is initiated by appending the setting mode=Debug to the initial request URL, which must be called in a Web browser: http://server:port/VoiceObjects/DialogMapping?VSN=[ReferenceID]&mode=Debug When using a connector URL (e.g. in case the server is behind a firewall), the externally visible address may not be usable for internal testing. For these cases it is possible to specify a separate address for the debug mode. This is defined using the parameter address in the initial request URL, e.g. http:///DialogMapping?VSN=[ReferenceID]&mode=Debug&address=127.0.0.1 All references to the normal server address are replaced by the specified alternative address. All other functionality remains as described above. In addition to the IP address, it is also possible to modify the port by using the notation http:///DialogMapping?VSN=[ReferenceID]&mode=Debug&address=127.0.0.1:8097 Note that a Debug Viewer session can also be directly started from within the Control Center using the entry Debug Viewer in a services context menu. This entry is only available for started services. When starting a Debug Viewer session from the Control Center, a dialog box comes up to enter the testing URL to be used for the session. This allows you for example to connect to different server instances within a cluster.

By default, this dialog box contains the testing URL configured in the preferences of this Control Center connection. In Desktop for Web the dialog box contains the testing URL configured in the Server object. Internally the string DebugviewInfo, the name of the corresponding servlet, is automatically added to the testing URL. After an IP address and port have been confirmed by clicking OK, the Debug Viewer Configuration window is shown.

Copyright 2001-2011 Voxeo Germany GmbH

69

Service Deployment Debug Viewer


VoiceObjects 11

In the Parameter(s) field, you may enter additional parameters to be passed to the application, as described in the section on Service URL Configuration. In addition, various parameters such as ANI, DNIS, etc. may be set. The exact list of parameters depends on the media platform that is used. For most of these parameters, default values are provided. To start the dialog, click the Start Session button. The reply from the server is shown as follows:

The Debug Viewer shows the markup code generated by the server, color-coded and enhanced for HTML display. Blocks of markup code may be expanded and collapsed using the plus [+] and minus [-] buttons. In the voice and video channel, the bottom of the VoiceXML code is displayed first for each dialog step, since this is where the prompts of this step are typically located. Use the scroll bar to move the code up and down, and use the two buttons and to jump to the top or bottom of the code. Some links in the rendered code are color-coded and clickable. Three different types of active links are available:

Copyright 2001-2011 Voxeo Germany GmbH

70

Service Deployment Debug Viewer


VoiceObjects 11

Audio files are displayed in red font and can be played in the operating systems default media player by clicking them.

Grammar files are displayed in blue font and can be viewed in a pop-up window by clicking them.

Requests that go back to the server are displayed in black font and can be activated by clicking them.

How to step through a dialog session To step through a dialog, either click the black-colored links that lead back to the server, or use the Next Step > button at the top. Additional parameters that you want to include in a request to the server during a dialog session can be added manually in the Parameter(s) text field, if required. When using the Debug Viewer, do not use the Web browsers navigation buttons (such as Back), because this will interfere with the navigation logic maintained on the server. If you want to end a call, click the Hang up button. The last markup page is then rendered, and you can close the window by clicking Close. If you close the Debug on the tab header), Viewer window without hanging up first (using the Close icon

Copyright 2001-2011 Voxeo Germany GmbH

71

Service Deployment Debug Viewer


VoiceObjects 11

the dialog session will remain as an active session on the server until it runs into the dialog timeout. Hyperlinks in the voice and video channel that lead back to the server can be activated by clicking the black-colored <submit> element associated with a greencolored <link> element. How to navigate through and interact with an application depends on the object type of the current dialog step. The following sections describe the interaction with voice and video applications through VoiceXML. In the text and Web channel, corresponding code is shown that also allows interacting with the application. Output objects Output objects do not gather any caller input; therefore you can skip them by clicking Next Step >.

Copyright 2001-2011 Voxeo Germany GmbH

72

Service Deployment Debug Viewer


VoiceObjects 11

Input objects For Input objects that need to fill slots, input fields are generated below the Parameter(s) field, one for each slot:

To fill the slots, type in the slot values in the format provided by the grammar. Note that you cannot enter real caller utterances in these fields, as there is no parsing of the grammar taking place in the server. Only slot values (i.e. the semantic interpretation) as needed by the Input object are allowed. In a multi-slot example like the above one you can leave out a slot if you want to simulate that only one of several slots has been filled by the caller. If you want to simulate a No Input event in order to auto-advance to the next dialog step, do not click Next Step > with empty slots, but instead click the black-colored <submit> element nested in a <catch event="noinput"> event handler element. Menu objects For Menu objects, the server generates <choice> elements that represent the Menu items. To select a Menu item, identify the correct <choice> element by looking at the grammar of that <choice>, and click the black-colored <submit> element located directly above the <choice>. Confirmation objects The Confirmation object allows confirming or denying a summary of gathered input items. To confirm, click the <submit> element nested in the <catch event=summary.yes> element at the bottom of the VoiceXML code. To deny, click the <submit> element nested in the <catch event=summary.no> element. List objects The List object allows navigating through a list of items. If you want to use a specific navigation command, enter the required slot value (like nextRow, start, etc.) in the input field called sltNavigation located right below the Parameter(s) field. If you want to simulate a No Input event in order to auto-advance to the next item, click the <submit> element nested in the <catch count="1" event="noinput">. Pause objects If the Pause object does not have a redirect object defined, leave the Pause object by clicking Next Step >. If a redirect object is defined, click the <submit> element nested in the <catch event=noinput> element with the highest count attribute value, located at the bottom of the VoiceXML code. This value corresponds to the number of reiterations defined in the Pause object, plus 1.

Copyright 2001-2011 Voxeo Germany GmbH

73

Service Deployment Debug Viewer


VoiceObjects 11

Connector and Script objects In case a wait loop audio is played while the server is processing a Connector or Script object, simply jump to the next dialog step by clicking Next Step >. Plug-In objects Fill any parameters required for a plug-in in the Parameter(s) field and click Next Step >. Recording objects Real recordings cannot be simulated with the Debug Viewer. To simply skip a Recording object, click Next Step >. Transfer objects Blind transfers will not lead back to the application, instead the platform activates a disconnect.transfer event which will be caught by the server to terminate the dialog session. To simulate a blind transfer, click the black-colored <submit> element below the <catch count="1" event="connection.disconnect.transfer"> event handler which is typically located right above the <transfer> element Note: If you click Next Step > for a blind transfer, the application continues, which is not the behavior you would get when calling through a media platform. Bridged transfers do lead back to the application, so simply click Next Step > to simulate a completed transfer. Exit objects If an output is defined inside the Exit object, first click Next Step > to leave this dialog step. The Exit object always terminates the session on the server, so the VoiceXML code produced by the Exit object is the last dialog step for an application. OSDM objects When using the Debug Viewer in combination with OSDMs, embedded grammar definitions that are passed to the OSDMs in variables cannot be displayed correctly within the Debug Viewer due to the use of masked XML characters. So even though they may look strange in the Debug Viewer output, they are passed correctly into the OSDMs. Furthermore, if a Variable or Script object as part of an Output object holds XML content that has the structure of a collection (<root> as the top-level element, with <row> and <col> children), it will be read out cell by cell. In the Debug Viewer you will therefore not see the XML structure, but only the text content of the cells. If the XML is of a different structure, the content is fully retained. Note that in this case, the display in the Debug Viewer might be broken if the content holds an XML header (i.e. an XML processing instruction).

Copyright 2001-2011 Voxeo Germany GmbH

74

Service Deployment Phone Simulator


VoiceObjects 11

Phone Simulator
The Phone Simulator is a graphical tool to simulate calls in the text and Web channels. It can be used to test and demo applications in the text channel when no USSD gateway is available. While the Web channel can easily be tested directly through a browser, Web sessions can also be simulated using this tool. The Phone Simulator shows an image of a mobile phone (offering three different skins) and allows the navigation within an application by entering text or activating hyperlinks. Start a Phone Simulator session The Phone Simulator is launched externally by calling the PhoneSimulator servlet in a Web browser: http://server:port/VoiceObjects/PhoneSimulator?VSN=[ReferenceID] When using a connector URL (e.g. in case the server is behind a firewall), the externally visible address may not be usable for internal testing. In this case it is possible to specify a separate address for the Phone Simulator. This is defined using the parameter address in the initial request URL, e.g. http:///PhoneSimulator?VSN=[ReferenceID]&address=127.0.0.1 All references to the normal server address are replaced by the specified alternative address. All other functionality remains the same. In addition to the IP address, it is also possible to modify the port by using the notation http:///PhoneSimulator?VSN=[ReferenceID]&address=127.0.0.1:8097 In addition, the following four parameters can be added to the external request. They will make the configuration page preset the corresponding settings. Parameter phoneSimSkin Description The desired phone style. This can be one of the three values standard, blackberry, or iphone. A Boolean parameter with values true (the default) and false. If set to true, the session information will be shown; if set to false, it will not. The desired phone channel. This can be text (the default) or web. The desired character limit. The default is 182. If the value is not a number or <1, it is set to 182.

phoneSimHeader

phoneSimChannel

phoneSimCharLimit

A full URL could look like this: http://localhost:8099/VoiceObjects/PhoneSimulator?VSN=abc&phoneSimSkin=iphone &phoneSimHeader=false&phoneSimChannel=text&phoneSimCharLimit=91 If all four parameters are set, the configuration page is skipped and the dialog is started right away. Note that a Phone Simulator session can also be directly started from within the Control Center using the entry Phone Simulator in a services context menu. This

Copyright 2001-2011 Voxeo Germany GmbH

75

Service Deployment Phone Simulator


VoiceObjects 11

entry is only available for started services. From the upcoming submenu, select the channel you want to test, Text or Web. When starting a Phone Simulator session from the Control Center, a dialog box comes up that asks for the testing URL to be used for the session. This allows you for example to connect to different server instances within a cluster.

By default, this dialog box contains the testing URL configured in the preferences of this Control Center connection. In Desktop for Web the dialog box contains the testing URL configured in the Server object. Internally the string PhoneSimulator, the name of the corresponding servlet, is automatically added to the testing URL. After an IP address and port have been confirmed by clicking OK, the Phone Simulator Configuration window is shown.

To specify the skin, i.e. the image of the phone used during a session, select one of three available skins from the Skin field. In the Character limit field, specify the character limit to be applied during the session. This can be used in the text channel, to verify whether an output exceeds the allowed number of characters. The default is 182 in non-Unicode USSD deployments. The number of characters is displayed during the session. If an output hits the limit, the number is displayed with red color, otherwise black. Use the checkbox Show session information during dialog to toggle an info box during a session that shows the following call time details: step number, processing time, current module name, driver, language, and characters used in output. Navigate in the Phone Simulator To start the dialog, click the Start Session button in the Phone Simulator Configuration window.

Copyright 2001-2011 Voxeo Germany GmbH

76

Service Deployment Phone Simulator


VoiceObjects 11

The server opens up the Phone Simulator, showing the information box if selected and the image of the selected phone, and starts the session.

In the text channel, navigation within a session works as follows: To reply to a system prompt, first click Reply, either by clicking the link directly, or by clicking the button on the phone right below the link. Enter the response by either using the keyboard, or the phone buttons. When clicking a phone button once, the number character is printed on the screen. To get the other available characters on a button, point the mouse to the button, wait for the tool tip to appear, and click the desired character to print it on the screen. Send your response by clicking the Send link or the corresponding phone button.

In the Web channel, navigation within a session works as follows: To select a hyperlink, radio button, or drop-down entry, simply click it. To fill in an input field, enter the text by either using the keyboard or the phone buttons. When clicking a phone button once, the number character is printed on the screen. To get the other available characters on a button, point the mouse to the button, wait for the tool tip to appear, and click the desired character to print it on the screen. Send your response by clicking the proceed button.

To end a call, press the red button on the phone. The VoiceObjects logo appears. To close the entire window, press the red button again. To restart the session with the same settings as before, press the green button on the phone.

Copyright 2001-2011 Voxeo Germany GmbH

77

Service Deployment Phone Simulator


VoiceObjects 11

Note: Font sizes and input fields in the Web channel most likely appear larger in the Phone Simulator than on a real phone. This is due to a technical restriction related to the CSS file used (default.css if no custom file is defined) and can only be changed by manually adjusting the sizes and widths inside the style sheet definition. For demo purposes, a customized CSS file should therefore be deployed, which is optimized for use with the Phone Simulator.

Copyright 2001-2011 Voxeo Germany GmbH

78

Logging and Tracing Server Logs


VoiceObjects 11

5 Logging and Tracing


The Control Center provides access to detailed log information both on the level of the server as well as on the level of each individual service. In addition, sophisticated session tracing capabilities are provided to support designers in analyzing and debugging applications.

Server Logs
The Server Logs tab provides access to the server log files, for both single server and cluster server setups. Server Administrators and Server Controllers have access to this tab for all servers. Site Administrators and Site Controllers have access to it for servers from within their own site. For more information on user roles and their privileges refer to Chapter 2 User Management Basic Topics in the Administration Guide.

The different server instances are identified by their name (if defined) or by their IP address and port, shown in the Server Instance column. To open a log file double-click it or right-click it and select View from its context menu (note that this is only available on non-empty log files). The log file is then opened as a new tab in the editor area of Desktop for Eclipse.

Copyright 2001-2011 Voxeo Germany GmbH

79

Logging and Tracing Service Logs


VoiceObjects 11

Using the Filter field at the top you can restrict the list of log files to those that contain a certain text string within their name, or that have a name starting with a certain text string (when selecting the Starts with check box). In Desktop for Web a separate box is shown for each server instance. Log files can be viewed (up to a maximum size of 1 MB), or downloaded (both only possible on nonempty log files). To view a log file, click its name. It will be displayed in a new window. To download a log file, click the Download button to the right of the log file name. Note: When log files are viewed in a browser window, note that character entities are unmasked. As an example, a &amp; in the log file will show up as &. Note: To ensure that log file viewing and downloading works in cluster environments, it is required that the correct mapping between IP addresses and host names is available for the machines that are involved in the cluster. In Unix environments, this may require the correct setup of host tables.

Service Logs
The Service Logs tab provides access to the log files for all services, for both single server and cluster server setups. It is accessible to all users who may access the Control Center. Only log files for those services listed on the Server Manager tab are shown, which may be a subset of the total list of services hosted on this server. For more information on user roles and their privileges refer to Chapter 2 User Management Basic Topics in the Administration Guide.

The different server instances are identified by their name (if defined) or by their IP address and port, shown in the Server Instance column. To open a log file double-click it or right-click it and select View from its context menu (note that this is only available on non-empty log files). The log file is then opened as a new tab in the editor area of Desktop for Eclipse. Each service has two associated log files named VSN_service.log and VSN_error.log (where VSN stands for the VoiceObjects Service Name of the respective service). The VSN_service.log file contains messages written by the Log object with destination File. The VSN_error.log file contains all error messages related to this service. These error messages are additionally shown in the server log files. Using the Filter field at the top you can restrict the list of log files to those that contain a certain text string within their name, or that have a name starting with a certain text string (when selecting the Starts with check box). In Desktop for Web a separate box is shown for each server instance. Log files can be viewed (up to a maximum size of 1 MB), or downloaded (both only possible on nonempty log files). To view a log file, click its name. It will be displayed in a new window. To download a log file, click the Download button to the right of the log file name.

Copyright 2001-2011 Voxeo Germany GmbH

80

Logging and Tracing Session Tracing


VoiceObjects 11

Session Tracing
The Session Tracing tab provides access to the server trace files, for both single server and cluster server setups. It is accessible to all users who are allowed to access the Control Center. Only trace files for those services listed on the Server Manager tab are shown, which may be a subset of the total list of services hosted on this server. For more information on user roles and their privileges refer to Chapter 2 User Management Basic Topics in the Administration Guide.

The different server instances are identified by their name (if defined) or by their IP address and port, shown in the Server Instance column. To open a trace file double-click it or right-click it and select View from its context menu (note that this is only available on non-empty log files). The Trace Viewer showing the content of the trace file is then opened as a new tab in the editor area of Desktop for Eclipse. To delete trace files, select the appropriate file entries, right-click on one of them and select the Delete entry from the context menu. This opens up a confirmation window, and if confirmed deletes the selected trace files. It is strongly recommended to delete trace files when they are no longer required in order to keep the list manageable. The list of trace files is ordered by time of file creation, with the newest file at the top of the list. Trace files can be viewed while the corresponding call is still going on, or at any time after the call has finished. Using the Filter field at the top you can restrict the list of log files to those that contain a certain text string within their name, or that have a name starting with a certain text string (when selecting the Starts with check box). Session tracing can be enabled and disabled individually for each service and list of ANIs. The section on the Server Management in Chapter 3 Managing Servers and Services provides more details. Note: By default, tracing is disabled on all services after the server is reset. This can be changed by using the setting <enableTracingByDefault>true</enableTracingByDefault> in components_VOServer.xml. It is strongly recommended to not change this setting in production installations due to the amount of data that can get generated. In Desktop for Web a separate box is shown for each server instance. In total a maximum of 1,000 trace files is shown. To view a file, click its name. This opens the Trace Viewer in a new window. To delete trace files, select the appropriate check boxes and click the Delete button. This opens up a confirmation window, and if confirmed deletes the selected trace files. All files can be selected or de-selected at once by using the extra check boxes at the top and bottom of the list. It is strongly

Copyright 2001-2011 Voxeo Germany GmbH

81

Logging and Tracing Trace Viewer


VoiceObjects 11

recommended to delete trace files when they are no longer required in order to keep the list manageable. Refer to the Trace Viewer paragraph below for detailed information on the Trace Viewer.

Trace Viewer
The Trace Viewer is used to display the content of a trace file. It displays general session information at the top of the window: the name of the server that processed the session, the VoiceObjects Service Name (VSN), the media platform driver that was used, the ANI of the caller, and the internal dialog ID assigned to the session.

Copyright 2001-2011 Voxeo Germany GmbH

82

Logging and Tracing Trace Viewer


VoiceObjects 11

The detail information presented in the Trace Viewer can be filtered to eliminate certain blocks of information. This allows designers to focus on the specific aspect of the application they want to analyze or debug. The categories that can be filtered out are Session Information, Navigation, Event Handling, Grammars, Hyperlinks, and Tuning. Each time an entry is selected from the drop-down list, it is added to the list of filtered items. This way, multiple blocks of information can be filtered simultaneously. The currently active filter list is shown below the drop-down field. To reset the filter list, select None from the drop-down list. Below the header section, the individual dialog steps are listed. A dialog step is defined as one interaction between server and the media platform. This means in

Copyright 2001-2011 Voxeo Germany GmbH

83

Logging and Tracing Trace Viewer


VoiceObjects 11

particular that for each dialog step, there is a block of markup code that was sent from the server to the media platform. This block of markup code is part of the tracing data available for each dialog step. Note that a dialog step may contain multiple dialog objects since not all of them actually generate markup code. Objects such as Expression for example are evaluated internally within the server. Other objects such as Input or Menu on the other hand generate markup code that needs to be sent to the media platform for interaction with the caller. The Processed objects column shows the icons for all objects that were processed during this dialog step. Their names are provided as tooltips. The Last processed object column provides the name of the last object that was processed in this dialog step. This is the object that created the markup code sent to the media platform for this dialog step. The Processing column shows the time (in milliseconds) the server needed to process the entire dialog step. The Dialog column shows the accumulated elapsed time for the entire dialog. to reveal the Individual dialog steps can be expanded using the Maximize button detailed sequence of objects that were processed internally by the server during this dialog step. Additional information about each object can be obtained by expanding the object itself. By clicking the object icons it is also possible to immediately open up the corresponding object editor, provided that the project from which the objects come is currently open in VoiceObjects Desktop. In addition to the individual objects processed during the dialog step, the markup code that was sent to the media platform is also available under the heading Rendering Output.

Copyright 2001-2011 Voxeo Germany GmbH

84

Logging and Tracing Trace Viewer


VoiceObjects 11

The Trace Viewer can be used after a session has been completed, as well as during ongoing sessions. In this case, use the Refresh button (currently only available in Desktop for Web) at the top of the Trace Viewer window to refresh the content periodically as the session progresses. Additional settings sent as part of the initial request URL, or parameter values sent by the media platform (such as slot values) can be found within the Session Information sections:

Copyright 2001-2011 Voxeo Germany GmbH

85

Logging and Tracing Trace Viewer


VoiceObjects 11

The example above shows an initial request URL. In addition to the standard parameters such as ANI, DNIS, etc. two variables were set to initial values: The variable with reference ID drink was set to the value tea, and the variable with reference ID food was set to cake. Caution: Session tracing is intended to be used during development. As it impacts the performance of VoiceObjects Server, it is strongly recommended to keep session tracing disabled in production environments or in any case at least to restrict the list of ANIs to one or two. For information on how to do this, refer to Server Management in Chapter 3 Managing Servers and Services. For the exceptional case that tracing is enabled in a production environment it is recommended to configure the operating system such that the trace folder is cleaned on a regular basis to avoid problems with disk space being filled up. Note: Session tracing can be disabled completely in order to protect sensitive data. For details, refer to Chapter 1 Advanced Configuration of VoiceObjects in the Administration Guide.

Copyright 2001-2011 Voxeo Germany GmbH

86

Recording of Utterances Introducing Utterance Recording


VoiceObjects 11

6 Recording of Utterances
VoiceObjects allows storing recordings of utterances made by the caller during normal speech recognition, e.g. in Input or Menu objects. This includes utterances that lead to successful recognitions (filling a slot in an Input object, selecting a Menu item, activating hyperlinks etc.), as well as those that trigger a No Match event on the media platform. This chapter explains how this feature is set up and made use of in a voice application. It starts with Introducing Utterance Recording showing up some use cases and explaining how to quick start this feature. The remainder of the chapter describes the full range of the utterance recording feature: Setting up Utterance Recording for a Service explains how to configure utterance recording in your installation, on server, site and service level. Defining What to Record describes how you define on dialog object level which recordings are to be stored. How the Recordings are Stored explains the folder and file name structure of stored recordings, so you can easily find the recordings you are looking for. Collected Data in Infostore describes what kind of data about recorded utterances is stored in Infostore. Refer to the Analyzer Guide for a detailed description of reports available to analyze caller behavior through the recordings. Example Setups provides a step-by-step description of sample configurations, which helps you in setting up utterance recording for your specific needs.

Introducing Utterance Recording


Use cases Being able to listen to what a caller said at specific points in a voice application provides valuable insight into the usage of the application. It can show issues with grammar definitions, with misleading prompts, even with ill-designed menu or dialog flow structures in your application. Evaluating caller utterances is an essential part in tuning a voice application and assessing its overall functionality, i.e. making sure that it does what it is supposed to do. A typical use case of analyzing the usage of an application is to look at input states that produce a significantly high number of No Match events. Listening to the recordings immediately tells you about bad grammar or prompt design. But analyzing successful recognitions can also be worthwhile. An utterance string can only consist of tokens found in the grammar activated for a specific dialog step. E.g., if a grammar allows saying yes only, but the caller says yes please, it might happen that the recognizer matches this to yes and returns a confidence value above the confidence level (the threshold for successful recognition). In this case, the utterance string found in Infostore is yes and the confidence value suggests a successful recognition. This might lead to the assumption that the grammar is fine and does not need any change or refinement, whereas in fact it falls short of the actual usage of the application by the callers. By exploiting the utterance recording feature of VoiceObjects, you can easily detect input states that cause problems and listen to the user interaction that took place.

Copyright 2001-2011 Voxeo Germany GmbH

87

Recording of Utterances Setting up Utterance Recording for a Service


VoiceObjects 11

Note: In pure DTMF applications, utterance recording is not available, as there are no spoken utterances to record. If utterance recording is activated in a mixed input mode application (Voice+DTMF), all DTMF inputs are ignored, while all voice inputs are recorded. Quick start This paragraph is a quick introduction to get you started on utterance recording with VoiceObjects. Note: Utterance recording only works on media platforms that are fully compliant with VoiceXML 2.1. Check Appendix A Media Platform Drivers in the Deployment Guide to see whether your platform supports this feature. If utterance recording is not supported by the platform, switching it on has no effect. To turn on utterance recording for all dialog objects of your application, perform the following steps: 1. 2. 3. On a Service object of your choice, select Enable utterance recording in the Logging Parameters section. Enter an Utterance recording path that is valid on the machine that runs your VoiceObjects server instance. Redeploy the service.

When calling the service through the media platform, the recordings of all utterances that lead to No Match events or to a successful recognition will be stored below the path you defined in the Service object. The recordings are stored in subfolders, starting with a folder for the service name.

Setting up Utterance Recording for a Service


Utterance recording can be switched on and off globally on Server and Service objects. Within an application, a developer can define for which objects recordings should be stored, and in which scope for all recognized utterances, only for those that triggered a No Match event, or for both. Since the number of recorded audio files stored for a service can be substantial, depending on the call volume, it makes sense for a Server or Site Administrator to be able to switch this off globally on a logical server, i.e. for all services hosted thereon, and on a service, i.e. for all objects defined in an application. Server configuration file definition Recordings of utterances are stored in a specific subfolder structure, including information on the exact date & time of the recording, the service name, etc. The base folder in which this structure is written can be defined by the user. In the VOServer_Configuration.xml file located below the Platform\WEB-INF\config directory of your VoiceObjects installation, define the base path in the element <utteranceRecordingBasePath>. This path can be pointing to a directory on the local file system of the machine that runs the VoiceObjects server instance, or to a shared network destination. The latter makes sense in a cluster setup. Each server instance stores the recordings separately, so make sure the base path is defined correctly, typically by setting it to the same value on all server instances. A setting pointing to the local file system could look like this:

Copyright 2001-2011 Voxeo Germany GmbH

88

Recording of Utterances Setting up Utterance Recording for a Service


VoiceObjects 11

<utteranceRecordingBasePath>C:\VoiceObjects\Platform\Resources\<uttera nceRecordingBasePath>

In addition to the physical path, a base URL can be defined in the element <utteranceRecordingBaseURL>. It will be used by VoiceObjects Analyzer to locate the files through its web interface, so that a report can allow listening to the recordings by simply clicking a hyperlink. To be able to retrieve the files, a web server must be setup to deliver them. A setting pointing to a web server could look like this:
<utteranceRecordingBaseURL>http://myserver.com/Resources/<utteranceRec ordingBaseURL>

Besides the definition of the base path and URL at server level, additional path and URL settings can be made for a site (in a User object), and in the Service object. For more information on how and where recordings are stored, and on how these paths are connected, see the paragraph How the Recordings are Stored below. Full duplex call recording For selected media platforms it is possible to control full duplex call recording in combination with utterance recording. This is currently supported for all Voxeo drivers as well as for VoiceGenie 7.2 and Genesys Voice Platform 8.0. Linking call recording to utterance recording ensures that the same coverage filter is used in both cases. Full duplex call recording is enabled by the following switch in the components_VOServer.xml file located in the Platform\WEB-INF\config directory of your VoiceObjects installation:
<enableCallRecordingLink>true</enableCallRecordingLink>

When enabled, each call that uses utterance recording automatically creates a full duplex call recording. For details on where the call recording files are stored, refer to the documentation of your media platform. User object definition If your installation is working with sites, you can define a base path for utterance recordings that gets prefixed to the path definitions of all services in a site (and is itself prefixed by the base path defined in the Server configuration file definition, if given). This base path is set in the User object of the root Site Administrator. At the same place, you can define a base URL as described above. VoiceObjects Desktop In the Site Settings in the Security section of the User object, enter the path in the Utterance recording path field and the URL in the Utterance recording URL field:

Copyright 2001-2011 Voxeo Germany GmbH

89

Recording of Utterances Setting up Utterance Recording for a Service


VoiceObjects 11

Setting a path or URL is not required, if the server configuration file defines one. For more information on how and where recordings are stored, see the paragraph How the Recordings are Stored below. VoiceObjectsXML In the <user> element, use the attributes utteranceRecordingPath and utteranceRecordingURL to define the base path and URL, respectively. The default for both is the empty string. Server object definition The Server object allows controlling if recordings of utterances are generally allowed or not. VoiceObjects Desktop In the Configuration Parameters section of the Server object, select the check box Enable utterance recording to enable utterance recording. It is selected by default.

Copyright 2001-2011 Voxeo Germany GmbH

90

Recording of Utterances Setting up Utterance Recording for a Service


VoiceObjects 11

If you want to switch off utterance recording globally for all services hosted on that server, clear this check box. Any change made to this setting is only activated after resetting the server. To do this, click Reset in the context menu of the logical server in the Control Center (note that this will terminate all current dialog sessions running on that server). In Desktop for Web the current setting of Enable utterance recording is displayed in the info box of a server in the Control Center. It can be either Enabled or Disabled.

VoiceObjectsXML In the <server> element, use the attribute enableUtteranceRecording to control utterance recording on server level. It can take the values true or false. The default is true. Service object definition The Service object offers options to switch utterance recording on and off, define a base path to store the recordings in, set a coverage filter to restrict the number of

Copyright 2001-2011 Voxeo Germany GmbH

91

Recording of Utterances Setting up Utterance Recording for a Service


VoiceObjects 11

recordings made, and set initial values for the two dialog context settings RECORDUTTERANCES and RECORDINGSCOPE. VoiceObjects Desktop In the Logging Parameters section of the Service object there are four settings that control utterance recording on service level:

The check box Enable utterance recording controls if recordings of utterances are generally allowed for this service, or not. It is clear by default, so that utterance recording is not automatically turned on for new services. Note that this setting can be overridden by the server. If the corresponding setting on the Server object is disabled, the service setting is overridden. If the setting on the Server object is enabled, the Service object can decide to enable or disable it. The text field Utterance recording path allows defining a path that gets prefixed to all stored recordings. You can leave this field empty, if the site and/or server settings provide paths. For more information on how and where recordings are stored, see the paragraph How the Recordings are Stored below. The text field Utterance recording URL allows defining a URL that gets prefixed to all stored recordings within reports generated by VoiceObjects Analyzer, which offers to

Copyright 2001-2011 Voxeo Germany GmbH

92

Recording of Utterances Setting up Utterance Recording for a Service


VoiceObjects 11

listen to the recordings from within a report. You can leave this field empty, if the site and/or server settings provide URLs. For more information on how and where recordings are stored, see the paragraph How the Recordings are Stored below. The Coverage filter is used to restrict the amount of stored recordings, which can get quite high in high-call-volume deployments. It is a percentage filter that is applied across all dialog sessions for a given service. If it is left at 100%, the default value, then all calls are eligible for utterance recording. A value of 0% has the same effect as deselecting Enable utterance recording. Any other value will affect the given percentage of calls. The coverage filter for utterance recording is closely related to the coverage filter for System DB logging, to support the scenario described in the paragraph on Use cases above. Listening to caller utterances is typically connected to looking at the recognition results, i.e. utterance strings, confidence values, the context of where the utterance was made, etc. This means that for all recordings stored, you want to have corresponding entries in the input state-related tables of Infostore. This is ensured by the server in the following way: If the option Enable Input State logging is selected, then the utterance recording coverage filter is applied after the System DB logging filter. This means that the server first applies the System DB logging filter to arrive at a subset of all calls, and then applies the utterance recording filter on that subset. The result of this is that for all recordings stored, there will be corresponding Infostore data. If the option Enable Input State logging is not selected, then the utterance recording filter is applied on its own, i.e. irrespective of the System DB logging filter. In that case, Infostore does not log any input state-related information, so a relation from the recordings to any other information from Infostore cannot be established anymore. As an example, if the filter is set to 50%, half of all calls are eligible for utterance recording.

Note: The evaluation of Enable Input State logging actually relies on the option being selected or not. It does not rely on whether Input State logging is currently active for a session or not. So, if the option is selected, which means you actually intend to enable Input State logging, then even if some runtime problem prevents Input State logging (for instance due to DB failure), the two coverage filters are applied one after the other nonetheless. This avoids the effect in high-call-volume applications that due to a DB problem the amount of utterances recorded suddenly drastically increases (which would be the case if the filters were interpreted independently from each other again). See some more examples on this in the paragraph Example Setups below. In Desktop for Web the current setting of Enable utterance recording is displayed in the info box of a service in the Control Center. It can be Enabled, Disabled or Overridden. The Coverage filter percentage value is shown in parentheses behind that:

Copyright 2001-2011 Voxeo Germany GmbH

93

Recording of Utterances Setting up Utterance Recording for a Service


VoiceObjects 11

In the Default Parameters section of a Service object there are two settings that can control on object level if utterances should be recorded, and which utterances:

The setting Record utterances defines the initial value of the corresponding dialog context setting RECORDUTTERANCES, which will be applied on a dialog object if it has its Record utterances property set to Default. It can either be True or False. This setting can be overridden by the service URL parameter vsRecordUtterances. See Defining What to Record for more information on turning on recording for individual dialog objects. The setting Recording scope defines the initial value of the corresponding dialog context setting RECORDINGSCOPE, which will be applied on a dialog object if it has its Recording scope property set to Default. It can be one of Recognition, No Match, or All. This setting can be overridden by the service URL parameter vsRecordingScope. Again, the paragraph Defining What to Record describes in more detail how recording works on individual dialog objects.

Copyright 2001-2011 Voxeo Germany GmbH

94

Recording of Utterances Defining What to Record


VoiceObjects 11

VoiceObjectsXML In the <service> element, the following attributes can be used: Attribute enableUtteranceRecording recordUtterances recordingScope utteranceRecordingPath utteranceRecordingURL recordingCoverage Values true, false true, false noMatch, recognition, all CDATA CDATA 0 - 1.0 1.0 Default false true all

Defining What to Record


While you can control on server and service level if utterance recording is generally allowed or not, it is up to the developer of an individual application to define which utterances in which dialog objects should be recorded. The following dialog objects that interact with the caller offer settings to switch on utterance recording: Input Menu Confirmation List Hyperlink (the autonomous object in the confirmed version, not the embedded object) Pause

These objects have two properties in their respective Options section, Record utterances and Recording scope (Example taken from Input object):

The property Record utterances defines whether utterances should be recorded for this object or not. It can have one of the four values True, False, Always, and Default (the default). The meaning of these values is as follows:

Copyright 2001-2011 Voxeo Germany GmbH

95

Recording of Utterances Defining What to Record


VoiceObjects 11

Record utterances

Description Utterances made while processing this dialog object will always be recorded if utterance recording is enabled for the service and the dialog is eligible for utterance recording on the basis of the Coverage filter. No utterances are recorded for this dialog object. Utterances made while processing this dialog object will always be recorded if utterance recording is enabled for the service regardless of whether the dialog is eligible for utterance recording on the basis of the Coverage filter or not. This option is very useful if you want to apply a Coverage filter to limit the amount of statistical data, but need recordings in a few specific objects for all calls e.g. for security purposes or for subsequent processing. The value of the dialog context setting RECORDUTTERANCES is taken (True or False). The initial value of this setting can be defined in the Service object or through the service URL parameter vsRecordUtterances; at call time, the value can be changed using the RECORDUTTERANCES function through an Expression object.

True

False

Always

Default

See Example Setups for examples of how to define time-dependent utterance recording by using this dialog context setting. The Record utterances property can also be defined dynamically at call time by linking a Script, Variable, Expression, or Layer object. The property Recording scope defines in which scope utterances should be recorded in this object. It can be set to one of Recognition, No Match, All, or Default. The meaning of these values is as follows: Recording Scope Description All utterances that led to a successful recognition are recorded and stored, i.e., utterances that filled slots in an Input object, selected a Menu item, confirmed or denied a summary in a Confirmation object, navigated in a List object, etc. Activating hyperlinks also falls into this category. All utterances that triggered a No Match event are recorded and stored, and no others. All utterances made by the caller are recorded and stored. The value of the dialog context setting RECORDINGSCOPE is taken (recognition, noMatch, or all). The initial value of this setting can be defined in the Service object or through the service URL parameter vsRecordingScope; at call time, the value can be changed using the RECORDINGSCOPE function through an

Recognition

No Match All

Default

Copyright 2001-2011 Voxeo Germany GmbH

96

Recording of Utterances Defining What to Record


VoiceObjects 11

Recording Scope

Description Expression object. See Example Setups for examples of how to define time-dependent utterance recording by using this dialog context setting.

The Recording scope property can also be defined dynamically at call time by linking a Script, Variable, Expression, or Layer object. Plug-in object In a Plug-in object, utterance recording works automatically for all inherited No Match events, for inherited custom and standard navigation as well as for the last successful recognition that happened within the plug-in. In addition, you can write VoiceXML code that manually submits recordings to the server to get stored. If you want to store the recording of a No Match utterance, put the following code in the corresponding <catch> element, before any other code of that handler:
<script> <![CDATA[countForUtteranceRec( 'nomatch' );]]> </script> <assign name="savebinaryonly" expr="true"/> <assign name="uttRecSample" expr="application.lastresult$.recording"/> <data name="reco" method="post" srcexpr="returnURL" maxage="0s" enctype="multipart/form-data" namelist="dialogID shadow recType uttRecSample"/>

If you want to store the recording of a recognized utterance, put the following code in the place where the recognition is handled (e.g. in the <filled> section of a field/form), before any other code:
<script> <![CDATA[countForUtteranceRec( 'filled' );]]> </script> <assign name="savebinaryonly" expr="true"/> <assign name="uttRecSample" expr="application.lastresult$.recording"/> <data name="reco" method="post" srcexpr="returnURL" maxage="0s" enctype="multipart/form-data" namelist="dialogID shadow recType uttRecSample"/>

The <data> element submits the recording to the server without leaving the processing context, i.e., processing continues with the next VoiceXML statement after the recording has been sent. The variables savebinaryonly, uttRecSample, returnURL dialogID, and shadow are automatically declared by the server, so you dont need to declare them yourself. In the Options section of the Plug-in object, the Record utterances property allows turning on utterance recording for the plug-in, and Recording scope sets the scope, which is applied only to the inherited No Match event handlers and standard and custom navigation, as well as the last successful recognition.

Copyright 2001-2011 Voxeo Germany GmbH

97

Recording of Utterances How the Recordings are Stored


VoiceObjects 11

If Record utterances is set to True or Always, the server renders the necessary tuning parameters
<property name="recordutterance" value="true"/>

and
<property name="recordutterancetype" value="..."/>

In addition, it will accept all recordings submitted to it and store them. If the property is set to False, though, any requests to store a recording will be rejected, but processing will continue normally. Thus it is possible to leave the <data> element and all related code in the VoiceXML, but turn off utterance recording if desired. Again, Default means taking the corresponding dialog context setting.

How the Recordings are Stored


The server stores the recordings in a subfolder structure that reflects the date & time of the session in which the recordings were stored, among other information. This folder structure is prefixed with a base path structure that you can flexibly define yourself on server, site and service level. This section talks about what these folder structures can look like. Construct the base path The paragraph Setting up Utterance Recording for a Service describes how to setup paths that get prefixed to the actual path used to store a recording. The following rules are applied to put together the full path for a recorded utterance: The utterance recording path defined in the service always gets applied. If a service is run in the system site, the VOServer_Configuration.xml setting <utteranceRecordingBasePath> defines a base path that is put in front of what is defined as utterance recording path in the Service object: Final base path: [ServerInstancePath] + [ServicePath] If the <utteranceRecordingBasePath> definition is left empty, the Service object setting needs to define a full and valid path. Vice versa, if the Service object setting is left empty, the <utteranceRecordingBasePath> must define a valid path. Defining the <utteranceRecordingBasePath> is useful for installations that do not work with sites, where you might have many services running on the same server. The Service objects then dont require an utterance recording path to be set. If a service is run in a non-system site and there is no utterance recording path defined in the site, the VOServer_Configuration.xml setting <utteranceRecordingBasePath> again defines a base path that is put in front of

Copyright 2001-2011 Voxeo Germany GmbH

98

Recording of Utterances How the Recordings are Stored


VoiceObjects 11

what is defined as utterance recording path in the Service object: Final base path: [ServerInstancePath] + [ServicePath] If a service is run in a non-system site and there is an utterance recording path defined for the site, then the VOServer_Configuration.xml setting will be ignored and the utterance recording path will be used instead and put in front of the Service object setting (if there is any). Final base path: [SitePath] + [ServicePath] This is useful in particular in managed service provider installations that work with sites, where it must be possible to define separate utterance recording base locations for each site. Note: The path resulting from these concatenations must be a valid path that the server can write to, and it must end with a back-slash. If the path is not valid, no recordings will be stored by the server instance running your service. The same rules apply when putting together the Utterance recording URL, which is used by VoiceObjects Analyzer to provide hyperlinks to the recordings, that the user can click to listen to them. The subfolder structure Since the number of recordings can be substantial for a high call volume application, the server stores the recordings in a predefined subfolder structure, reflecting the date & time of the session in which the recordings were made. This folder structure looks as follows: Base/VSN/YEAR/MONTH/DAY/HOUR/MINUTE/SESSION/ All time-related parts correspond to the timestamp of when a session was started, which is the same timestamp used in Infostore. This enables you to relate the utterances to a record in Infostore. The following table describes what each part of the folder structure is about: Folder Part Base Description The base path constructed on the basis of the server, site, and service settings described in the paragraph Construct the base path above The VSN (=reference ID) of the service for which the utterances are stored A four-digit number reflecting the year part of the timestamp A two-digit number reflecting the month part of the timestamp A two-digit number reflecting the day part of the timestamp A two-digit number reflecting the hour part of the timestamp, in 24h format

VSN YEAR MONTH DAY HOUR

Copyright 2001-2011 Voxeo Germany GmbH

99

Recording of Utterances How the Recordings are Stored


VoiceObjects 11

MINUTE SESSION

A two-digit number reflecting the minute part of the timestamp The dialog ID of the session the utterances are stored for

The filename structure A recording gets stored under a filename that follows a clear naming convention covering details on the dialog object in which the recording was made. The filename will always look as follows: RecCount_ObjectType_ObjectName_Phase_RecScope_OccCount.Extension Filename Part Description A counter from 1 to N over all recordings made for a dialog session. This allows following the order of the recordings according to the actual dialog flow. The counter includes recordings made by Recording objects. The files generated by Recording objects are typically located somewhere else, so that gaps in the numbering may occur here. The type of the object in which the recording was made (e.g. Input). The name of the object in which the recording was made. The name will be cut off after 20 characters and any character other than [a-z] | [A-Z] | [0-9] | _ | - will be removed. The phase of the object in which the recording was made, independent of whether it was a recognition or a No Match recording Phase for Input objects, this is always "Request" for Confirmation objects, this is either "Conf " or "Corr", depending on whether the recording was made during the confirmation or the correction phase of the object for Menu objects, this is always "Selection" for List objects, this is always "Navigation" for Pause objects, this is always "Wakeup" for Plug-in objects, this is always "Request" for confirmed Hyperlink objects, this is always Conf

RecCount

ObjectType

ObjectName

RecScope

The recording scope information. Can be either Reco, for all successfully recognized utterances, or NM, for all utterances that activated the No Match event. In Plug-in objects, this will be Unknown, as the server cannot know the scope. The occurrence count for the object in the current session. The file extension of the recording, which is platformdependent.

OccCount Extension

Copyright 2001-2011 Voxeo Germany GmbH

100

Recording of Utterances Collected Data in Infostore


VoiceObjects 11

A typical filename, together with the full path definition, could look like this: C:\VoiceObjects\Platform\RecoLogs\PrimeInsurance\2007\02\08\10\ 53\OVAPac16172d0000000000001c8300000107fa50e2d6\3_Confirmation_ PresentSummary_Corr_Reco_1.wav This would be the recording of a recognized utterance made in the correction phase of the first occurrence of a Confirmation object called Present Summary, in a session that started at 10:53 A.M. on February 2nd 2007. Using the Expression function LASTRESULT with the argument recordingpath the physical path of the last recorded utterance can be retrieved during the dialog. The use case for this is to be able to submit the recording (through its path information) to a backend for tasks such as speaker verification or identification. With the argument recordingurl the corresponding URL can be retrieved, usable for playback during a call. Note that for this the coverage filter must be set to 100% in order to have all recordings of all sessions available. Failure to store a recording If a server instance cannot write to the directory where the recordings are to be stored, it writes a corresponding WARN log message and also sends a notification, if enabled. In addition, it switches off utterance recording for all concurrent sessions on the same service as well as for all future sessions coming in on this service. This will last 5 minutes, after which the server tries again. If writing the recording works again, utterance recording will be switched back on. The server first stores the recorded file in a temporary directory and then moves this file to the final path. The temporary directory can be set by adding the parameter Djava.io.tmpdir within the start script of a VoiceObjects server instance. Alternatively, you can set the parameter TempDir within the configuration file of the selected Web application server (e.g. Jetty). When using a SUN JDK this is automatically done by the installer during the installation of the VoiceObjects platform. If this directory cannot be written to, the server also writes a WARN log message, sends a notification, and turns off utterance recording as described above.

Collected Data in Infostore


If Input State logging is enabled for a dialog session, Infostore writes information about all recorded utterances, so that the recordings can easily be associated with dialog steps of a specific application. The recordings itself are not stored in the Infostore database. They are only persisted on the hard drive as described under How the Recordings are Stored. Instead, the complete path and file name information of the recording as well as the utterance recording URL are written to a dedicated table. As the server where the recordings are stored, the VoiceObjects server instances, and the reporting environment might not be in the same (sub-)network, the recording URL should be used to retrieve the recordings. The following information is stored for each recording: The size of the recording in bytes. The duration of the recording in milliseconds. The recording category (Utterance Recording or Recording Object).

Copyright 2001-2011 Voxeo Germany GmbH

101

Recording of Utterances Example Setups


VoiceObjects 11

The recording type (Recognition, Hyperlink, Nomatch 1-4, Audio or Video recording). The recording URL, path and filename.

In addition more detailed information about the session and the input state can be retrieved by combining the utterance recording table with the other Infostore tables. For a more in-depth description of the table structure refer to Chapter 3 The Physical Data Model in the Infostore Guide. Refer to the Analyzer Guide for a detailed description of reports available to analyze caller behavior through the recordings. Note: VoiceObjects Infostore does not delete any records from the table storing the utterance recordings. Thus, when manually deleting recording files associated entries in Infostore might still point to files that no longer exist.

Example Setups
This paragraph describes some scenarios of enabled utterance recording that might help you in setting this feature up in your environment. Static, unfiltered utterance recording in a single-tenant environment Scenario You run your services in the system site of a single server instance setup and do not have any custom sites in your environment. You want to enable utterance recording by default for your main Menu object and for all calls coming in, to find out what callers say when activating Menu items. Input State logging is switched on, so you see the corresponding entries for application usage in Infostore. The files shall be stored below a path of the local file system of the machine that runs VoiceObjects Server. Setup 1. In the server configuration file of your single server instance, leave the <utteranceRecordingBasePath> definition undefined, as you want to define different base paths for your different services. In your Server object, make sure Enable utterance recording is selected. If not, select it, save the object and reset the server. In your Service object, set Utterance recording path to C:\VoiceObjects\UtteranceRecordings\ to instruct the server to store all recordings below this path for this service. Switch utterance recording on by selecting Enable utterance recording. Set the Coverage filter to 100%. Set Record utterances to False, so that all dialog objects that have this setting at Default have utterance recording turned off, and set Recording scope to All. In the dialog object where you want to have the utterances recorded (the main Menu object), set Record utterances to True, to always activate the recording for this object. Set Recording scope to Default, if you want to be able to control the scope through the dialog context setting RECORDINGSCOPE, otherwise to All, if you know you always want recordings for all utterances.

2. 3.

4.

Redeploy your service, and all utterances made in the main Menu object should be recorded below the C:\VoiceObjects\UtteranceRecordings\ folder, starting with a subfolder for the service.

Copyright 2001-2011 Voxeo Germany GmbH

102

Recording of Utterances Example Setups


VoiceObjects 11

In case you want to switch off utterance recording temporarily for that service, e.g. for maintenance purposes, deselect Enable utterance recording on the Service object and save it. After having redeployed the service, no utterances are stored anymore, even though the Menu object has Record utterances set to True, since the Service object is a general switch that overrules individual dialog objects. Static, filtered utterance recording in a multi-tenant environment Scenario You have an environment with sites in a clustered server setup. In a given site Site1, you want to enable utterance recording for No Match utterances, in order to find out what goes wrong when the ASR engine cannot recognize a caller input. You want that for all objects of a specific service, but since your service is called by more than 200,000 callers a day, you want to store recordings only for 50% of the calls, to reduce the amount of data. Input State logging is switched on, so you see the corresponding entries for application usage in Infostore. It is set to 80%, also to reduce the amount of data stored. The files are to be stored in a shared network path. Setup 1. Since you want to be able to define different base paths for your sites leave the <utteranceRecordingBasePath> empty in the server configuration files of all your server instances. In your Server object, make sure Enable utterance recording is selected. If not, select it, save the object and reset the server. In the User object of the root Site Administrator of your site, set Utterance recording path to \\UttRecServer\UttRecordings\site1\ to instruct the server to store all recordings below this path for any service in this site. In the specific Service object associated with your application, you do not need any utterance recording path definition, as the corresponding site definition already takes care of the path. Switch utterance recording on by selecting Enable utterance recording. Set the Coverage filter to 50%. Set Record utterances to True, so that all dialog objects have utterance recording turned on by default, and set Recording scope to No Match. In all dialog objects, make sure that both Record utterances and Recording scope are set to Default.

2. 3.

4.

5.

Redeploy your service. Now the server applies the Input State logging filter of 80%, i.e. it ignores 20% of all calls. For these 80%, Infostore writes detailed data on application usage. Now the server applies the utterance recording filter, so that 50% of the 80% of dialog sessions will have utterance recording enabled, and from these remaining sessions all utterances that activate the No Match event will be recorded and stored below the \\UttRecServer\UttRecordings\site1\ folder. All in all youll have the No Match utterances of 40% of all calls coming in on your service. Time-dependent, filtered utterance recording in a single-tenant environment Scenario You run your services in the system site of a single server instance setup and do not have any custom sites in your environment. You want to enable utterance recording depending on the time of day. Each morning from 8 A.M. to 9 A.M., when a certain part of your customer base calls in, you want to activate utterance recording for No Match utterances in a specific Input object of your application for 75% of all calls coming in. Input State logging is switched off, as you are not interested in the general

Copyright 2001-2011 Voxeo Germany GmbH

103

Recording of Utterances Example Setups


VoiceObjects 11

logs for application usage in Infostore. The files shall be stored below a path of the local file system of the machine that runs VoiceObjects Server. Setup 1. In the server configuration file of your server instance, set <utteranceRecordingBasePath> to C:\VoiceObjects\UtteranceRecordings\ to be used as the base path for the utterance recordings of all of your services. In your Server object, make sure Enable utterance recording is selected. If not, select it, save the object and reset the server. In your Service object, leave Utterance recording path empty, since the server configuration file definition takes care of the base path. Switch utterance recording on by selecting Enable utterance recording. Set the Coverage filter to 75%. Set Record utterances to False, so that all dialog objects that have this setting at Default have utterance recording turned off, and set Recording scope to No Match. In the dialog object where you want to have the utterances recorded (the affected Input object), set Record utterances to Default, to be able to turn it on and off dynamically. Set the Recording scope to No Match. Create an Expression object called Current Hours. As the function select NOW and as the first argument enter HH. This Expression object will always return the current hours, in a 24h time format, and will be needed to detect the current time of day. Create an Expression object called Set RECORDUTTERANCES to True. As the function select RECORDUTTERANCES and as the first argument enter true. Create an Expression object called Set RECORDUTTERANCES to False. As the function select RECORDUTTERANCES and as the first argument enter false. Create an If object called Time is between 8am and 9am. As the function of the embedded expression select =; as the first argument link the Expression object Current Hours, and as the second argument enter 8. In the THEN section, link the Expression object Set RECORDUTTERANCES to True. In the ELSE section, link the Expression object Set RECORDUTTERANCES to False. Put the new If object at the beginning of your dialog flow (e.g. in the preprocessing of your root Module object).

2. 3.

4.

5.

6. 7. 8.

9.

Redeploy your service. When a call comes in, the server will first check the current time and set the RECORDUTTERANCES dialog context setting accordingly. When it comes to the Input object, utterance recording is turned on if the call comes in between 8 A.M. and 9 A.M. and turned off at all other times. For 75% of all calls in that time frame, all No Match utterances made in the Input object will be recorded below the C:\VoiceObjects\UtteranceRecordings\ folder, starting with a subfolder for the service. Since Input State logging has been turned off, the full 75% filter is applied (even if the filter of System DB logging is set to something other than 100%). The effect of having Input State logging turned off is that none of the recordings stored will have corresponding entries on application usage in the Infostore tables.

Copyright 2001-2011 Voxeo Germany GmbH

104

Command Line Interface (CLI) How to Start the Command Line Interface (CLI)
VoiceObjects 11

7 Command Line Interface (CLI)


How to Start the Command Line Interface (CLI)
The Control Center Command Line Interface (CLI) is a component of VoiceObjects that enables the deployment and monitoring of servers and services from a terminal console. The steps required to start the Control Center CLI depend on the operating system. Windows To start the Control Center CLI on Windows, open a command line window by running cmd.exe. Navigate to the VoiceObjects installation folder (using the cd command). From there, navigate to the Platform\WEB-INF\bin directory. Execute CLI_ControlCenter.bat to start the Control Center CLI. Linux / Unix To start the Control Center CLI on Linux, open a shell. Change the current working directory to the VoiceObjects installation directory. Go to the bin directory below the WEB-INF directory. Call the CLI_ControlCenter.sh shell script to start the Control Center CLI.

Commands
When calling the Control Center CLI without any parameters, help for the various available commands is displayed.

Each command is listed in the help page together with required arguments and a description. For some commands and parameters, a single letter version is available.

Copyright 2001-2011 Voxeo Germany GmbH

105

Command Line Interface (CLI) Commands


VoiceObjects 11

All commands require the following parameters: host (-h): The name under which the machine, which is currently the master in the cluster, is reachable within the network. In non-clustered installations this is the name of the machine. If you specify the host of a server instance that is not currently the master server manager, you are automatically redirected. port (-p): The port on which VoiceObjects Server is running. This port is defined by the setting instancePort within the configuration file VOServer_Configuration.xml. If you specify the port of a server instance that is not currently the master server manager, you are automatically redirected. ccURL: Instead of specifying the host and port information, this parameter can be used to directly define a WSDL URL to connect to a logical server. Typically it is of the form: http://myServer:myPort/VoiceObjects/Services/WSProvider?wsdl certificateURL (-C): Specifies the path to a SSL certificate, which is used for authentication if the Control Center URL defined above uses an HTTPS connection. The path can either be defined by using the HTTP or file protocol. aggregate: By default set to true, in this case the data for services is aggregated on server level. To retrieve the service information per server instance this has to be set to false. user (-u): The username that should be used for this connection. To work with the Control Center CLI, you need to have a user role with access to the Control Center. The information displayed in the CLI is filtered in the same way as that displayed in the Control Center. For more information, refer to Chapter 2 User Management Basic Topics in the Administration Guide. password (-w): The password used for user authentication. passwordURL (-U): Specifies the path to a file containing a password, which is used for authentication if the password parameter should not be used e.g. due to security reasons. The path can either be defined by using the HTTP or file protocol. server (-x): The name of the logical server. This name is identical with the reference ID of the Server object.

To avoid having to confirm a warning by typing y, the parameter -forceExecution can be specified. In this case the command execution is forced without displaying a warning and the option to cancel the command. This parameter is usually helpful in batch scripts. As an alternative to the pretty-printed console output shown below, it is also possible to retrieve the information in an XML format by providing the parameter -xml. The XML output format is described in the section XML Output Format. Server To retrieve the current status of a server or access the server control functions, choose one of the following commands: queryServer (-q): Displays the status of the specified server. The status display includes the names or IP addresses and ports of the available server instances, the used and free memory of the servers and the start time of each server. In addition, information on the status of Custom and System DB logging, as well as tracing is shown. The server instance running as master instance is also indicated with a [M] suffix. The Service Manager section shows the available services by VSN, the status of

Copyright 2001-2011 Voxeo Germany GmbH

106

Command Line Interface (CLI) Commands


VoiceObjects 11

the services, the start time and the number of active, finished, aborted and rejected sessions. In addition, information on the status of Custom and System DB logging, as well as tracing is shown. For more details on the call status see Chapter 3 Managing Servers and Services.

The queryServer command should be used after any of the service commands described below has been issued in order to check whether the command was processed successfully. reloadServiceList: Reloads the list of services hosted on the server. This command is used after adding a service to a server or removing services from a server. After submitting this command the next query command will display any newly added services as stopped. Services will only be removed from the server if they were stopped before reloading the service list. tracingServer: Used to activate or deactivate tracing functionality on the server. Possible values are on and off. Note that if tracing is deactivated on the level of the server, this overrides all settings made on the service level. dbLoggingServer: Used to configure the active DB logging options for the server. Possible values are none, custom, system, and both. none switches off both Custom and System DB logging. custom enables only Custom DB logging. system enables only System DB logging. both enables both Custom and System DB logging. Note that if Custom or System DB logging is deactivated on the level of the server, this overrides all settings made on the service level. startServer: Starts the server. For a cluster this means that all individual server instances in the cluster are started. This command is only available when the server is stopped. Note that when

Copyright 2001-2011 Voxeo Germany GmbH

107

Command Line Interface (CLI) Commands


VoiceObjects 11

starting a stopped server, all active and restore caches are restored from their previously persisted state, and application definitions are not reloaded from scratch. Services will be started according to their startup mode, i.e. services with startup mode automatic will be started and services with startup mode manual (or disabled) will remain stopped. idleServer: Idles the server. For a cluster this means that all individual started server instances in the cluster are idled. A warning message will appear to indicate that the server will be idled. This does not affect currently active sessions, which are allowed to complete normally. If you confirm by typing y, the server is idled. This command is only available when the server is started. resumeServer: Resumes the server. For a cluster this means that all individual server instances (both idled and stopped ones) in the cluster are started. This command is only available when the server is idled. When resuming an idled server, all idled services are also resumed. stopServer: Stops the server. For a cluster this means that all individual server instances in the cluster are stopped. A warning message will appear to indicate that all currently active sessions will be terminated immediately. If you confirm by typing y, all currently active sessions are terminated, and the server stops. When the server stops, all services hosted on it also stop. Their persisted active and restore caches remain intact. When you start the server again using the startServer command, these caches are restored. resetServer: Resets the server to essentially the state it would be in immediately after a fresh start. The difference is that if a redeploy would break a currently running service, then it is kept in its current state. After a reset, all restore caches are gone. For a cluster, Reset means that all individual server instances in the cluster are reset. A warning message will appear to indicate that all currently active sessions will be terminated immediately. If you confirm by typing y, all currently active sessions are terminated, and the server resets. During reset, all services are stopped, their application caches are loaded, and the services are then started according to their startup mode settings. This command is only available when the server is started or idled. shutdownServer: Shuts down the server. For a cluster this means that all individual server instances in the cluster are shut down. A warning message will appear to indicate that all currently active sessions will be terminated immediately. If you confirm the shutdown by typing y, all currently active sessions are terminated, and the server shuts down. When the server shuts down, all active and restore caches are cleaned (except for those services that explicitly use the Retain caches on shutdown option).

Caution: Once the server has been shut down, it cannot be started again from within the Control Center CLI. Instead, it needs to be started locally on the appropriate machine as described in the Installation Guide. Typical examples for server commands are: Querying the server VOServer
cli_controlcenter.bat h localhost p 8099 x VOServer u voadmin w manager q

Querying the server VOServer without using the password parameter


cli_controlcenter.bat h localhost p 8099 x VOServer u voadmin U file://d:/temp/pass.txt q

Copyright 2001-2011 Voxeo Germany GmbH

108

Command Line Interface (CLI) Commands


VoiceObjects 11

Resetting the server Acme


cli_controlcenter.bat h apache p 8099 x Acme u admin w fedora -resetServer

Shutting down the server Engine


cli_controlcenter.bat h host36 p 8099 x Engine u sa w sa shutdownServer

Server instance A server instance has to be referenced by its unique name: instance (-z) : Specifies the name of the server instance as configured in the <instanceName> tag in the configuration file VOServer_Configuration.xml. If no name is specified in the configuration file, use <instanceIP>:<instancePort> (e.g. 192.168.0.1:8099) to identify the server instance you want to invoke a command on. Note that the instance name needs to be unique within the cluster. To control individual server instances, add one of the following

commands:

startInstance: Starts the instance. This command is only available when the server instance is stopped. Note that when starting a stopped instance, all active and restore caches are restored from their previously persisted state, and application definitions are not reloaded from scratch. This ensures that the instance starts up again in the exact same configuration in which it was stopped. idleInstance: Idles the instance. A warning message will appear to indicate that the instance will be idled. This does not affect currently active sessions, which are allowed to complete normally. If you confirm typing y, the instance is idled. This command is only available when the server instance is started. If a media platform request comes into an idled or stopped server instance, it is automatically redirected to a started instance for the same logical server within the same cluster (as long as such a started instance exists). This redirection uses the standard HTTP redirection mechanism. resumeInstance: Resumes the instance. This command is only available when the server instance is idled. stopInstance: Stops the instance. A warning message will appear to indicate that all currently active sessions on this instance will be terminated immediately. If you confirm by typing y, all currently active sessions on the instance are terminated, and the instance stops. When an instance stops, all active and restore caches remain intact. When you start the instance again using the startInstance command, these caches are restored. getErrorInstance: Retrieves error messages for the instance. This command is used if an error condition is indicated by the token ERROR in the instances status entry.

Typical examples for server instance commands are: Idling the server instance Dagobert running on localhost, port 8099
cli_controlcenter.bat h localhost p 8099 x VOServer z Dagobert u voadmin w manager -idleInstance

Stopping the server instance running on localhost, port 8099


cli_controlcenter.bat h localhost p 8099 x VOServer z localhost:8099 u voadmin w manager -stopInstance

Copyright 2001-2011 Voxeo Germany GmbH

109

Command Line Interface (CLI) Commands


VoiceObjects 11

Service The services hosted on a server can be controlled by the commands explained in the following. service (-y) : Specifies the VoiceObjects Service Name (VSN) of the service to be controlled. tracingService: Used to activate or deactivate tracing functionality on the service. Possible values are on and off. restrictANI: Restricts tracing to a comma separated list of ANIs for this service. Double quotes must be used to comprise the ANIs, e.g. ANI1,ANI2, dbLoggingService: Used to configure the active DB logging options for the service. Possible values are none, custom, system, and both. startService: Starts the service. This command is only available if the service is stopped or idle. The counter for rejected calls will be set back to 0. redeployService (-r) : Deploys an updated version of the service. This command is available if the service is started, stopped or idled. A warning message will appear to indicate that the service will be updated to the latest service and dialog definition. This includes also refreshing the cache for this service. Existing sessions are not affected by redeploying the service. These sessions are completed using the current dialog definition. If the redeployment is confirmed by typing y, the service will be redeployed. Depending on the size of the application definition, this operation can take several minutes. Nonetheless, the Control Center CLI returns immediately. If there are active sessions for the service that is being redeployed, a service with the suffix SHADOW will appear the next time the server is queried. After the last call that was dependent on the previous dialog definition has finished, the SHADOW service will be removed. Additionally all session counters are added to the currently active service. restoreService: Reverts the service back to the previously stored version of the application definition. A warning message will appear to indicate that the service will be restored to its status prior to the most recent redeploy. This does not affect currently active sessions, which are allowed to complete using the current dialog definition. If confirmed by typing y, the service is restored. The restoreService command is only available after a previous redeployService. idleService: Sets the service into the idle status. This command is only available if the service is started. A warning message will appear to indicate that the service will be idled. If the idling is confirmed by typing y, the service will be idled. This does not affect any active sessions, which are allowed to complete normally. All incoming new sessions to the service will be rejected. All session counters are preserved. resumeService: Resumes the service. This command is only available if the service is idled. After a successful resume the service is started and can again accept new sessions. stopService: Stops the service. This command is only available if the service is started or idled. A warning message will appear to indicate that the service will be stopped. If the stopping is confirmed by typing y, the service will be stopped. Any active sessions will be terminated immediately. All session counters are set back to 0.

Copyright 2001-2011 Voxeo Germany GmbH

110

Command Line Interface (CLI) XML Output Format


VoiceObjects 11

getErrorService: Retrieves error messages for the service. This command is used if an error condition is indicated by the token ERROR in the services status entry.

Typical examples for service commands are: Idling service insurance


cli_controlcenter.bat h localhost p 8099 x VOServer y insurance u voadmin w manager -idleService

Redeploying service banking


cli_controlcenter.bat h host36 p 8099 x Engine y banking u sa w sa r

XML Output Format


To allow an easy integration with system management frameworks, the output of CLI requests can be retrieved in an XML format, which can be automatically parsed and processed. The XML output format provides the complete set of information shown in the Control Center of VoiceObjects Desktop, including the content of the info boxes for all servers and services. Due to formatting restrictions, this information is not shown in the normal CLI output. The XML output can either be shown on the console by using the xml command (see example 1 below) or be written to a file by using xml together with the optional command toFile [directory\filename]. If using the toFile command the created file can be found either in the WEB-INF folder of your VoiceObjects installation (see example 2 below) or in the specified directory (see example 3 below). Typical examples: 1 XML output to the console for queryServer command
cli_controlcenter.bat h localhost p 8099 x VOServer u voadmin w manager queryServer -xml

XML output to a custom file for queryServer command


cli_controlcenter.bat h localhost p 8099 x VOServer u voadmin w manager queryServer xml toFile file.txt

XML output to a custom file in c:\ for queryServer command


cli_controlcenter.bat h localhost p 8099 x VOServer u voadmin w manager queryServer xml toFile c:\file.txt

The XML output comes in two different flavors, one for the query command and one for all other commands. A schema representing the provided XML structure can be found in the file [VoiceObjects installation]\Platform\WEB-INF\schemas\ VoiceObjectsCLIXMLOutput.xsd Query result The <root> element of the XML structure, lists the information about the server and its components in four different subelements: <creationDetails> <serverDetails> <serverInstances> <services>

Copyright 2001-2011 Voxeo Germany GmbH

111

Command Line Interface (CLI) XML Output Format


VoiceObjects 11

<creationDetails> Contains general information about the creation of this content.

XML Element <user>

Description and Example Name of the user who created this content, e.g. voadmin. Shows the timestamp when this content was created. This information is stored following the ISO 8601 format YYYY-MM-DDThh:mmTZD, e.g. 1997-07-16T19:20+01:00. Version of VoiceObjects Server, e.g. 7.1.0.1250

<timestamp>

<serverVersion>

<serverDetails> Contains all information about the server itself.

XML Element <referenceID> <status>

Description and Example Unique reference ID of this server e.g. VOServer. Status of this server. Possible values are: STARTED STARTING STOPPED STOPPING IDLED IDLING Start time of this server. This information is stored following the ISO 8601 format YYYY-MMDDThh:mmTZD, e.g. 1997-07-16T19:20+01:00. Shows the number of currently active sessions for this server. Shows the number of finished sessions for this server. Shows the number of aborted sessions for this server. Shows the number of rejected sessions for this server.

<startTime>

<activeSessions>

<finishedSessions>

<abortedSessions>

<rejectedSessions>

Copyright 2001-2011 Voxeo Germany GmbH

112

Command Line Interface (CLI) XML Output Format


VoiceObjects 11

XML Element <totalSessions>

Description and Example Shows the total number of sessions for this server (addition of active, finished, aborted, and rejected sessions). Status of tracing for this server. Possible values are: Enabled Disabled Unavailable Status of System DB logging for this server. Possible values are: Enabled Disabled Unavailable Enabled / Not available Not licensed Status of Custom DB logging for this server. Possible values are: Enabled Disabled Unavailable Enabled / Not available Not licensed Status of utterance recording for this server. Allowed values are: Enabled Disabled Identifies the site this server belongs to. The site is identified either by an explicitly defined site ID or by the name of the root Site Administrator. If the server is from the system site System is returned. Shows the user ID of the user who created this server. Identifies the lock status of this server. Allowed values are: true false Shows the GUID of the user who locked this server. Shows the name of the user who locked this server.

<tracing>

<systemDBLogging>

<customDBLogging>

<utteranceRecording>

<siteID>

<owner>

<locked>

<lockAccountID>

<lockAccountName>

Copyright 2001-2011 Voxeo Germany GmbH

113

Command Line Interface (CLI) XML Output Format


VoiceObjects 11

XML Element <sessionLimit>

Description and Example Shows the granted and requested session limit for this server. The string unlimited is used if the number of sessions is not limited, e.g. 300(400). Shows the granted and requested guaranteed number of sessions for this server. 0 indicates that no sessions are guaranteed for this server, e.g. 100(100). Shows the group this server belongs to. Shows the date when the license for this VoiceObjects Server expires. This information is stored following the ISO 8601 format YYYY-MMDDThh:mmTZD, e.g. 2007-07-16T19:20+01:00.

<sessionGuarantee>

<group> <licenseExpireDate>

<serverInstances> Shows the list of existing server instances. Note that there can be various instances for one server, so there are N tags <serverInstance> that each contain all information about one specific server instance.

XML Element <instanceName>

Description and Example Shows the name for this instance. The name is defined in the configuration file VOServer_Configuration.xml. Shows the internal IP address for this instance, e.g. 192.168.0.1. The internal IP address is defined in the configuration file VOServer_Configuration.xml. Shows the port that is used by this instance, e.g. 8099. The port is defined in the configuration file VOServer_Configuration.xml. Shows the detected IP address for this instance, e.g. 192.168.0.1 Identifies if this server instance is currently the master instance. Allowed values are: true false

<configuredIP>

<configuredPort>

<detectedIP>

<master>

Copyright 2001-2011 Voxeo Germany GmbH

114

Command Line Interface (CLI) XML Output Format


VoiceObjects 11

XML Element <status>

Description and Example Status of this instance. Possible values are: STARTED STARTING STOPPED STOPPING IDLED IDLING Start time of this instance. This information is stored following the ISO 8601 format YYYYMM-DDThh:mmTZD, e.g. 1997-07-16T19:20+01:00. Shows the number of currently active sessions for this instance. Shows the number of finished sessions for this instance. Shows the number of aborted sessions for this instance. Shows the number of rejected sessions for this instance. Shows the total number of sessions for this instance (sum of active, finished, aborted and rejected sessions). Shows the size of the currently used memory in megabytes. Shows the size of the currently free memory in megabytes. Lists error messages, e.g. Missing database connection for logging. Lists the System DB error messages for this server instance. Lists the Custom DB error messages for this server instance. Status of System DB logging for this instance. Possible values are: Enabled Disabled Unavailable Enabled / Not available Not licensed

<startTime>

<activeSessions>

<finishedSessions>

<abortedSessions>

<rejectedSessions>

<totalSessions>

<usedMemoryMB>

<freeMemoryMB>

<error>

<infostoreErr>

<customDBErr> <systemDBLogging>

Copyright 2001-2011 Voxeo Germany GmbH

115

Command Line Interface (CLI) XML Output Format


VoiceObjects 11

XML Element <customDBLogging>

Description and Example Status of Custom DB logging for this instance. Possible values are: Enabled Disabled Unavailable Enabled / Not available Not licensed

<services> Shows the list of services hosted on this server. Note that there can be various services on one server, so there are N tags <service> that each contain all information about one specific service.

XML Element <vsn>

Description and Example Shows the VSN (VSN = VoiceObjects Service Name) of this service. Shows the name of the Service object. Used to identify if this service is deployed from file (file), deployed by string (string) or deployed by a service definition via VoiceObjects Desktop (project). Possible values are: project file string Status of this service. Possible values are: STARTED STARTING STOPPED STOPPING IDLED IDLING UNAVAILABLE (only used for the Invalid Requests service) VALIDATING LOADING_CACHE Startup mode of this service. Possible values are: Automatic Manual Disabled

<name> <source>

<status>

<startupMode>

Copyright 2001-2011 Voxeo Germany GmbH

116

Command Line Interface (CLI) XML Output Format


VoiceObjects 11

XML Element <startTime>

Description and Example Start time of this service. This information is stored following the ISO 8601 format YYYYMM-DDThh:mmTZD, e.g. 1997-07-16T19:20+01:00. Shows the number of currently active sessions for this service. Shows the number of finished sessions for this service. Shows the number of aborted sessions for this service. Shows the number of rejected sessions for this service. Shows the total number of sessions for this service (sum of active, finished, aborted and rejected sessions). Status of tracing for this service. Possible values are: Enabled Disabled Overridden Shows a comma separated list of ANIs, e.g. +492204845196,+492204845197. Tracing will be restricted to these ANIs. Status of System DB logging for this service. Possible values are: Enabled Disabled Overridden Status of Custom DB logging for this service. Possible values are: Enabled Disabled Overridden Status of utterance recording for this service. Allowed values are: Enabled Disabled Overridden

<activeSessions>

<finishedSessions>

<abortedSessions>

<rejectedSessions>

<totalSessions>

<tracing>

<traceANIs>

<systemDBLogging>

<customDBLogging>

<utteranceRecording>

Copyright 2001-2011 Voxeo Germany GmbH

117

Command Line Interface (CLI) XML Output Format


VoiceObjects 11

XML Element <utteranceRecordingFiltering>

Description and Example Show the utterance recording filtering for this service, e.g. a value of 15% means that for 15% of all logged sessions utterance recordings will be available. Shows the Infostore filtering for this service, e.g. 30% means that log data will be written for 30% of all sessions. Shows the filter scope for this service. Allowed values are: Input State SystemDB SystemDBCustomDB Shows the name of the project this service belongs to, e.g. Prime Insurance. If the service is an XDK service, this is shown as Unavailable. Shows the project version, e.g. 1.0. If the service is an XDK service, this is shown as Unavailable. Shows the name of the start object for this service, e.g. PrimeInsurance Portal. If the service is an XDK service, this contains a URL pointing to the start object. Lists error messages for this service e.g. Skipping configuration of service PI due to missing start object. Timestamp of the currently used cache of this service. This information is stored following the ISO 8601 format YYYY-MMDDThh:mmTZD, e.g. 1997-07-16T19:20+01:00. Timestamp of the restorable cache of this service. This information is stored following the ISO 8601 format YYYY-MMDDThh:mmTZD, e.g. 1997-07-16T19:20+01:00. Shows the size of the currently used cache for this service in kilobytes. Shows the size of the restore cache for this service in kilobytes.

<infostoreFiltering>

<filterScope>

<project>

<projectVersion>

<startObject>

<error>

<activeCacheTimestamp>

<restoreCacheTimestamp>

<activeCacheSizeKB>

<restoreCacheSizeKB>

Copyright 2001-2011 Voxeo Germany GmbH

118

Command Line Interface (CLI) XML Output Format


VoiceObjects 11

XML Element <siteID>

Description and Example Identifies the site this service belongs to. The site is identified either by an explicitly defined site ID or by the name of the root Site Administrator. If the service is from the system site System is returned. Identifies the lock status of this service. Allowed values are: true false Shows the GUID of the user who locked this service. Shows the name of the user who locked this service. Shows the granted and requested session limit for this service. The string unlimited is used if the number of sessions is not limited, e.g. 200(unlimited). Shows the granted and requested guaranteed number of sessions for this service. 0 indicates that no sessions are guaranteed for this service, e.g. 200(400). Shows the distribution of sessions over different services, e.g. 0.3 means that 30% off all available sessions are assigned to this service. Note that the sum of the percentages over all services on a server must not exceed 100% and that it can only be defined for all services on a server or for none.

<locked>

<lockAccountID>

<lockAccountName> <sessionLimit>

<sessionGuarantee>

<sessionDistribution>

Command result The <root> element of the XML structure lists the information about command processing in two different elements: <creationDetails> <commandDetails> <creationDetails> Includes general information about the creation of this content.

XML Element <user>

Description and Example Name of the user who created this content, e.g. voadmin.

Copyright 2001-2011 Voxeo Germany GmbH

119

Command Line Interface (CLI) XML Output Format


VoiceObjects 11

XML Element <timestamp>

Description and Example Shows the timestamp when this content was created. This information is stored following the ISO 8601 format YYYY-MM-DDThh:mmTZD, e.g. 1997-07-16T19:20+01:00. Version of VoiceObjects Server, e.g. 7.1.0.1250

<serverVersion>

Copyright 2001-2011 Voxeo Germany GmbH

120

Command Line Interface (CLI) XML Output Format


VoiceObjects 11

<commandDetails> Includes general information about the command processing.

XML Element <command> <executionResult>

Description and Example Shows the command, e.g. stopServer. Shows the execution result. Possible values are: 1 (indicates that an error occurred during processing) 0 (indicates that the command was processed successfully) Shows the message that was produced by the server. This can either be a specific error message or the known message from CLI that asks you to check the status page.

<message>

And includes information about occurred errors and warnings.

XML Element <errorCode>

Description and Example Shows an internal error code, -1 is shown if no error occurred. Shows an explanative error message. Shows an internal warning code, -1 is shown if no warning occurred. Shows an explanative warning message.

<errorMessage> <warningCode>

<warningMessage>

Copyright 2001-2011 Voxeo Germany GmbH

121

Notifications Configuration
VoiceObjects 11

8 Notifications
VoiceObjects provides two different ways of receiving notifications, i.e. either through SNMP (Simple Network Management Protocol) or by e-mail. In addition it is possible to monitor VoiceObjects Server using Java Management Extensions (JMX). The usage of notifications needs to be licensed separately. To find out whether the notification mechanism is licensed for your VoiceObjects installation, contact your local VoiceObjects administrator. If it is not currently included in your license key and you want to use it, contact VoiceObjects. If the feature is included in your license key you might need to enable it in the configuration file VOServer_Configuration.xml as described below (Enable the notification feature). In addition, corresponding SNMP trap receivers and/or e-mail receivers have to be defined in the configuration files TrapReceivers.xml and/or EmailConfigurations.xml. If the notification feature is enabled, VoiceObjects Server sends out the SNMP trap and/or e-mail to the corresponding receivers (SNMP and/or e-mail) that are defined. See Assignment of categories to notifications below for a complete list of all available notifications and their category assignments. Optionally, you may also assign custom categories to any notification or adjust the default assignment of categories to notifications, in order to customize the behavior according to your preferences. Note: When using SNMP, your VoiceObjects installation can be monitored using any SNMP 2.0 (or higher) compliant client. If SNMP traps of Version 3 should be used the corresponding SNMP receiver has to work without requiring communicating with a SNMP agent, as VoiceObjects is not including a SNMP agent.

Configuration
Enable the notification feature To enable the notification mechanism, the configuration file VOServer_Configuration.xml in the folder ../VoiceObjects/Platform/WEB-INF/config/ must be configured as follows for each VoiceObjects server instance participating in your cluster.
<notificationEnabled>all</notificationEnabled>

The table below lists all values that can be used to define the coverage of the notification feature: Value false Description The notification feature is disabled completely; neither SNMP traps nor e-mails will be sent. This is the default setting. Notifications will only be sent through SNMP traps if proper receivers are defined in the corresponding xml file (TrapReceivers.xml). Notifications will only be sent through e-mail if proper receivers are defined in the corresponding xml file (EmailConfigurations.xml).

traps

email

Copyright 2001-2011 Voxeo Germany GmbH

122

Notifications Configuration
VoiceObjects 11

Value all

Description Notifications will be sent through both SNMP traps and e-mails, if proper receivers are defined in the corresponding xml files (TrapReceivers.xml and EmailConfigurations.xml)

Note: After changing the value of this setting the corresponding server process has to be restarted to activate the changes. Configure SNMP trap receivers In order to receive SNMP traps from VoiceObjects Server, the file TrapReceivers.xml in the folder ../VoiceObjects/Platform/WEB-INF/config needs to be configured appropriately. Within this file multiple SNMP trap receivers can be defined, each of which may receive different SNMP traps based on the settings you specify. The table below the example describes the XML structure and lists all attributes and their possible values. Example of TrapReceivers.xml:
<?xml version="1.0" encoding="UTF-8"?> <trapReceivers> <!-- Example for receiving traps over UDP (default) protocol --> <trapReceiver id="Machine1" categories="INFO,WARN,ERROR" version="v2c" enabled="true"> <hostIP>127.0.0.1</hostIP> <port>162</port> <community>public</community> <locale>en</locale> <maxCountPerNotification>10</maxCountPerNotification> <resetTimeInterval>60</resetTimeInterval> </trapReceiver>

<!-- Example for receiving traps over TCP protocol --> <trapReceiver id="Machine2" categories="INFO,WARN,ERROR" version="v2c" protocol="tcp" enabled="false"> <hostIP>127.0.0.1</hostIP> <port>162</port> <community>public</community> <locale>en</locale> <maxCountPerNotification>10</maxCountPerNotification> <resetTimeInterval>60</resetTimeInterval> </trapReceiver>

<!-- Example for receiving

version 3 trap -->

Copyright 2001-2011 Voxeo Germany GmbH

123

Notifications Configuration
VoiceObjects 11

<trapReceiver id="Machine3" categories="INFO,WARN,ERROR" version="v3" enabled="false"> <hostIP>127.0.0.1</hostIP> <port>162</port> <maxCountPerNotification>10</maxCountPerNotification> <resetTimeInterval>60</resetTimeInterval> <locale>de</locale> <userName>noAuthUser</userName> </trapReceiver> </trapReceivers>

Attribute/Child
trapReceivers trapReceiver trapReceiver/id trapReceiver/categories

Description Root tag. Block to define a connection to a SNMP receiver. Unique ID to identify this SNMP receiver. Specifies that SNMP traps should be sent via this connection if the notification matches one of the defined categories. Allowed values are ERROR, WARN, INFO. To specify more than one category, a comma-separated list can be defined. In addition also custom categories might be added. Examples: categories=WARN Only includes notifications of category WARN categories=CUSTOM1 Only contains notifications of category CUSTOM1 categories=INFO,WARN,ERROR Includes all notifications of categories INFO, WARN, and ERROR

trapReceiver/version

Defines the SNMP version to be used for this connection. Allowed values are v2, v2c and v3. Optional attribute to define the protocol to be used for sending out SNMP traps. Allowed values are udp (the default) and tcp. Optional setting to disable the corresponding trap receiver. Allowed values are true (the default) and false. IP address of the machine running the SNMP receiver.

trapReceiver/protocol

trapReceiver/enabled

hostIP

Copyright 2001-2011 Voxeo Germany GmbH

124

Notifications Configuration
VoiceObjects 11

Attribute/Child
port

Description Port number on which the SNMP receiver is listening (typically the default SNMP port 162 is used here). Authentication parameter (only used for SNMP receivers of version 2c). Defines the locale to be used for the messages of the SNMP traps sent out for this receiver. Allowed values are either en (the default) or de. Authentication parameter (only used for SNMP receivers of version 3). Optional setting to define a maximum number of same SNMP traps that will be sent out for the same notification. If the maximum number is exceeded, for instance when running out of licenses, no further SNMP traps will be sent out for this notification. Defines the time interval in minutes after which the limit defined in the attribute maxCountPerNotification is reset, if not defined a default value of 60 (1 hour) is used.

community

locale

userName

maxCountPerNotification

resetTimeInterval

Configure e-mail receivers In order to receive e-mails from VoiceObjects Server, the file EmailConfigurations.xml in the folder ../VoiceObjects/Platform/WEB-INF/config needs to be configured appropriately. Within this file multiple e-mail receivers can be defined, each of which may receive different e-mails based on the settings you specify. The table below the example describes the XML structure and lists all attributes and their possible values. Example of EmailConfigurations.xml (relevant section for notifications):
<notificationEmailReceivers> <emailReceiver id ="myReceiver" categories="INFO,WARN,ERROR" enabled="true"> <from>myEmailAddress@myCompany.com</from> <to>myEmailAddress@myCompany.com</to> <cc>myEmailAddress@myCompany.com</cc> <bcc>myEmailAddress@myCompany.com</bcc> <priority>normal</priority> <smtpServer>myServer.myCompany.com</smtpServer> <smtpPort>25</smtpPort> <locale>en</locale> <maxCountPerNotification>10</maxCountPerNotification>

Copyright 2001-2011 Voxeo Germany GmbH

125

Notifications Configuration
VoiceObjects 11

<resetTimeInterval>60</resetTimeInterval> <messagesPerConnection>1</messagesPerConnection> </emailReceiver>

<emailReceiver id ="myReceiver" categories="INFO,WARN,ERROR" enabled="true"> <from>@INSTANCE_NAME@</from> <to>myEmailAddress@myCompany.com</to> <cc>myEmailAddress@myCompany.com</cc> <bcc>myEmailAddress@myCompany.com</bcc> <priority>normal</priority> <smtpServer>myServer.myCompany.com</smtpServer> <smtpPort>25</smtpPort> <user>myUser</user> <password>myPassword</password> <locale>en</locale> <maxCountPerNotification>10</maxCountPerNotification> <resetTimeInterval>60</resetTimeInterval> <messagesPerConnection>1</messagesPerConnection> </emailReceiver> </notificationEmailReceivers>

Attribute
notificationEmailReceivers emailReceiver

Description Root tag. Block to define a connection to an e-mail receiver. Unique ID for identifying this e-mail receiver.

emailReceiver/id

Copyright 2001-2011 Voxeo Germany GmbH

126

Notifications Configuration
VoiceObjects 11

Attribute
emailReceiver/categories

Description Specifies that e-mails should be sent via this connection if the occurring notification matches one of the defined categories. Allowed values are ERROR, WARN, INFO. To specify more than one category, a comma-separated list can be defined. In addition also custom categories might be added. Examples: categories=WARN Only includes notifications of category WARN categories=CUSTOM1 Only contains notifications of category CUSTOM1 categories=INFO,WARN,ERROR Includes all notifications of categories INFO, WARN, and ERROR

emailReceiver/enabled

Optional setting to disable the corresponding email receiver. Allowed values are true (the default) and false. Defines the From field of the sent e-mail. Has to be a valid e-mail address. As an alternative to providing an e-mail address the placeholder @INSTANCE_NAME@ can be used. In this case VoiceObjects Server will automatically fill the From field with: instanceName@logical_Server, where instanceName identifies the corresponding server instance and logical_Server is the reference ID of the used Server object. Caution: Some SMTP servers require a valid domain to be used in the from e-mail field. In these cases the placeholder can not be used.

from

to

Defines the To field: e-mail is sent to all e-mail addresses defined in a comma-separated list. This setting is optional, but at least one valid email address has to be defined for at least one of the settings to, cc or bcc in order to define a valid e-mail receiver. Defines the CC field: e-mail is sent to all e-mail addresses defined in a comma-separated list. This setting is optional, but at least one valid email address has to be defined for at least one of the settings to, cc or bcc in order to define a valid e-mail receiver.

cc

Copyright 2001-2011 Voxeo Germany GmbH

127

Notifications Configuration
VoiceObjects 11

Attribute
bcc

Description Defines the BCC field: e-mail is sent to all email addresses defined in a comma-separated list. This setting is optional, but at least one valid e-mail address has to be defined for at least one of the settings to, cc or bcc in order to define a valid e-mail receiver. Defines the ReplyTo field of the e-mail. This setting is optional. Optionally sets the priority for the e-mail; can either be low, normal (the default) or high. Defines the address of the SMTP server used for sending out e-mails. This can either be an open SMTP server or one that requires authentication. Note that in the latter case the settings for user and password are mandatory. Optional setting to define the port number of the SMTP server. If not specified the default SMTP port 25 or 465 (for SSL) is used. Defines the user to be used for a SMTP server that requires authentication. Optional. Defines the password to be used for a SMTP server that requires authentication. Optional. Defines whether a starttsl flag should be sent to start the encoding or not. Allowed values are true or false, the default is false. Optional. Defines whether startTLS is used to negotiate the connection security level with the SMTP server. Allowed values are true or false, the default is false. Optional. Defines the locale to be used for the messages of the e-mails sent out for this receiver. Allowed values are en (the default) or de. Optional setting to define a maximum number of same e-mails that will be sent out for the same notification. If the maximum number is exceeded, for instance when running out of licenses, no further e-mails will be sent out for this notification.

replyTo

priority

smtpServer

smtpPort

user

password

secure

startTLS

locale

maxCountPerNotification

Copyright 2001-2011 Voxeo Germany GmbH

128

Notifications Configuration
VoiceObjects 11

Attribute
resetTimeInterval

Description Defines the time interval in minutes after which the limit defined in the attribute maxCountPerNotification is reset, if not defined a default value of 60 (1 hour) is used. Specifies the number of e-mails which are sent via a single SMTP connection. After this number of e-mails the connection will be closed. For the next e-mail a new connection will be created. By default messagesPerConnection is set to 1. Caution: It is recommended not to change this value (i.e. set it to something greater than 1), as otherwise some e-mails might get lost depending on the SMTP server used (e.g. Microsoft Exchange).

messagesPerConnection

Assignment of categories to notifications The assignment of categories to notifications can be adjusted based on your preferences. However if you do not plan to introduce any custom categories it is recommended to use the default assignments given by VoiceObjects. In order to adjust the category assignments the file NotificationSettings.xml in the folder ../VoiceObjects/Platform/WEB-INF/config needs to be configured appropriately. Within this file all existing notifications together with their category assignments are listed. The table below the example describes the XML structure and lists all attributes and their possible values. Example of NotificationSettings.xml:
<?xml version="1.0" encoding="UTF-8"?> <notifications> <group name="server" categories="INFO"> <notification id="serverResetting" locale="SNMP_Trap_serverResetting" masterOnly="true"/> <notification id="serverReset" locale="SNMP_Trap_serverReset" masterOnly="true"/> <notification id="serverShuttingDown" locale="SNMP_Trap_serverShuttingDown" masterOnly="true" categories="WARN"/> <notification id="serverShutDown" locale="SNMP_Trap_serverShutDown" masterOnly="true" categories="WARN"/> <notification id="serverStarting" locale="SNMP_Trap_serverStarting" masterOnly="true"/> <notification id="serverStarted" locale="SNMP_Trap_serverStarted" masterOnly="true"/> <notification id="serverStopping" locale="SNMP_Trap_serverStopping" masterOnly="true" categories="WARN"/>

Copyright 2001-2011 Voxeo Germany GmbH

129

Notifications Configuration
VoiceObjects 11

<notification id="serverStopped" locale="SNMP_Trap_serverStopped" masterOnly="true" categories="WARN"/> <notification id="serverIdle" locale="SNMP_Trap_serverIdle" masterOnly="true"/> <notification id="serverIdled" locale="SNMP_Trap_serverIdled" masterOnly="true"/> <notification id="serverReloadingServiceList" locale="SNMP_Trap_serverReloadingServiceList" masterOnly="true"/> <notification id="serverReloadedServiceList" locale="SNMP_Trap_serverReloadedServiceList" masterOnly="true"/> <notification id="serverInstanceStarting" locale="SNMP_Trap_serverInstanceStarting"/> <notification id="serverInstanceStarted" locale="SNMP_Trap_serverInstanceStarted"/> <notification id="serverInstanceIdle" locale="SNMP_Trap_serverInstanceIdle"/> <notification id="serverInstanceIdled" locale="SNMP_Trap_serverInstanceIdled"/> <notification id="serverInstanceStopping" locale="SNMP_Trap_serverInstanceStopping" categories="WARN"/> <notification id="serverInstanceStopped" locale="SNMP_Trap_serverInstanceStopped" categories="WARN"/> </group>

<group name="service" categories="INFO"> <notification id="serviceStarting" locale="SNMP_Trap_serviceStarting" masterOnly="true"/> <notification id="serviceStarted" locale="SNMP_Trap_serviceStarted" masterOnly="true"/> <notification id="serviceStopping" locale="SNMP_Trap_serviceStopping" masterOnly="true" categories="WARN"/> <notification id="serviceStopped" locale="SNMP_Trap_serviceStopped" masterOnly="true" categories="WARN"/> <notification id="serviceIdle" locale="SNMP_Trap_serviceIdle" masterOnly="true"/> <notification id="serviceIdled" locale="SNMP_Trap_serviceIdled" masterOnly="true"/> <notification id="serviceRedeploying" locale="SNMP_Trap_serviceRedeploying" masterOnly="true"/> <notification id="serviceRedeployed" locale="SNMP_Trap_serviceRedeployed" masterOnly="true"/> <notification id="serviceRestoring" locale="SNMP_Trap_serviceRestoring" masterOnly="true"/> <notification id="serviceRestored" locale="SNMP_Trap_serviceRestored" masterOnly="true"/> </group>

Copyright 2001-2011 Voxeo Germany GmbH

130

Notifications Configuration
VoiceObjects 11

<group name="unsolicited" categories="ERROR"> <notification id="licenseRequestFailed" locale="SNMP_Trap_licenseRequestFailed"/> <notification id="noSNMPLicense" locale="SNMP_Trap_noSNMPLicense" masterOnly="true"/> <notification id="newMasterElected" locale="SNMP_Trap_newMasterElected" categories="WARN"/> <notification id="serviceNA" locale="SNMP_Trap_serviceNA"/> <notification id="urlNA" locale="SNMP_Trap_urlNA"/> <notification id="infostoreNA" locale="SNMP_Trap_infostoreNA" categories="WARN"/> <notification id="customNA" locale="SNMP_Trap_customNA" categories="WARN"/> <notification id="repositoryNA" locale="SNMP_Trap_repositoryNA"/> <notification id="repositoryRS" locale="SNMP_Trap_repositoryRS"/> <notification id="dlgExpired" locale="SNMP_Trap_dlgExpired" categories="WARN"/> <notification id="requestRedirect" locale="SNMP_Trap_requestRedirect" categories="WARN"/> <notification id="callRejectedInvalidChannelOrPartner" locale="SNMP_Trap_invalidChannelPartner"/> <notification id="licenseExpiredWarn" locale="SNMP_Trap_licenseValidity_Warn" categories="WARN"/> <notification id="licenseExpired" locale="SNMP_Trap_licenseValidity_Expired"/> <notification id="infostoreRS" locale="SNMP_Trap_infostoreRS" categories="INFO"/> <notification id="statInfoDropped" locale="SNMP_Trap_statInfoDropped" categories="WARN"/> <notification id="lastOperationFailed" locale="SNMP_Trap_lastOperationFailed"/> <notification id="licenseNotAvailable" locale="SNMP_Trap_licenseNotAvailable"/> <notification id="ntfBarrierReset" locale="SNMP_Trap_ntfBarrierReset" categories="WARN"/> <notification id="statQueueSizeWarning" locale="SNMP_Trap_statQueueSizeWarning" categories="WARN"/> <notification id="statQueueConsumerDisabled" locale="SNMP_Trap_statQueueConsumerDisabled" categories="WARN"/> <notification id="statQueueConsumerEnabled" locale="SNMP_Trap_statQueueConsumerEnabled" categories="WARN"/> <notification id="serviceCacheNotLoadedFromSwapFile" locale="SNMP_Trap_serviceCacheNotLoadedFromSwapFile" categories="WARN"/> </group>

Copyright 2001-2011 Voxeo Germany GmbH

131

Notifications Configuration
VoiceObjects 11

<group name="sla" categories="WARN"> <notification id="serverMaxReached" locale="SNMP_Trap_serverMaxReached"/> <notification id="serviceMaxReached" locale="SNMP_Trap_serviceMaxReached"/> <notification id="siteMaxReached" locale="SNMP_Trap_siteMaxReached"/> <notification id="overdraftIssued" locale="SNMP_Trap_overdraftIssued"/> <notification id="failoverIssued" locale="SNMP_Trap_failoverIssued" categories="ERROR"/> <notification id="concurrentDlgMaxReached" locale="SNMP_Trap_concurrentDlgMaxReached" categories="ERROR"/> </group>

<group name="others" categories="ERROR"> <notification id="eventHandled" locale="SNMP_Trap_eventHandled" categories="INFO"/> <notification id="functionHandled" locale="SNMP_Trap_functionHandled" categories="INFO"/> <notification id="duplicateCall" locale="SNMP_Trap_duplicateCall"/> <notification id="dlgIDInFirstRequest" locale="SNMP_Trap_dlgIDInFirstRequest"/> <notification id="invalidInitalParam" locale="SNMP_Trap_invalidInitalParam"/> <notification id="invalidParam" locale="SNMP_Trap_invalidParam"/> <notification id="uttRecordingFailed" locale="SNMP_Trap_uttRecordingFailed"/> </group> </notifications>

Attribute
notifications group

Description Root tag. Defines a group of notifications; currently there are five groups (server, service, unsolicited, sla and others) available. Unique name to identify the group. Defines a comma-separated list of categories for this group of notifications. Possible values are INFO, WARN, ERROR plus any custom categories. If this attribute is set it will be inherited by all notifications within this group.

group/name group/categories

Copyright 2001-2011 Voxeo Germany GmbH

132

Notifications Traps
VoiceObjects 11

Attribute
notification notification/id notification/locale

Description Element for defining a notification. Unique name to identify the notification. Defines the localization key that is internally used by VoiceObjects Server for localizing the message of this notification. This message is then used within both the SNMP trap and/or the e-mail that is sent to the corresponding receivers. Caution: Do not change this value, as otherwise the notification will no longer have a localized message.

notification/masterOnly

Defines if the notification has to be sent via the master server instance or from the server instance on which the event occurred, which is the default behavior. Allowed values are either false (the default) or true. Defines a comma-separated list of categories this notification belongs to. Possible values are INFO, WARN, ERROR plus any custom categories. If this definition is in conflict with a setting on the group level, the local category assignment will overwrite the category assignment made on the group level for this notification. If any custom category (see code example above) has been added do not forget to add this category to a corresponding SNMP trap and/or e-mail receiver as well. Otherwise this custom category assignment will not have any effect.

notification/categories

Traps
Servers, server instances and services can be monitored through notifications. Below find a table of all events that trigger a notification (all placeholders of the format %1, %2, etc. are replaced by VoiceObjects Server at runtime with the corresponding information). The ID of the corresponding notification will always be a concatenation of the default prefix .1.3.6.1.4.1., the VoiceObjects-specific prefix 24140.1.2.5., and the ID of the notification group and the notification itself. Notification Server %1 is starting. ID 4.13 Description Start (or Resume) command has been invoked for this server.

Server %1 has started successfully.

4.14

Copyright 2001-2011 Voxeo Germany GmbH

133

Notifications Traps
VoiceObjects 11

Notification Server %1 is idling.

ID 4.15

Description Idle command has been invoked for this server.

Server %1 has idled successfully. Server %1 is stopping.

4.16

4.17

Stop command has been invoked for this server.

Server %1 has stopped successfully. Server %1 is resetting.

4.18

4.1

Reset command has been invoked for this server.

Server %1 has reset successfully. Server %1 is shutting down. Server %1 has shut down successfully. Server %1 is reloading the service list. Server %1 has reloaded the service list successfully. Server instance %1 is starting. Server instance %1 has started successfully. Server instance %1 is idling. Server instance %1 has idled successfully. Server instance %1 is stopping. Server instance %1 has stopped successfully. Service %1 is starting on server %2.

4.3

4.2

Shutdown command has been invoked for this server.

4.4

4.11

Reload Service List command has been invoked for this server.

4.12

4.5

Start (or Resume) command has been invoked for this server instance.

4.6

4.9

Idle command has been invoked for this server instance.

4.10

4.7

Stop command has been invoked for this server instance.

4.8

5.1

Start (or Resume) command has been invoked for this service.

Copyright 2001-2011 Voxeo Germany GmbH

134

Notifications Traps
VoiceObjects 11

Notification Service %1 has started successfully on server %2. Service %1 is idling on server %2. Service %1 has idled successfully on server %2. Service %1 is stopping on server %2. Service %1 has stopped successfully on server %2. Service %1 is redeploying on server %2. Service %1 has redeployed successfully on server %2. Service %1 is restoring on server %2. Service %1 has restored successfully on server %2. No license available for server %1 and service %2. Contact VoiceObjects Technical Support to get a valid license key. The notification feature is not available as it is not included in the VoiceObjects Server license.

ID 5.5

Description

5.3

Idle command has been invoked for this service.

5.7

5.2

Stop command has been invoked for this service.

5.6

5.4

Redeploy command has been invoked for this service.

5.8

5.9

Restore command has been invoked for this service.

5.10

6.2

While starting VoiceObjects Server no valid license key could be found in the Metadata Repository. Contact VoiceObjects to get a proper license key. Refer to Chapter 4 Managing Licenses in the Administration Guide for further information. Your current VoiceObjects Server license does not include the additional notification feature. Contact VoiceObjects to get a new license key including the notification feature. Refer to Chapter 4 - Managing Licenses in the Administration Guide for further information.

6.3

Copyright 2001-2011 Voxeo Germany GmbH

135

Notifications Traps
VoiceObjects 11

Notification The license key will expire within the next %1 days. Contact VoiceObjects Technical Support to get a valid key. The license key for VoiceObjects Server is not valid anymore. Contact VoiceObjects Technical Support to get a valid key.

ID 6.14

Description Your current license key is about to run out. Take care to contact VoiceObjects early enough to secure that you receive an updated license key in time. Refer to Chapter 4 - Managing Licenses in the Administration Guide for further information. Your license key has already been expired. Contact VoiceObjects as soon as possible to get a new license key, as your current VoiceObjects installation will become unmanageable and your applications may also stop answering calls soon. Refer to Chapter 4 - Managing Licenses in the Administration Guide for further information. A new master server instance has been selected in your VoiceObjects cluster. A typical reason for this might be that the current master server instance has been shutdown due to maintenance situations. Refer to Chapter 1 - Deployment Architecture in the Deployment Guide for further information. The service that has been requested by the media platform is not available. This might have several reasons like e.g.: The service is not started The used VSN does not match the VSN of the corresponding Service object

6.15

Server instance %1 is now running in master mode.

6.4

Requested service not available (VSN=%1, DNIS=%2).

6.5

Rejected URL due to inactive server/service (VSN=%1).

6.6

VoiceObjects Server rejects the URL since the server or service that has been intended to handle the dialog is not available. Make sure that the service or server is started in the Control Center. The database connection to your Infostore Repository is not available. Check the message of the notification for hints on the possible reason. The database connection to your Infostore Repository has been re-established.

Connection to Infostore Repository not available. Possible reason: %1 Connection to Infostore Repository is available again. Connection to Custom DB logging database is not available. Possible reason: %1

6.7

6.16

6.8

The database connection to your Custom DB logging repository is not available. Check the message of the notification for hints on the possible reason.

Copyright 2001-2011 Voxeo Germany GmbH

136

Notifications Traps
VoiceObjects 11

Notification Connection to Metadata Repository is not available. Possible reason: %1 Connection to Metadata Repository is available again. Timeout: Dialog %1 called by ANI %2 has expired.

ID 6.9

Description The database connection to your Metadata Repository is not available. Check the message of the notification for hints on the possible reason. The database connection to your Metadata Repository has been re-established.

6.10

6.11

The dialog timeout defined for this service has been reached. Due to this the dialog has expired, based on inactivity, either on the caller or on the system side. The request sent from the media platform has been redirected to another target server instance since the original one is currently not available. Typical reason for this is that the original server instance has been stopped or idled. VoiceObjects Server has rejected to answer a call since the used channel or partner is not included in the current license key. Contact your VoiceObjects sales representative to get an extended license key, which enables you to support all phone channels with your VoiceObjects installation. If the connection to your Infostore Repository has not been available for a while, the queue for storing the logging information might be full. In this case no further logging information is transferred into the queue but gets lost. To inform you about this possible logging data loss, this notification is sent from VoiceObjects Server. The latest command for changing the status of a server, server instance or service (e.g. start service) failed. Check the message of the notification for hints on the possible reason. While starting VoiceObjects Server no valid license key could be found in the Metadata Repository. Contact VoiceObjects to get a proper license key. Refer to Chapter 4 Managing Licenses in the Administration Guide for further information.

Request redirected to target %1.

6.12

Call rejected due to unlicensed channel or partner (VSN=%1).

6.13

Infostore queue is full. Due to this logging information '%1' is dropped.

6.17

Last operation %1 failed. Possible reason: %2

6.18

No license could be found in the Metadata Repository. Contact VoiceObjects Technical Support to get a valid key.

6.19

Copyright 2001-2011 Voxeo Germany GmbH

137

Notifications Traps
VoiceObjects 11

Notification The setting <maxCountPerNotifica tion> has been reset for this notification. Summary of all blocked messages: %1 Warning limit %1 of Infostore queue has been reached

ID 6.20

Description The defined time interval in <resetTimeInterval> has been reached, enabling the sending of further notifications of this kind until the setting <maxCountPerNotification> is reached again. The warning limit defined in <queueSizeWarningLimit> of components_Infostore.xml has been reached. All queue consumers have been disabled. No further messages will be fetched from the queue. All queue consumers have been enabled. Messages will be fetched from the queue. The service cache could not be loaded from the service cache swap file.

6.21

Queue consumers have been disabled

6.22

Queue consumers have been enabled Service cache could not be loaded from cache swap file No license available for dialog %1 (Server %2, VSN %3, Site %4): Server limit of %5 reached.

6.23

6.24

7.1

VoiceObjects Server has rejected to answer any additional calls as the session limit (granted sessions - limit) defined for this server has been reached. Refer to Chapter 9 - Service Level Agreements (SLA) in the Deployment Guide for further information. VoiceObjects Server has rejected to answer any additional calls as the session limit (granted sessions - limit) defined for this service has been reached. Refer to Chapter 9 - Service Level Agreements (SLA) in the Deployment Guide for further information. VoiceObjects Server has rejected to answer any additional calls as the session limit (granted sessions - limit) defined for this site has been reached. Refer to Chapter 9 Service Level Agreements (SLA) in the Deployment Guide for further information. An overdraft license has been issued. This indicates that the session limit defined in the license key for the installation is reached. Contact your VoiceObjects sales representative for a larger license key.

No license available for dialog %1 (Server %2, VSN %3, Site %4): Service limit of %5 reached.

7.2

No license available for dialog %1 (Server %2, VSN %3, Site %4): Site limit of %5 reached.

7.3

Overdraft license returned: %1 (licensed: %2, total: %3).

7.4

Copyright 2001-2011 Voxeo Germany GmbH

138

Notifications Traps
VoiceObjects 11

Notification License Manager not available, returning failover license. %1 of the grace period remaining, %2 sessions left.

ID 7.5

Description A failover license has been issued. This indicates that a temporary problem has occurred in the VoiceObjects cluster. If this only happens in isolated cases and corrects itself after a short period of time, it does not constitute an issue. If, however, this message persists for longer periods of time or occurs frequently, contact VoiceObjects Technical Support for assistance. VoiceObjects Server has stopped accepting any additional concurrent dialogs as the session limit (= concurrent dialogs) has been exceeded. This already includes the overdraft of 20%, which VoiceObjects grants to guarantee full availability during peek times. An error occurred during the call. Check the error message mentioned in the notification and refer to the listed object for further investigation. VoiceObjects Server rejected to answer a request from the media platform since it has already been processing a request with the same ID. The initial request sent from the media platform to VoiceObjects Server already contains the parameter dialogID. As this parameter is generated by VoiceObjects Server based on the first request, this is a conflict and leads to an aborted call. Check if the media platform has cached some VXML pages, which might be a typical reason for this issue. The initial request sent from the media platform contains an invalid parameter assignment; check and correct the syntax.

Maximum limit of concurrent dialogs reached. %1

7.6

Object %1 triggered error. %2.

8.1

VoiceObjects session %1 is already in use!

8.2

Initial request held parameter dialogID (dialogID=%1).

8.3

Invalid assignment of parameter in initial URL (Parameter=%1, Value=%2). Invalid assignment of parameter in request URL (Parameter=%1, Value=%2).

8.4

8.5

The request sent from the media platform contains an invalid parameter assignment; check and correct the syntax.

Copyright 2001-2011 Voxeo Germany GmbH

139

Notifications Traps
VoiceObjects 11

Notification Could not store utterance recording of dialog object %1 in service %2 on server instance %3:%4. %1

ID 8.6

Description Utterances recorded during the call could not be stored. Check if the file system for storing the utterance recordings is available and is also still accepting new files.

8.7

An Expression object with function NOTIFICATION has been processed in the current dialog. The parameter %1 will be replaced by the message defined in the first argument of the corresponding Expression object.

The following tree view shows the traps with their names and codes:
+--voiceobjects(24140) | +--product(1) | +--voServer(2) | +--notifications(5) | +--server(4) | | | +--serverResetting(1) | +--serverShuttingDown(2) | +--serverReset(3) | +--serverShutDown(4) | +--serverInstanceStarting(5) | +--serverInstanceStarted(6) | +--serverInstanceStopping(7) | +--serverInstanceStopped(8) | +--serverInstanceIdle(9) | +--serverInstanceIdled(10) | +--serverReloadingServiceList(11) | +--serverReloadedServiceList(12) | +--serverStarting(13) | +--serverStarted(14) | +--serverIdle(15) | +--serverIdled(16) | +--serverStopping(17) | +--serverStopped(18) | +--service(5) | | | +--serviceStarting(1) | +--serviceStopping(2) | +--serviceIdle(3) | +--serviceRedeploying(4) | +--serviceStarted(5) | +--serviceStopped(6) | +--serviceIdled(7) | +--serviceRedeployed(8) | +--serviceRestoring(9) | +--serviceRestored(10)

Copyright 2001-2011 Voxeo Germany GmbH

140

Notifications

VoiceObjects 11

| +--unsolicited(6) | | | +--license_NA(2) | +--noNotificationLicense(3) | +--newMasterElected(4) | +--serviceNotAvailable(5) | +--urlNotAvailable(6) | +--infostoreNotAvailable(7) | +--customNotAvailable(8) | +--repositoryNotAvailable(9) | +--repositoryReestablished(10) | +--dialogExpired(11) | +--requestRedirect(12) | +--ivalidChannelOrPartner(13) | +--licenseExpire_Warn(14) | +--licenseExpired(15) | +--infostoreReestablished(16) | +--infostoreQueueFull(17) | +--lastOperationFailed(18) | +--licenseNotAvailable(19) | +--ntfBarrierReset (20) | +--statQueueSizeWarning (21) | +--statQueueConsumerDisabled (22) | +--statQueueConsumerEnabled (23) | +--serviceCacheNotLoadedFromSwapFile (24) | +--sla(7) | | | +--serverMaxReached(1) | +--serviceMaxReached(2) | +--siteMaxReached(3) | +--overdraftIssued(4) | +--failoverIssued(5) | +--concurrentDialogMaxReached(6) | +--others(8) | +--eventHandled(1) +--duplicateCall(2) +--dialogIDInFirstRequest(3) +--invalidInitialParam(4) +--invalidParam(5) +--utteranceRecordingFailed(6) +--functionHandled(7)

Java Management Extensions (JMX)


VoiceObjects supports monitoring using Java Management Extensions (JMX). Information is provided about servers, services, caches, and queues as detailed in the tables below. All mbeans are provided under com.voiceobjects.monitoring.

Copyright 2001-2011 Voxeo Germany GmbH

141

Notifications Java Management Extensions (JMX)


VoiceObjects 11

Server Information Within the Servers category, an entry is provided for each VoiceObjects Server, identified by its reference ID. Each server has the following attributes: Attribute
ErrorMessage

Description Contains the error message if an error occurred on the server; otherwise empty string Boolean flag indicating whether this server is the master in a cluster (true) or not (false) Session guarantee provided for this server Session guarantee requested for this server Session limit provided for this server Session limit requested for this server Status of this server (e.g. STARTED, STOPPED, etc.) Total number of calls on this server Total number of active calls on this server Total number of cancelled calls on this server Total number of finished calls on this server Total number of rejected calls on this server

Master

SessionGuarantee SessionGuaranteeRequested SessionLimit SessionLimitRequested Status

TotalNumberOfCalls TotalNumberOfActiveCallls TotalNumberOfCancelledCalls TotalNumberOfFinishedCalls TotalNumberOfRejectedCalls

Service Information Within the Services category (below Servers), an entry is provided for each VoiceObjects Service, identified by its VSN. Each service has the following attributes: Attribute
ActiveCacheID

Description ID of the active cache for this service (empty if none could be created) Size of active cache (in number of objects) Contains the error message if an error occurred on the service; otherwise empty string ID of the restore cache for this service

ActiveCacheSize ErrorMessage

RestoreCacheID

Copyright 2001-2011 Voxeo Germany GmbH

142

Notifications Java Management Extensions (JMX)


VoiceObjects 11

Attribute

Description (empty if none exists)

RestoreCacheSize Status

Size of restore cache (in number of objects) Status of this service (e.g. STARTED, STOPPED, etc.) Total number of active calls on this service Total number of calls on this service Total number of cancelled calls on this service Total number of finished calls on this service Total number of redirected calls on this service Total number of rejected calls on this service

TotalNumberOfActiveCallls TotalNumberOfCalls TotalNumberOfCancelledCalls

TotalNumberOfFinishedCalls TotalNumberOfRedirectedCalls

TotalNumberOfRejectedCalls

Cache Information Within the VOCacheManager category, information is provided about the caches managed by VoiceObjects Server: Attribute
ActiveCacheSize ActiveCacheSizeKB TotalCacheSize TotalCacheSizeKB

Description Size of in-memory caches (in number of objects) Size of in-memory caches (in kilobytes) Total managed cache size (in number of objects) Total managed cache size (in kilobytes)

Queue Information Within the VODBLoggingQueue category, information is provided about the queues connecting VoiceObjects Server to System and Custom DB logging: Attribute
CustomDBQueueSize

Description Size of Custom DB logging queue (in number of entries) Queue size on disk (in kilobytes) Used space percentage in on-disk queue

DiskUsage DiskUsagePercent

Copyright 2001-2011 Voxeo Germany GmbH

143

Notifications Java Management Extensions (JMX)


VoiceObjects 11

Attribute
SystemDBQueueSize

Description Size of System DB logging queue (in number of entries)

Copyright 2001-2011 Voxeo Germany GmbH

144

Service Level Agreements (SLA) Using Session Partitioning


VoiceObjects 11

9 Service Level Agreements (SLA)


VoiceObjects provides session partitioning to enable native support for Service Level Agreements (SLAs), making it the ideal foundation for Managed Service Environments. SLAs set the expectations between the service consumer and service provider. It helps define the relationship between the two parties. It is the cornerstone of how the service provider sets and maintains commitments to the service consumer. A SLA typically addresses five key aspects: What the service provider is promising. How the service provider will deliver on those promises. Who will measure the service delivery, and how. What happens if the service provider fails to deliver as promised. How SLAs will change over time.

The challenge for a new service and its associated SLA is that there is a direct relationship between the platform architecture and what the guaranteed and maximum levels of availability are. Thus, a SLA cannot be created in a vacuum. A SLA must be defined with the overall system infrastructure in mind.

Using Session Partitioning


In Managed Service Environments (MSEs), SLAs are a vital mechanism to ensure the smooth coexistence of applications deployed by multiple different sites. While it is desirable to use the same pool of sessions for different sites, certain availability guarantees must be met. In particular, each site typically has a certain number of phone lines assigned to it, which map to dialog sessions on the VoiceObjects platform. Thus it is necessary to partition the capacity of dialog sessions for each site that are available to it regardless of the overall traffic on the platform. On the other hand, sites may only have purchased a defined session capacity. So it must also be possible to assign individual session limits to them. The VoiceObjects platform provides all of these capabilities, and ensures that the partitioned session capacities are enforced at any time to deliver the promised SLA towards the service consumer.

Configuring Session Partitioning


Within VoiceObjects, session partitioning allows administrators to slice the total session capacity of the system into dedicated partitions. Each partition is specified by a session guarantee, limit and distribution. The individual partitions can be configured on three isolated levels: server, site, and service. Caution: The session partitioning settings made on the different levels interact with each other and must be kept synchronized for the installation to work as expected. VoiceObjects provides assistance for this by indicating conflicts between partition definitions, and by visualizing the current session partitioning matrix. For details, refer to Monitoring Session Partitioning.

Copyright 2001-2011 Voxeo Germany GmbH

145

Service Level Agreements (SLA) Configuring Session Partitioning


VoiceObjects 11

Session guarantees define the minimum number of concurrent dialog sessions that are available to a server, site, or service. Regardless of whether these sessions are actually in use, they are set aside and may not be used for other purposes. This also implies that sessions can only be guaranteed to a specific server, site, or service if they are still available. Session guarantees should be used to ensure that sites receive the service level they have paid for, regardless of the current traffic situation in other sites. They are typically configured by Server Administrators. Session limits define the maximum number of concurrent dialog sessions that may be active for a server, site, or service. If this limit is reached, any additional incoming dialog sessions will be rejected. The Reject response setting on the service enables intelligent handling of such situations (e.g. premium customers may be routed to a call center while standard customers are informed to call again later). Session limits should be used to ensure that sites do not exceed the service level they have paid for, regardless of the number of incoming requests. They are typically configured by Server Administrators. Session distributions define how dialog sessions are distributed between different services within a custom site and on a given server. They are only relevant for custom sites with a session limit and should be seen as an alternative to using explicit guarantees and limits for the services. Session distributions should be used to ensure that priorities within a site are respected, and that one service cannot deprive another service of dialog sessions. They are typically configured by Site Administrators. For details on how the session partitioning is applied at call time and how the various session partitions interact with each other, see Applying Session Partitioning. Site For each site, a session guarantee and a session limit can be defined. The sum of the session guarantees for all sites must not exceed the total number of licensed sessions for the installation. The session limit set on a site implicitly limits all servers and services that belong to this site. Changes made to these settings are applied as soon as at least one service belonging to this site is redeployed (regardless on which server). Note: The system site has neither a session guarantee nor a session limit. This implies that services within the system site cannot have a session guarantee (but they can have session limits). Servers from the system site can have both. For details on how to set session guarantee and session limit for a site, refer to Chapter 3 User Management Managing Sites in the Administration Guide. Server For each server, a session guarantee and a session limit can be defined. The sum of the session guarantees for all servers must not exceed the total number of licensed sessions for the installation. If the server belongs to a custom site, it must also not exceed the session guarantee for this site. The session limit set on a server implicitly limits all services that are deployed on this server. If a server belongs to a custom site, then the server itself is implicitly limited by the settings made on the site.

Copyright 2001-2011 Voxeo Germany GmbH

146

Service Level Agreements (SLA) Applying Session Partitioning


VoiceObjects 11

Changes made to the server settings are applied when the server is reset or completely restarted. The server claims any session guarantee assigned to it when it starts, and releases them when it is stopped or shut down. For details on how to set session guarantee and session limit on a server, refer to Chapter 2 Configuring Servers and Services. Service For each service, a session guarantee, a session limit, and a session distribution percentage can be defined. The session guarantee for a service must not exceed the session guarantee for the site it belongs to, or for the server it is deployed on. The session guarantee for a service counts separately for each server this service is deployed on. By default, session distribution is disabled. To enable it, all services within a custom site hosted on a given server must be assigned a percentage value. The sum of all percentage values must not exceed 100%. If it stays below 100%, available sessions may go unused. If it exceeds 100%, session distribution settings will be ignored for all in the service info boxes services within the site. This is indicated by warning icons as well as on the Session Partitioning tab. Changes made to these settings are applied when the service is redeployed. The service claims any session guarantee assigned to it when it is started (or redeployed in started state), and releases them when it is stopped. Note that the service holds on to its session guarantee when it is idled. Note: Services that belong to the system site cannot have a session guarantee, since the system site itself cannot have them. For details on how to set session partitions with guarantees and limits for a service, refer to Chapter 2 Configuring Servers and Services.

Applying Session Partitioning


When running multiple sites with their respective services on a single VoiceObjects platform, the various configured session partitions may interact in complex ways. Thus it is important for a Server Administrator or Controller to have a thorough understanding of the impact a certain session partition may have. The following image shows the general installation topology:

Copyright 2001-2011 Voxeo Germany GmbH

147

Service Level Agreements (SLA) Applying Session Partitioning


VoiceObjects 11

Inside a site, which may either be the system site or a custom site, there can be multiple servers. Each of these servers runs a set of VoiceObjects services (VS). These services may in turn belong to various sites, as indicated by the dashed line groups. A server in the system site may host services from the system site or from any custom site. A server in a custom site may host services from this site, or from the system site. Session guarantees Session guarantees are set aside top-down. In order for a server from a custom site to have any session guarantee, the site itself must have them. Servers within the system site may use a session guarantee up to the concurrent session limit defined in the license key for the installation. The sum of the session guarantees for all servers within a site must not exceed the session guarantee for the site itself. If it does, session guarantees are granted on a first-come-first-served basis and some of the servers may only receive a fraction of their requested session guarantee. In order for a service to have any session guarantee, both the site it belongs to and the server it runs on must have them. In particular, services from the system site cannot have a session guarantee since the system site itself cannot have them. The sum of session guarantees for all services on a server must not exceed the session guarantee for the server itself. If it does, session guarantees are granted on a first-come-first-served basis and some of the services may only receive a fraction of their requested session guarantee. Similarly, the sum of session guarantees for all services from a site must not exceed the session guarantee for the site itself. If it does, session guarantees are granted on a first-come-first-served basis and some of the services may only receive a fraction of their requested session guarantee.

Copyright 2001-2011 Voxeo Germany GmbH

148

Service Level Agreements (SLA) Applying Session Partitioning


VoiceObjects 11

Examples: 1 Assume that a server with a session guarantee of 10 belongs to a custom site with a session guarantee of 5. Then the server only receives a session guarantee of 5. Assume that a custom site with a session guarantee of 10 contains two servers with a session guarantee of 7 each. Then the first server to start will receive a session guarantee of 7, while the second server to start will only receive a session guarantee of 3. A server in the system site may use any session guarantee, up to the number of available concurrent sessions in the license key for the installation. If there are multiple servers in the system site, then the sum of their session guarantees must not exceed the number of available concurrent sessions for the installation. Assume that a custom site with a session guarantee of 10 contains two services with session guarantee of 5 each. Both services are deployed on a server in the system site, which has a session guarantee of 8. Then (assuming there is no interference with other services on the server) the first service to start will receive a session guarantee of 5, while the second service to start will only receive a session guarantee of 3.

Session limits Session limits are imposed top-down. The outermost limit is the number of concurrent sessions available in the license key of the VoiceObjects installation. The session limit for any server within a site must not exceed the session limit for the site itself. If it does, the site session limit is used instead. The session limit for any service on a server must not exceed the session limit for the server itself. If it does, the server session limit is used instead. Similarly, the session limit for any service from a site must not exceed the session limit for the site itself. If it does, the site session limit is used instead. Examples: 1 Assume there is a server with a session limit of 10 that belongs to a custom site with a session limit of 7. Then the lower session limit of 7 is also applied to the server. Assume there is a server in the system site with a session limit of 100 while the license key for the installation defines a session limit of 75. Then the lower session limit of 75 is also applied to the server. Assume that a service with a session limit of 25 is hosted on a server with a session limit of 15. Then the lower session limit of 15 is also applied to the service. Assume that a service with a session limit of 25 belongs to a custom site with a session limit of 10. Then the lower session limit of 10 is also applied to the service. Assume that a server with a session limit of 10 hosts two services that each have a session limit of 8. Then each of the two services is limited to at most 8 concurrent dialog sessions, while the sum of concurrent dialog sessions for both services combined is limited to 10 concurrent sessions.

Copyright 2001-2011 Voxeo Germany GmbH

149

Service Level Agreements (SLA) Monitoring Session Partitioning


VoiceObjects 11

Session distributions Session distributions provide a mechanism to prioritize among multiple services within a custom site. This setting is only relevant if a session limit is defined for the site. It is ignored for services from the system site (since the system site has no session limit). Session distribution percentages should be used as an alternative to explicit guarantees and limits for the individual services within a site. When used in combination with them, the session distribution percentages will take precedence and the guarantees and limits will be adjusted accordingly. The advantage of using session distributions lies in the fact that they automatically adjust to a modified session limit for the site, and that no session guarantee is required on the site level. By default, session distribution is disabled. To enable it, all services within a site must be assigned a session distribution percentage. As long as at least one service within a site is set to Disabled, session distributions are not applied. The percentages assigned to the services within a site and on a given server must sum up to no more than 100%. If they do, the settings are ignored. If they sum up to less than 100%, the site may not reach its session limit. When session distribution percentages are assigned, each service is allowed at most the number of concurrent sessions that corresponds to its percentage of the total sessions available to the site. Examples: 1 Assume that a site has three services, all of which have their session distribution set to the default of Disabled. Then dialog sessions within the site are distributed on a first-come-first-served basis. Assume that in the same scenario as above, two of the services are assigned session distribution percentages while the third one is left at Disabled. Then the behavior is exactly the same as above, since session distributions are only activated if all services are assigned percentages. Assume that a site has a session limit of 10 and contains two services with session distribution percentages of 20% and 80%, respectively. Then the first service can accept no more than 2 concurrent sessions, and the second service can accept no more than 8 concurrent sessions. Assume that starting from the scenario above, an even distribution between the two services is desired. Then the session distribution percentages for both services need to be set to 50%, and both of the services need to be redeployed. Then both of them receive at most 5 concurrent sessions. Note: Depending on the order in which the adjustment is done, the session distribution settings may be ignored temporarily while the sum of all session distribution exceeds 100%. They will take effect again once the sum is 100% or less.

Monitoring Session Partitioning


Once session partitioning has been configured for the various servers, sites, and services used in a VoiceObjects installation, the platform automatically enforces that these session partitions are honored at call time as described in Applying Session Partitioning. Since the session partitions made on the different levels interact with each other and may have unintended impact when used without caution, VoiceObjects provides

Copyright 2001-2011 Voxeo Germany GmbH

150

Service Level Agreements (SLA) Monitoring Session Partitioning


VoiceObjects 11

monitoring and management capabilities. This enables administrators to ensure that the session partitioning settings that are currently applied are consistent. Session partitioning monitoring is available using the Control Center and the Web Services Interface. Control Center Session partitioning summary information is provided on the Session Partitioning tab within the Control Center.

This tab is only accessible to Server Administrators, Server Controllers, Site Administrators, and Site Controllers. The content of the Session Partitioning tab always provides an overview of the session partitioning settings for the entire repository (for Server Administrators/Controllers) or for the entire site (for Site Administrators/Controllers). Information is displayed grouped by Sites, Servers, and Services. For all three sections, there is a set of columns displaying the granted session settings that are currently applied, and a set of columns displaying the requested session settings as they are provided in the respective object definition. The Sites section displays the session partitioning settings for all sites that are active in the installation, including the system site. Custom sites are identified by their site ID as defined in the respective site settings. The Sites section shows the following information: Granted Sessions Guarantee The session guarantee that has been set aside for this site. If this number is smaller than the requested session guarantee, a yellow triangle is shown to the right of the site name. icon Granted Sessions Pool The pool of floating sessions available to this site. This is the difference between Limit and Guarantee. Granted Sessions Limit The maximum number of concurrent sessions available to this site. If this number is smaller than the requested session limit, a yellow triangle icon is shown to the right of the site name.

Copyright 2001-2011 Voxeo Germany GmbH

151

Service Level Agreements (SLA) Monitoring Session Partitioning


VoiceObjects 11

Requested Sessions Guarantee The session guarantee requested by this site within its site settings. Requested Sessions Limit The maximum number of concurrent sessions defined for this site within its site settings. Requested Sessions Distribution This column is not currently relevant for sites.

The Servers section displays the session partitioning settings for all servers that are active in the installation. Servers are identified by their reference ID. To indicate which site a specific server belongs to, the site ID is appended using the @ sign (e.g. VOServer@System indicates that the server with reference ID VOServer belongs to the system site). The Servers section shows the following information: Granted Sessions Guarantee The session guarantee that has been set aside for this server. If this number is smaller than the requested session guarantee, a yellow triangle is shown to the right of the server name. icon Granted Sessions Pool The pool of floating sessions available to this server. This is the difference between Limit and Guarantee. Granted Sessions Limit The maximum number of concurrent sessions available to this server. If this number is smaller than the requested session limit, a yellow triangle icon is shown to the right of the server name. Requested Sessions Guarantee The session guarantee requested by this server within its object definition. Requested Sessions Limit The maximum number of concurrent sessions defined for this server within its object definition. Requested Sessions Distribution This column is not currently relevant for servers.

The Services section displays the session partitioning settings for all services that are active in the installation. Since the same service may be deployed on multiple servers, each service is shown along with the server it is deployed on. Services are identified by their VoiceObjects Service Name (VSN). To indicate which site a specific service belongs to, the site ID is appended using the @ sign (e.g. PI@System indicates that the service with VSN PI belongs to the system site). The Services section shows the following information: Granted Sessions Guarantee The session guarantee that has been set aside for this service. If this number is smaller than the requested session guarantee, a yellow triangle is shown to the right of the service name. icon Granted Sessions Pool The pool of floating sessions available to this service. This is the difference between Limit and Guarantee.

Copyright 2001-2011 Voxeo Germany GmbH

152

Service Level Agreements (SLA) Infostore


VoiceObjects 11

Granted Sessions Limit The maximum number of concurrent sessions available to this service. If this number is smaller than the requested session limit, a yellow triangle icon is shown to the right of the service name. Requested Sessions Guarantee The session guarantee requested by this service within its object definition. Requested Sessions Limit The maximum number of concurrent sessions defined for this service within its object definition. Requested Sessions Distribution The session distribution percentage defined for this service.

Web Services Interface Session partitioning information can be obtained through the Web Services Interface (WSI) using the getSessionPartitioning method. It returns an XML structure representing the same data that is displayed in the Control Center. For more information on the Web Services Interface, refer to the Web Services Guide. Note: The Web Services Interface is licensed separately and can only be used if it is available in the license key. Notifications If notifications are enabled, notifications are sent whenever a session limit is exceeded. This applies to the service, server, and site level. For more information, refer to Chapter 8 Notifications. Note: Notification is licensed separately and can only be used if it is available in the license key.

Infostore
If Infostore is active, session partitioning settings made on servers, services, and sites are written to the database. In addition, current session partitioning information is written out in regular intervals to enable subsequent analysis of actual load situations versus SLA limits. For more information, refer to the Infostore Guide. Note: Infostore is licensed separately and can only be used if it is available in the license key.

Copyright 2001-2011 Voxeo Germany GmbH

153

Messaging Support Architecture


VoiceObjects 11

10 Messaging Support
In order to extend support for the text channel, the VoiceObjects platform also supports text messaging from mobile devices using the Short Message Service (SMS) and from Instant Messaging (IM) clients. Since there are numerous communication standards and implementations for the various communication devices, VoiceObjects provides a flexible, extensible adapter approach to be able to support as many protocols as possible. Additionally, a pre-built sample adapter implementation for Clickatells XML API to support SMS devices and demo versions of the Skype and Windows Live Messenger implementation are available. If required, custom adapters for other SMS or IM gateways can be created. For further details contact VoiceObjects Professional Services. Note: This chapter deals with enabling interactive dialogs on text-based channels. In order to send an SMS message as a confirmation message e.g. during a voice dialog, refer to the Connector object in the Object Reference.

Architecture
To separate the multiple different client protocol implementations from the media platform driver concept as used by VoiceObjects Server, a messaging proxy that negotiates the communication is placed between the actual custom adapter and VoiceObjects Server. The adapters transform the proprietary message structure from the different clients into a simple unified representation that can be handled by the messaging proxy. The messaging proxy then creates the requests for VoiceObjects Server, gets the response, and passes it back to the adapter. The adapter finally sends an appropriate response to the client. The adapter code is automatically triggered (given the adapter is enabled, see description below) with every request to VoiceObjects Server. Whether a request should be handled by an adapter or not, is decided by each adapter and can be based on e.g. HTTP-header information or a URL parameter. As a convenience method, the value of the URL parameter MessagingProxy is extracted and, if it corresponds to the attribute name of one of the adapter configurations, the corresponding adapter is triggered to handle the request.

Copyright 2001-2011 Voxeo Germany GmbH

154

Messaging Support SMS (Clickatell XML API)


VoiceObjects 11

The driver that is to be used for all messaging adapters is [Messaging Proxy]. Configuration The configuration settings for all adapters can be configured in the file MessagingConfiguration.xml in the WEB-INF/config subfolder of your VoiceObjects installation folder. The file contains one <adapter> element for each available adapter. The attribute name uniquely identifies each adapter. Each available configuration option corresponds to one <property> element below the <adapter> element, by using a name-value pair syntax.

SMS (Clickatell XML API)


The example SMS channel implementation is realized by using Clickatells XML-overHTTP interface. In order to send and retrieve SMS messages you need to sign up at www.Clickatell.com for their Two-Way SMS product and add at least one xml_api connection type. In the options of the Two Way SMS product registration, specify either XML GET or XML POST in the Reply Path field. Specify the Target Address of your VoiceObjects Server in the form of: http://<machine name>:<port>/VoiceObjects/DialogMapping Note that you dont need to add the VSN or vsDriver parameter to the URL.

Copyright 2001-2011 Voxeo Germany GmbH

155

Messaging Support SMS (Clickatell XML API)


VoiceObjects 11

Configuration The configuration settings for the Clickatell SMS adapter can be found in the file MessagingConfiguration.xml. Locate the following element:
<adapter name="Clickatell" factory="com.voiceobjects.improxy.sms.clickatell.ClickatellFactory" enabled="true">

To enable or disable the Clickatell SMS adapter, change the value of the enabled attribute to true or false, respectively. In addition the following properties can be set: Property name url Function Specifies the URL of the SMS gateway. This value should not be changed. Specifies the user name to be used for authenticating with the SMS gateway. Specifies the password to be used for authenticating with the SMS gateway. Specifies the API ID to be used for authenticating with the SMS gateway.

user

password

api_id

If you need a proxy you can specify this through the Java properties http.ProxyHost and http.ProxyPort. Note that this proxy configuration will be used for all HTTP connections installation-wide.

Copyright 2001-2011 Voxeo Germany GmbH

156

Messaging Support Skype


VoiceObjects 11

Service mapping The selection of the service which should handle the communication is based on the telephone number that the SMS message was sent to by the caller (DNIS). This number needs to be added to the DNIS mapping inside the editor of the corresponding service. For details refer to Configuring a Service in Chapter 2 Configuring Servers and Services. Dialog mapping As SMS connections work on a stateless approach, there is no specific session ID sent by the gateway. Thus for each incoming SMS message the request is mapped to the VoiceObjects session based on the senders telephone number (ANI). Consequently this means that one sender can only have one session at a time. The session can be forced to be reset by sending the number sign (#). Clustered environment In a clustered environment a load balancer needs to be placed between the VoiceObjects server instances and the Clickatell gateway. The load balancer must be configured to ensure a sticky connection handling, i.e. requests which belong to the same session must be handled on one server instance. This can typically be set up by including a custom session identifier (e.g. the callers ANI) with every request from the gateway.

Skype
The Skype integration should not be used for productive deployments. The available implementation is supposed to be used only for demonstration and testing purposes. Configuration The configuration settings for the Skype IM adapter can be found in the file MessagingConfiguration.xml. Locate the following element:
<adapter name="Skype" factory="com.voiceobjects.improxy.im.skype.SkypeFactory" enabled="true"/>

To enable or disable the Skype IM adapter, change the value of the enabled attribute to true or false, respectively. To use the Skype adapter, Skype needs to be installed and running when starting VoiceObjects Server. The server instance will automatically connect to the Skype client software and use the currently logged in Skype user name for retrieving and sending messages. All subsequent incoming messages to this account will be handled by the adapter. Service mapping The selection of the service which should handle the communication is based on the Skype user name. This name needs to be added to the DNIS mapping inside the editor of the corresponding service. For details refer to Configuring a Service in Chapter 2 Configuring Servers and Services.

Copyright 2001-2011 Voxeo Germany GmbH

157

Messaging Support Windows Live Messenger


VoiceObjects 11

Dialog mapping Due to the nature of Instant Messaging communication, there is usually only one dialog between two participants. Thus for each incoming Skype message this request is mapped to the VoiceObjects session based on the remote partys Skype name. The session can be forced to be reset by sending the number sign (#).

Windows Live Messenger


The Windows Live Messenger adapter should not be used for productive deployments. The available implementation is supposed to be used only for demonstration and testing purposes. Configuration The configuration settings for the Windows Live Messenger adapter can be found in the file MessagingConfiguration.xml. Locate the following element:
<adapter name="MSN" factory="com.voiceobjects.improxy.im.msnmessenger.MsnFactory" enabled="false">

To enable or disable the Windows Live Messenger adapter, change the value of the enabled attribute to true or false, respectively. The following properties must be populated with valid values from an existing Windows Live account: Property name email Function Specifies the Windows Live ID to be used for authenticating with the Windows Live Messenger. Specifies the password to be used for authenticating with the Windows Live Messenger.

Password

If enabled, the adapter will log into the Windows Live network upon start of the server instance. All subsequent incoming messages to this account will be handled by the adapter. Service mapping The selection of the service which should handle the communication is based on the Windows Live User ID. This name needs to be added to the DNIS mapping inside the editor of the corresponding service. For details refer to Configuring a Service in Chapter 2 Configuring Servers and Services. Dialog mapping Due to the nature of Instant Messaging communication, there is usually only one dialog between two participants. Thus for each incoming message this request is mapped to the VoiceObjects session based on the remote partys Windows Live user ID. One session can be forced to be reset by sending the number sign (#).

Copyright 2001-2011 Voxeo Germany GmbH

158

Messaging Support Infostore


VoiceObjects 11

Infostore
All sessions handled by the adapter are logged to Infostore, if enabled for the respective service. These sessions are marked as a text channel and show the driver [Messaging Proxy].

Copyright 2001-2011 Voxeo Germany GmbH

159

A Media Platform Drivers


VoiceObjects 11

A Media Platform Drivers


The media platform drivers are defined in the MPDrivers.xml configuration file, which is situated in the WEB-INF\config\ folder of your VoiceObjects installation. This file holds valid definitions for all supported media platforms and should not be modified, as this might directly affect the functionality of VoiceObjects Server. If a new driver is required, e.g. due to new media platform releases in between the release dates of the VoiceObjects platform, the [Custom] driver, which acts as a placeholder driver definition for these cases, can be modified in the MPDrivers.xml file. This driver is not configured to work on any new media platform as is; it always requires a modification corresponding to the platform specifics. You can use it as a driver when testing an application in debug mode (using the Debug Viewer), though. If you need a custom driver definition for your environment, contact your VoiceObjects Sales representative. The following table lists the legal values for the vsDriver parameter for all supported media platforms. The vsDriver parameter is used in the service URL configuration (see Service URL Configuration in Chapter 4 Service Deployment). In addition, it lists the default language, encoding and grammar type settings. If a platform has specifics that can influence the functionality of your application, check the comments for your driver (if available). Property Value [ ID = 11, Channel = Video ]

Alcatel-Lucent 8855 Multimedia Browser 4.3 vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Alcatel_8855_MB_4_3_VXML_2_0 en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) [DTMF only] Input mode DTMF only (no ASR supported). Slot assignments not supported for non-TTG DTMF grammars (inline or external). Recordings made using the Recording object will be stored on the media platform instead of VoiceObjects Server. Make sure to use correct resource locator definitions in Recording objects. Utterance recording not supported [ ID = 31, Channel = Voice ]

Alcatel-Lucent 8855 Voice Browser 3.1/4.2 (Nuance) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Alcatel_8855_VB_3_1_VXML_2_0_ASR_Nuance en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Slot assignments not supported for non-TTG DTMF grammars (inline or external). Recordings made using the Recording object will be stored on the media platform instead of VoiceObjects Server. Make sure to use correct resource locator definitions in Recording objects.

Copyright 2001-2011 Voxeo Germany GmbH

160

A Media Platform Drivers


VoiceObjects 11

Property

Value Utterance recording not supported [ ID = 134, Channel = Web ]

Apple iPhone Web XHTML 1.0 vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

AppleiPhoneWeb_XHTML_1_0 en-US UTF-8 none Utterance recording not supported [ ID = 90, Channel = Voice ]

Aspect CSS 7.2 (Nuance OSR) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Aspect_CSS_7_2_VXML_2_1_ASR_SpeechWorks en-US UTF-8 srgs_xml Builtin grammars are not supported Weights on grammars set to a value below 1.0 result in grammars never to be matched To support external DTMF grammars without a semantic interpretation (slot) defined, the following parameters have to be commented out in the Nuance OSR configuration file baseline.xml: <!--param name="swirec_extra_nbest_keys"> <value>SWI_meaning</value> <value>SWI_literal</value> <value>SWI_grammarName</value> </param-->

Aspect CSS 7.2 (Nuance) vsDriver vsLanguage vsEncoding vsGrammarMediaType atip aVP 5.6 (ATIPRecog) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments atip aVP 5.8 (ATIPRecog) vsDriver

[ ID = 139, Channel = Voice ] Aspect_CSS_7_2_VXML_2_1_ASR_Nuance en-US UTF-8 srgs_xml (Possible: srgs_xml, builtin) [ ID = 130, Channel = Voice ] atip_aVP_5_6_VXML_2_1_ASR_ATIPRecog de-DE ISO-8859-1 gsl (Possible: gsl, builtin) Utterance recording not supported

[ ID = 144, Channel = Voice ] atip_aVP_5_8_VXML_2_1_ASR_ATIPRecog

Copyright 2001-2011 Voxeo Germany GmbH

161

A Media Platform Drivers


VoiceObjects 11

Property vsLanguage vsEncoding vsGrammarMediaType Avaya IR 1.2/1.2.1 (Nuance) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments Avaya IR 1.3 (IBM) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Value de-DE ISO-8859-1 gsl (Possible: gsl, builtin) [ ID = 57, Channel = Voice ] Avaya_IR_1_2_VXML_2_0_ASR_Nuance en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Utterance recording not supported

[ ID = 60, Channel = Voice ] Avaya_IR_1_3_VXML_2_0_ASR_IBM en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) In some installations there might be an issue with the playback of prompts when there is a Silence object present, which is rendered through the <break> element by default. If your installation has a problem with this, set the <breakAudioSupport> element to true for this driver. Utterance recording not supported

Avaya IR 1.3 (Nuance) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments Avaya IR 1.3 (Nuance OSR) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments Avaya IR 2.0 (IBM) vsDriver vsLanguage

[ ID = 59, Channel = Voice ] Avaya_IR_1_3_VXML_2_0_ASR_Nuance en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Utterance recording not supported

[ ID = 58, Channel = Voice ] Avaya_IR_1_3_VXML_2_0_ASR_SpeechWorks en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Utterance recording not supported

[ ID = 106, Channel = Voice ] Avaya_IR_2_0_VXML_2_0_ASR_IBM en-US

Copyright 2001-2011 Voxeo Germany GmbH

162

A Media Platform Drivers


VoiceObjects 11

Property vsEncoding vsGrammarMediaType Comments

Value ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) In some installations there might be an issue with the playback of prompts when there is a Silence object present, which is rendered through the <break> element by default. If your installation has a problem with this, set the <breakAudioSupport> element to true for this driver.

Avaya IR 2.0 (Nuance) vsDriver vsLanguage vsEncoding vsGrammarMediaType

[ ID = 105, Channel = Voice ] Avaya_IR_2_0_VXML_2_0_ASR_Nuance en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) [ ID = 104, Channel = Voice ] Avaya_IR_2_0_VXML_2_0_ASR_SpeechWorks en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin)

Avaya IR 2.0 (Nuance OSR) vsDriver vsLanguage vsEncoding vsGrammarMediaType Avaya IR 3.0 (IBM) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

[ ID = 116, Channel = Voice ] Avaya_IR_3_0_VXML_2_1_ASR_IBM en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) In some installations there might be an issue with the playback of prompts when there is a Silence object present, which is rendered through the <break> element by default. If your installation has a problem with this, set the <breakAudioSupport> element to true for this driver.

Avaya IR 3.0 (Nuance) vsDriver vsLanguage vsEncoding vsGrammarMediaType

[ ID = 117, Channel = Voice ] Avaya_IR_3_0_VXML_2_1_ASR_Nuance en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) [ ID = 118, Channel = Voice ] Avaya_IR_3_0_VXML_2_1_ASR_SpeechWorks en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin)

Avaya IR 3.0 (Nuance OSR) vsDriver vsLanguage vsEncoding vsGrammarMediaType

Copyright 2001-2011 Voxeo Germany GmbH

163

A Media Platform Drivers


VoiceObjects 11

Property Avaya Voice Portal 3.0 (IBM) vsDriver vsLanguage vsEncoding vsGrammarMediaType

Value [ ID = 94, Channel = Voice ] Avaya_VP_3_0_VXML_2_0_ASR_IBM en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) [ ID = 92, Channel = Voice ]

Avaya Voice Portal 3.0 (Nuance OSR) vsDriver vsLanguage vsEncoding vsGrammarMediaType

Avaya_VP_3_0_VXML_2_0_ASR_SpeechWorks en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) [ ID = 93, Channel = Voice ]

Avaya Voice Portal 3.0 (Nuance) vsDriver vsLanguage vsEncoding vsGrammarMediaType

Avaya_VP_3_0_VXML_2_0_ASR_Nuance en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) [ ID = 119, Channel = Voice ]

Avaya Voice Portal 4.0-5.1 (IBM) vsDriver vsLanguage vsEncoding vsGrammarMediaType

Avaya_VP_4_0_VXML_2_1_ASR_IBM en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) [ ID = 145, Channel = Voice ]

Avaya Voice Portal 4.0-5.1 (Loquendo) vsDriver vsLanguage vsEncoding vsGrammarMediaType

Avaya_VP_4_0_VXML_2_1_ASR_Loquendo en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) [ ID = 120, Channel = Voice ]

Avaya Voice Portal 4.0-5.1 (Nuance OSR) vsDriver vsLanguage vsEncoding vsGrammarMediaType

Avaya_VP_4_0_VXML_2_1_ASR_SpeechWorks en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) [ ID = 121, Channel = Voice ]

Avaya Voice Portal 4.0-5.1 (Nuance) vsDriver vsLanguage vsEncoding vsGrammarMediaType

Avaya_VP_4_0_VXML_2_1_ASR_Nuance en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin)

Copyright 2001-2011 Voxeo Germany GmbH

164

A Media Platform Drivers


VoiceObjects 11

Property

Value [ ID = 146, Channel = Voice ]

Avaya Voice Portal 4.0-5.1 (Telisma) vsDriver vsLanguage vsEncoding vsGrammarMediaType Avaya MPS (IBM) vsDriver vsLanguage vsEncoding vsGrammarMediaType Avaya MPS (Nuance) vsDriver vsLanguage vsEncoding vsGrammarMediaType Avaya MPS (Nuance OSR) vsDriver vsLanguage vsEncoding vsGrammarMediaType Cellicium Cellcube 3.6 vsDriver vsLanguage vsEncoding vsGrammarMediaType

Avaya_VP_4_0_VXML_2_1_ASR_Telisma en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin)

[ ID = 179, Channel = Voice ] Avaya_MPS_VXML_2_0_VXML_2_1_ASR_IBM en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) [ ID = 180, Channel = Voice ] Avaya_MPS_VXML_2_0_VXML_2_1_ASR_SpeechWorks en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) [ ID = 181, Channel = Voice ] Avaya_VP_4_0_VXML_2_1_ASR_Telisma en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) [ ID = 101, Channel = Text ] Cellicium_Cellcube_3_6 en-US UTF-8 none [ ID = 29, Channel = Voice ]

Cisco IOS VoiceXML 2.0 Browser (Nuance OSR) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Cisco_IOS_VXML_2_0_ASR_SpeechWorks en-US UTF-8 srgs_xml (Possible: srgs_xml, regex, builtin) Utterance recording not supported [ ID = 28, Channel = Voice ]

Cisco IOS VoiceXML 2.0 Browser (Nuance) vsDriver vsLanguage

Cisco_IOS_VXML_2_0_ASR_Nuance en-US

Copyright 2001-2011 Voxeo Germany GmbH

165

A Media Platform Drivers


VoiceObjects 11

Property vsEncoding vsGrammarMediaType Comments

Value UTF-8 srgs_xml (Possible: srgs_xml, regex, builtin) Utterance recording not supported [ ID = 122, Channel = Voice ]

Cisco IOS VoiceXML 2.0 Browser (Loquendo) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Cisco_IOS_VXML_2_0_ASR_Loquendo en-US UTF-8 srgs_xml (Possible: srgs_xml, regex, builtin) Utterance recording not supported [ ID = 123, Channel = Voice ]

Cisco IOS VoiceXML 2.1 Browser (Loquendo) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Cisco_IOS_VXML_2_1_ASR_Loquendo en-US UTF-8 srgs_xml (Possible: srgs_xml, regex, builtin) Utterance recording not supported [ ID = 124, Channel = Voice ]

Cisco IOS VoiceXML 2.1 Browser (Nuance) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Cisco_IOS_VXML_2_1_ASR_Nuance en-US UTF-8 srgs_xml (Possible: srgs_xml, regex, builtin) Utterance recording not supported [ ID = 125, Channel = Voice ]

Cisco IOS VoiceXML 2.1 Browser (Nuance OSR) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments Commetrex Bladeware VXi vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Cisco_IOS_VXML_2_1_ASR_SpeechWorks en-US UTF-8 srgs_xml (Possible: srgs_xml, regex, builtin) Utterance recording not supported

[ ID = 178, Channel = Voice ] Commetrex_BladeWareVXi_VXML_2_0 en-US ISO-8859-1 None (Possible: builtin) Utterance recording not supported

Copyright 2001-2011 Voxeo Germany GmbH

166

A Media Platform Drivers


VoiceObjects 11

Property

Value [ ID = 25, Channel = Voice ]

Comverse Media Server 3.0.3/3.1 (Nuance) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Comverse_MS_3_0_VXML_2_1_ASR_Nuance en-US UTF-8 srgs_xml (Possible: srgs_xml, jsgf, abnf, builtin) Utterance recording not supported [ ID = 7, Channel = Voice ]

Comverse Media Server 3.0.3/3.1 (Nuance OSR) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Comverse_MS_3_0_VXML_2_1_ASR_SpeechWorks en-US UTF-8 srgs_xml (Possible: srgs_xml, jsgf, abnf, builtin) Utterance recording not supported [ ID = 177, Channel = Text ]

Comverse USSD Center 4.3 Browser Interface vsDriver vsLanguage vsEncoding vsGrammarMediaType

Comverse_USSD_Browser en-US ISO-8859-1 none [ ID = 49, Channel = Voice ]

CreaLog CreaVoice VoiceXML Gateway vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

CreaLog_CreaVoice_VG_VXML_2_0 de-DE ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Utterance recording not supported [ ID = 54, Channel = Voice ]

Edify EVIP 9.0-10.0 (Nuance OSR) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments Edify EVIP 9.0-10.0 (Nuance) vsDriver vsLanguage vsEncoding

Edify_EVIP_9_0_VXML_2_0_ASR_SpeechWorks en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Utterance recording not supported [ ID = 53, Channel = Voice ] Edify_EVIP_9_0_VXML_2_0_ASR_Nuance en-US ISO-8859-1

Copyright 2001-2011 Voxeo Germany GmbH

167

A Media Platform Drivers


VoiceObjects 11

Property vsGrammarMediaType Comments Envox 7.1 (Nuance) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Value gsl (Possible: gsl, srgs_xml, builtin) Utterance recording not supported

[ ID = 140, Channel = Voice ] Envox_7_1_VXML_2_1_ASR_Nuance en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Support for the Recording object depends on the underlying telephony hard- or software. It might be required to set an explicit recording media type in the driver definition to be able to use the Recording object properly.

Envox 7.0/7.1 (Telisma) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

[ ID = 131, Channel = Voice ] Envox_7_0_VXML_2_1_ASR_Telisma en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Support for the Recording object depends on the underlying telephony hard- or software. It might be required to set an explicit recording media type in the driver definition to be able to use the Recording object properly. [ ID = 18, Channel = Voice ]

Genesys VWAP 6.5.2/3 (Nuance OSR) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Genesys_VWAP_5_2_VXML_2_0_ASR_SpeechWorks en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Utterance recording not supported [ ID = 14, Channel = Voice ]

Genesys VWAP 6.5.2/3 (Nuance) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Genesys_VWAP_5_2_VXML_2_0_ASR_Nuance en-US ISO-8859-1 gsl (Possible: gsl, builtin) Utterance recording not supported [ ID = 85, Channel = Voice ]

Genesys Voice Platform 6.5-7.2 (IBM) vsDriver vsLanguage

Genesys_GVP_6_5_VXML_2_0_ASR_IBM en-US

Copyright 2001-2011 Voxeo Germany GmbH

168

A Media Platform Drivers


VoiceObjects 11

Property vsEncoding vsGrammarMediaType Comments

Value ISO-8859-1 srgs_xml (Possible: srgs_xml, abnf, precompiled, builtin) Slot names used in external grammars, but also internally for TTG, might need to be all lower-case. If you want to have the session variable SPSID available in the dialog context as well as in Infostore, you need to include the CGI string SPSID=$sessionid$ in the media platforms initial request. Utterance recording not supported [ ID = 33, Channel = Voice ]

Genesys Voice Platform 6.5-7.2 (Nuance OSR) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Genesys_GVP_6_5_VXML_2_0_ASR_SpeechWorks en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Slot names used in external grammars, but also internally for TTG, might need to be all lower-case. If you want to have the session variable SPSID available in the dialog context as well as in Infostore, you need to include the CGI string SPSID=$sessionid$ in the media platforms initial request. Utterance recording not supported [ ID = 32, Channel = Voice ]

Genesys Voice Platform 6.5-7.2 (Nuance) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Genesys_GVP_6_5_VXML_2_0_ASR_Nuance en-US ISO-8859-1 gsl (Possible: gsl, builtin) Slot names used in external grammars, but also internally for TTG, might need to be all lower-case. If you want to have the session variable SPSID available in the dialog context as well as in Infostore, you need to include the CGI string SPSID=$sessionid$ in the media platforms initial request. Utterance recording not supported [ ID = 52, Channel = Voice ]

Genesys Voice Platform 6.5-7.2 (Telisma) vsDriver vsLanguage vsEncoding vsGrammarMediaType

Genesys_GVP_6_5_VXML_2_0_ASR_Telisma en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin)

Copyright 2001-2011 Voxeo Germany GmbH

169

A Media Platform Drivers


VoiceObjects 11

Property Comments

Value Slot names used in external grammars, but also internally for TTG, might need to be all lower-case. If you want to have the session variable SPSID available in the dialog context as well as in Infostore, you need to include the CGI string SPSID=$sessionid$ in the media platforms initial request. Utterance recording not supported [ ID = 109, Channel = Voice ]

Genesys Voice Platform 7.5/7.6 (IBM) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Genesys_GVP_7_5_VXML_2_1_ASR_IBM en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, abnf, precompiled, builtin) Slot names used in external grammars, but also internally for TTG, might need to be all lower-case. If you want to have the session variable SPSID available in the dialog context as well as in Infostore, you need to include the CGI string SPSID=$sessionid$ in the media platforms initial request. [ ID = 111, Channel = Voice ]

Genesys Voice Platform 7.5/7.6 (Nuance OSR) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Genesys_GVP_7_5_VXML_2_1_ASR_SpeechWorks en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Slot names used in external grammars, but also internally for TTG, might need to be all lower-case. If you want to have the session variable SPSID available in the dialog context as well as in Infostore, you need to include the CGI string SPSID=$sessionid$ in the media platforms initial request. [ ID = 110, Channel = Voice ]

Genesys Voice Platform 7.5/7.6 (Nuance) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Genesys_GVP_7_5_VXML_2_1_ASR_Nuance en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Slot names used in external grammars, but also internally for TTG, might need to be all lower-case. If you want to have the session variable SPSID available in the dialog context as well as in Infostore, you need to include the CGI string SPSID=$sessionid$ in the media

Copyright 2001-2011 Voxeo Germany GmbH

170

A Media Platform Drivers


VoiceObjects 11

Property

Value platforms initial request.

Genesys Voice Platform 7.5/7.6 (Telisma) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

[ ID = 112, Channel = Voice ]

Genesys_GVP_7_5_VXML_2_1_ASR_Telisma en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Slot names used in external grammars, but also internally for TTG, might need to be all lower-case. If you want to have the session variable SPSID available in the dialog context as well as in Infostore, you need to include the CGI string SPSID=$sessionid$ in the media platforms initial request. [ ID = 162, Channel = Voice ]

Genesys Voice Platform 8.0 (Nuance) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Genesys_GVP_8_0_VXML_2_1_ASR_Nuance en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Slot names used in external grammars, but also internally for TTG, might need to be all lower-case. If you want to have the session variable SPSID available in the dialog context as well as in Infostore, you need to include the CGI string SPSID=$sessionid$ in the media platforms initial request. [ ID = 163, Channel = Voice ]

Genesys Voice Platform 8.0 (Nuance OSR) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Genesys_GVP_8_0_VXML_2_1_ASR_SpeechWorks en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Slot names used in external grammars, but also internally for TTG, might need to be all lower-case. If you want to have the session variable SPSID available in the dialog context as well as in Infostore, you need to include the CGI string SPSID=$sessionid$ in the media platforms initial request. [ ID = 171, Channel = Voice ]

Genesys Voice Platform 8.1 (IBM) vsDriver vsLanguage vsEncoding

Genesys_GVP_8_1_VXML_2_1_ASR_IBM en-US ISO-8859-1

Copyright 2001-2011 Voxeo Germany GmbH

171

A Media Platform Drivers


VoiceObjects 11

Property vsGrammarMediaType Comments

Value srgs_xml (Possible: srgs_xml, builtin) Slot names used in external grammars, but also internally for TTG, might need to be all lower-case. If you want to have the session variable SPSID available in the dialog context as well as in Infostore, you need to include the CGI string SPSID=$sessionid$ in the media platforms initial request. [ ID = 172, Channel = Voice ]

Genesys Voice Platform 8.1 (Telisma) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Genesys_GVP_8_1_VXML_2_1_ASR_Telisma en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Slot names used in external grammars, but also internally for TTG, might need to be all lower-case. If you want to have the session variable SPSID available in the dialog context as well as in Infostore, you need to include the CGI string SPSID=$sessionid$ in the media platforms initial request. [ ID = 174, Channel = Web ]

GrandCentrix Smartphone Service Terminal vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments OpenCall Media Platform 2.4 (Nuance OSR) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

GrandCentrix_SST en-US ISO-8859-1 ---

[ ID = 44, Channel = Voice ]

HP_OCMP_2_4_VXML_2_0_ASR_SpeechWorks en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Utterance recording not supported [ ID = 44, Channel = Voice ]

HP OpenCall Media Platform 2.4 (Nuance OSR) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

HP_OCMP_2_4_VXML_2_0_ASR_SpeechWorks en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Utterance recording not supported

Copyright 2001-2011 Voxeo Germany GmbH

172

A Media Platform Drivers


VoiceObjects 11

Property

Value [ ID = 42, Channel = Voice ]

HP OpenCall Media Platform 2.4 (Nuance) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

HP_OCMP_2_4_VXML_2_0_ASR_Nuance en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, gsl, builtin) Utterance recording not supported [ ID = 43, Channel = Voice ]

HP OpenCall Media Platform 2.4 (SpeechPearl) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

HP_OCMP_2_4_VXML_2_0_ASR_SpeechPearl en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Utterance recording not supported [ ID = 63, Channel = Voice ]

HP OpenCall Media Platform 3.0 (Nuance OSR) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

HP_OCMP_3_0_VXML_2_0_ASR_SpeechWorks en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Utterance recording not supported [ ID = 62, Channel = Voice ]

HP OpenCall Media Platform 3.0 (Nuance) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

HP_OCMP_3_0_VXML_2_0_ASR_Nuance en-US ISO-8859-1 srgs_xml (Possible: gsl, srgs_xml, builtin) Utterance recording not supported [ ID = 77, Channel = Voice ]

HP OpenCall Media Platform 3.14.3 (Nuance OSR) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

HP_OCMP_3_1_VXML_2_0_ASR_SpeechWorks en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Utterance recording not supported [ ID = 76, Channel = Voice ]

HP OpenCall Media Platform 3.14.3 (Nuance) vsDriver vsLanguage

HP_OCMP_3_1_VXML_2_0_ASR_Nuance en-US

Copyright 2001-2011 Voxeo Germany GmbH

173

A Media Platform Drivers


VoiceObjects 11

Property vsEncoding vsGrammarMediaType Comments

Value ISO-8859-1 srgs_xml (Possible: gsl, srgs_xml, builtin) Utterance recording not supported [ ID = 99, Channel = Video ]

HP OpenCall Media Platform 1.0 (Video) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

HP_OCMPV_1_0_VXML_2_0_Video en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Utterance recording not supported [ ID = 26, Channel = Voice ]

HP OpenCall speechWeb 2.3 (Nuance OSR) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

HP_OCSW_2_3_VXML_2_0_ASR_SpeechWorks en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Utterance recording not supported [ ID = 22, Channel = Voice ]

HP OpenCall speechWeb 2.3 (Nuance) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

HP_OCSW_2_3_VXML_2_0_ASR_Nuance en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Utterance recording not supported [ ID = 19, Channel = Voice ]

HP OpenCall speechWeb 2.3 (SpeechPearl) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

HP_OCSW_2_3_VXML_2_0_ASR_SpeechPearl en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Utterance recording not supported [ ID = 46, Channel = Voice ]

Holly Voice Gateway 4.0 (Nuance) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Holly_HVG_4_0_VXML_2_0_ASR_Nuance en-AU-NZ ISO-8859-1 srgs_xml (Possible: srgs_xml, gsl, builtin) Utterance recording not supported

Copyright 2001-2011 Voxeo Germany GmbH

174

A Media Platform Drivers


VoiceObjects 11

Property

Value [ ID = 47, Channel = Voice ]

Holly Voice Gateway 4.0 (Nuance OSR) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Holly_HVG_4_0_VXML_2_0_ASR_SpeechWorks en-AU-NZ ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Utterance recording not supported [ ID = 149, Channel = Voice ]

Holly Voice Platform 4.1/4.2 (IBM) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Holly_HVP_4_1_VXML_2_0_ASR_IBM en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Utterance recording not supported [ ID = 148, Channel = Voice ]

Holly Voice Platform 4.1/4.2 (LumenVox) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Holly_HVP_4_1_VXML_2_0_ASR_LumenVox en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Utterance recording not supported [ ID = 67, Channel = Voice ]

Holly Voice Platform 4.1/4.2 (Nuance) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Holly_HVP_4_1_VXML_2_0_ASR_Nuance en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, gsl, builtin) Utterance recording not supported [ ID = 68, Channel = Voice ]

Holly Voice Platform 4.1/4.2 (Nuance OSR) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Holly_HVP_4_1_VXML_2_0_ASR_SpeechWorks en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Utterance recording not supported [ ID = 150, Channel = Voice ]

Holly Voice Platform 4.1/4.2 (Siemens) vsDriver vsLanguage

Holly_HVP_4_1_VXML_2_0_ASR_Siemens en-US

Copyright 2001-2011 Voxeo Germany GmbH

175

A Media Platform Drivers


VoiceObjects 11

Property vsEncoding vsGrammarMediaType Comments

Value ISO-8859-1 srgs_xml Utterance recording not supported [ ID = 151, Channel = Voice ]

Holly Voice Platform 4.1/4.2 (Telisma) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Holly_HVP_4_1_VXML_2_0_ASR_Telisma en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Utterance recording not supported [ ID = 155, Channel = Voice ]

Holly Voice Platform 5.0/5.1 (IBM) vsDriver vsLanguage vsEncoding vsGrammarMediaType

Holly_HVP_5_0_VXML_2_1_ASR_IBM en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) [ ID = 154, Channel = Voice ]

Holly Voice Platform 5.0/5.1 (LumenVox) vsDriver vsLanguage vsEncoding vsGrammarMediaType

Holly_HVP_5_0_VXML_2_1_ASR_LumenVox en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) [ ID = 152, Channel = Voice ]

Holly Voice Platform 5.0/5.1 (Nuance 9) vsDriver vsLanguage vsEncoding vsGrammarMediaType

Holly_HVP_5_0_VXML_2_1_ASR_Nuance en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) [ ID = 175, Channel = Voice ]

Holly Voice Platform 5.0/5.1 (Nuance 8.5) vsDriver vsLanguage vsEncoding vsGrammarMediaType

Holly_HVP_5_0_VXML_2_1_ASR_Nuance_8_5 en-US ISO-8859-1 gsl (Possible: gsl, srgs_xml, builtin) [ ID = 176, Channel = Voice ]

Holly Voice Platform 5.0/5.1 (Nuance 8) vsDriver vsLanguage vsEncoding vsGrammarMediaType

Holly_HVP_5_0_VXML_2_1_ASR_Nuance_8 en-US ISO-8859-1 gsl (Possible: gsl, srgs_xml, builtin)

Copyright 2001-2011 Voxeo Germany GmbH

176

A Media Platform Drivers


VoiceObjects 11

Property

Value [ ID = 153, Channel = Voice ]

Holly Voice Platform 5.0/5.1 (Nuance OSR) vsDriver vsLanguage vsEncoding vsGrammarMediaType

Holly_HVP_5_0_VXML_2_1_ASR_SpeechWorks en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) [ ID = 156, Channel = Voice ]

Holly Voice Platform 5.0/5.1 (Siemens) vsDriver vsLanguage vsEncoding vsGrammarMediaType

Holly_HVP_5_0_VXML_2_1_ASR_Siemens en-US ISO-8859-1 srgs_xml [ ID = 157, Channel = Voice ]

Holly Voice Platform 5.0/5.1 (Telisma) vsDriver vsLanguage vsEncoding vsGrammarMediaType I6NET VXIasterisk 1.5 vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Holly_HVP_5_0_VXML_2_1_ASR_Telisma en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) [ ID = 113, Channel = Voice ] I6NET_VXIasterisk_1_5_VXML_2_0 en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Input Mode DTMF only (no ASR) Utterance recording not supported

I6NET VXIasterisk 1.5 (Video) [ ID = 114, Channel = Video ] vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments I6NET_VXIasterisk_1_5_VXML_2_0_Video en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) IBM WVR 3.1/4.2 VXML 1.0 vsDriver vsLanguage vsEncoding vsGrammarMediaType Input Mode DTMF only (no ASR) Utterance recording not supported

[ ID = 4, Channel = Voice ] IBM_WVR_3_1_VXML_1_0 en-US ISO-8859-1 jsgf (Possible: jsgf, builtin)

Copyright 2001-2011 Voxeo Germany GmbH

177

A Media Platform Drivers


VoiceObjects 11

Property Comments IBM WVR 3.1/4.2 VXML 2.0 vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Value Utterance recording not supported

[ ID = 24, Channel = Voice ] IBM_WVR_3_1_VXML_2_0 en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, abnf, precompiled, builtin) Utterance recording not supported [ ID = 78, Channel = Voice ]

IBM WVR 3.1/4.2 VXML 2.0 (Nuance) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments IBM WVR 4.2 VXML 2.1 vsDriver vsLanguage vsEncoding vsGrammarMediaType

IBM_WVR_3_1_VXML_2_0_ASR_Nuance en-US ISO-8859-1 gsl (Possible: gsl, srgs_xml, precompiled, builtin) Utterance recording not supported

[ ID = 61, Channel = Voice ] IBM_WVR_4_2_VXML_2_1 en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, abnf, precompiled, builtin) [ ID = 79, Channel = Voice ]

IBM WVR 4.2 VXML 2.1 (Nuance) vsDriver vsLanguage vsEncoding vsGrammarMediaType IBM WVS 2.0/3.1 vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

IBM_WVR_4_2_VXML_2_1_ASR_Nuance en-US ISO-8859-1 gsl (Possible: gsl, srgs_xml, precompiled, builtin)

[ ID = 3, Channel = Voice ] IBM_WVS_2_0_VXML_1_0 en-US ISO-8859-1 jsgf (Possible: jsgf, builtin) Utterance recording not supported

IP Unity Media Server 2.7 (Nuance OSR) [ ID = 6, Channel = Voice ] vsDriver vsLanguage vsEncoding IPUnity_MS_2_7_VXML_2_0_ASR_NuanceOSR en-US UTF-8

Copyright 2001-2011 Voxeo Germany GmbH

178

A Media Platform Drivers


VoiceObjects 11

Property vsGrammarMediaType Comments

Value srgs_xml (Possible: srgs_xml, builtin) Utterance recording not supported [ ID = 66, Channel = Voice ]

Intervoice MTC VXML Browser 2.2-3.0 (Nuance OSR) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Intervoice_MTC_2_2_VXML_2_0_ASR_SpeechWorks en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Utterance recording not supported [ ID = 65, Channel = Voice ]

Intervoice MTC VXML Browser 2.2-3.0 (Nuance) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Intervoice_MTC_2_2_VXML_2_0_ASR_Nuance en-US ISO-8859-1 gsl (Possible: gsl, srgs_xml, builtin) Utterance recording not supported [ ID = 108, Channel = Voice ]

Intervoice MTC VXML Browser 3.0.1 (Nuance OSR) vsDriver vsLanguage vsEncoding vsGrammarMediaType

Intervoice_MTC_3_0_VXML_2_1_ASR_SpeechWorks en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) [ ID = 107, Channel = Voice ]

Intervoice MTC VXML Browser 3.0.1 (Nuance) vsDriver vsLanguage vsEncoding vsGrammarMediaType

Intervoice_MTC_3_0_VXML_2_1_ASR_Nuance en-US ISO-8859-1 gsl (Possible: gsl, srgs_xml, builtin) [ ID = 17, Channel = Voice ]

Intervoice OMG 2.02 (Nuance OSR) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Intervoice_OMG_2_0_VXML_2_0_ASR_SpeechWorks en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Utterance recording not supported [ ID = 12, Channel = Voice ]

Intervoice OMG 2.02 (Nuance) vsDriver

Intervoice_OMG_2_0_VXML_2_0_ASR_Nuance

Copyright 2001-2011 Voxeo Germany GmbH

179

A Media Platform Drivers


VoiceObjects 11

Property vsLanguage vsEncoding vsGrammarMediaType Comments

Value en-US ISO-8859-1 gsl (Possible: gsl, builtin) Utterance recording not supported [ ID = 141, Channel = Voice ]

Intervoice Voice Portal 5.0 (IBM) vsDriver vsLanguage vsEncoding vsGrammarMediaType

Intervoice_VP_5_0_VXML_2_1_ASR_IBM en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) [ ID = 142, Channel = Voice ]

Intervoice Voice Portal 5.0 (Nuance) vsDriver vsLanguage vsEncoding vsGrammarMediaType jQuery Mobile Web vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Intervoice_VP_5_0_VXML_2_1_ASR_Nuance en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin)

[ ID = 182, Channel = Web ] jQueryMobile_Web en-US ISO-8859-1 none Find details on using the jQuery Mobile Web driver in Appendix E Defining Custom Rendering Templates in the Administration Guide. [ ID = 23, Channel = Voice ] Loquendo_VoxNauta_6_0_VXML_2_0 en-US ISO-8859-1 jsgf (Possible: jsgf, srgs_xml, builtin) Utterance recording not supported

Loquendo VoxNauta 6.0 vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments Loquendo VoxNauta 7.0 vsDriver vsLanguage vsEncoding vsGrammarMediaType

[ ID = 71, Channel = Voice ] Loquendo_VoxNauta_7_0_VXML_2_1 en-US ISO-8859-1 srgs_xml (Possible: jsgf, srgs_xml, abnf, builtin)

Copyright 2001-2011 Voxeo Germany GmbH

180

A Media Platform Drivers


VoiceObjects 11

Property

Value

Materna AnnyWay SS7 Data Gateway 2.0.1 [ ID = 126, Channel = Text ] vsDriver vsLanguage vsEncoding vsGrammarMediaType Materna_AnnyWay_SS7_Data_Gateway_2_0_1 de-DE UTF-8 none [ ID = 100, Channel = Voice ]

Microsoft Speech Server 2007 vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Microsoft_SS_2007_VXML_2_0 en-US UTF-8 srgs_xml (Possible: srgs_xml, builtin) Builtin grammars are not supported Utterance recording not supported

Mobile Web XHTML 1.0 vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

[ ID = 103, Channel = Web ] MobileWeb_XHTML_1_0 en-US UTF-8 none Utterance recording not supported

NMS Vision VoiceXML Server 2.1 (Nuance OSR) [ ID = 87, Channel = Voice ] vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments NMS_VVS_2_1_VXML_2_0_ASR_SpeechWorks en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, precompiled, builtin) Utterance recording not supported

NMS Vision VoiceXML Server 2.1 (Nuance) [ ID = 86, Channel = Voice ] vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments NMS_VVS_2_1_VXML_2_0_ASR_Nuance en-US ISO-8859-1 gsl (Possible: gsl, srgs_xml, builtin) Slot assignments not supported for non-TTG DTMF grammars (inline or external). Utterance recording not supported

NMS Vision VoiceXML Server 2.1 (Video) [ ID = 88, Channel = Video ] vsDriver NMS_VVS_2_1_VXML_2_0_Video

Copyright 2001-2011 Voxeo Germany GmbH

181

A Media Platform Drivers


VoiceObjects 11

Property vsLanguage vsEncoding vsGrammarMediaType Comments

Value en-US ISO-8859-1 dtmf (Possible: dtmf, builtin) Slot assignments not supported for non-TTG DTMF grammars (inline or external). Utterance recording not supported

Netcentrex MCS 6 (Nuance OSR) [ ID = 83, Channel = Voice ] vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments Netcentrex_MCS_6_VXML_2_0_ASR_SpeechWorks en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Recordings made using the Recording object will be stored on the media platform instead of VoiceObjects Server. Make sure to use correct resource locator definitions in Recording objects. Utterance recording not supported

Netcentrex MCS 6 (Telisma) [ ID = 84, Channel = Voice ] vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments Netcentrex_MCS_6_VXML_2_0_ASR_Telisma en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Recordings made using the Recording object will be stored on the media platform instead of VoiceObjects Server. Make sure to use correct resource locator definitions in Recording objects. Utterance recording not supported

Nortel Hosted IVR vsDriver vsLanguage vsEncoding vsGrammarMediaType

[ ID = 170, Channel = Voice ] Nortel_VXML_2_0_ICP_VXML_2_1_ASR_IBM en-US ISO-8859-1 gsl (Possible: gsl, srgs_xml, builtin) [ ID = 166, Channel = Voice ]

Nortel ICP VoiceXML 2.1 (IBM) vsDriver vsLanguage vsEncoding vsGrammarMediaType

Nortel_HostedIVR _VXML_2_1 en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) [ ID = 165, Channel = Voice ]

Nortel ICP VoiceXML 2.1 (Nuance) vsDriver

Nortel_VXML_2_0_ICP_VXML_2_1_ASR_Nuance

Copyright 2001-2011 Voxeo Germany GmbH

182

A Media Platform Drivers


VoiceObjects 11

Property vsLanguage vsEncoding vsGrammarMediaType

Value en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) [ ID = 20, Channel = Voice ]

Nortel MPS VoiceXML 2.0 (Nuance OSR) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Nortel_VXML_2_0_VXML_2_0_ASR_SpeechWorks en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) LASTRESULT(markname) and LASTRESULT(marktime) are not supported and always return the empty string. Utterance recording not supported [ ID = 9, Channel = Voice ]

Nortel MPS VoiceXML 2.0 (Nuance) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Nortel_VXML_2_0_VXML_2_0_ASR_Nuance en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) LASTRESULT(markname) and LASTRESULT(marktime) are not supported and always return the empty string. Utterance recording not supported [ ID = 158, Channel = Voice ]

Nortel MPS VoiceXML 2.1 (IBM) vsDriver vsLanguage vsEncoding vsGrammarMediaType

Nortel_VXML_2_0_VXML_2_1_ASR_IBM en-US UTF-8 srgs_xml (Possible: srgs_xml, builtin) [ ID = 159, Channel = Voice ]

Nortel MPS VoiceXML 2.1 (Nuance) vsDriver vsLanguage vsEncoding vsGrammarMediaType

Nortel_VXML_2_0_VXML_2_1_ASR_Nuance en-US UTF-8 srgs_xml (Possible: srgs_xml, builtin) [ ID = 160, Channel = Voice ]

Nortel MPS VoiceXML 2.1 (Nuance OSR) vsDriver vsLanguage vsEncoding vsGrammarMediaType

Nortel_VXML_2_0_VXML_2_1_ASR_SpeechWorks en-US UTF-8 srgs_xml (Possible: srgs_xml, builtin)

Copyright 2001-2011 Voxeo Germany GmbH

183

A Media Platform Drivers


VoiceObjects 11

Property Nuance Cafe (Nuance) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Value [ ID = 5, Channel = Voice ] BeVocal_Cafe_VXML_2_0 en-US ISO-8859-1 gsl (Possible: gsl, srgs_xml, abnf, builtin) Utterance recording not supported [ ID = 50, Channel = Voice ]

Nuance Voice Platform 2.0/3.0 vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Nuance_NVP_3_0_VXML_2_0 de-DE ISO-8859-1 gsl (Possible: gsl, srgs_xml, precompiled, builtin) Utterance recording not supported [ ID = 2, Channel = Voice ]

Nuance Voice Web Server 2.0 vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments OpenVXI 3.0 vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Nuance_VWS_2_0_VXML_2_0 de-DE ISO-8859-1 gsl (Possible: gsl, srgs_xml, builtin) Utterance recording not supported

[ ID = 27, Channel = Voice ] Vocalocity_OpenVXI_3_0_VXML_2_0 en-US ISO-8859-1 None (Possible: builtin) Utterance recording not supported [ ID = 64, Channel = Voice ]

OptimSys OptimTalk VoiceXML Platform vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments Plum Voice Hosting vsDriver vsLanguage

OptimSys_OptimTalk_VXML_2_0 en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Utterance recording not supported

[ ID = 45, Channel = Voice ] Plum_VH_VXML_2_0 en-US

Copyright 2001-2011 Voxeo Germany GmbH

184

A Media Platform Drivers


VoiceObjects 11

Property vsEncoding vsGrammarMediaType

Value ISO-8859-1 jsgf (Possible: jsgf, srgs_xml, regex, builtin) [ ID = 147, Channel = Voice ]

Prosodie Voice Portal (Nuance) vsDriver vsLanguage vsEncoding vsGrammarMediaType Rich Web Client XHTML 1.0 vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Prosodie_Voice_Portal_VXML_2_1_ASR_Nuance en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) [ ID = 135, Channel = Web ] RichWeb_XHTML_1_0 en-US UTF-8 none Utterance recording not supported [ ID = 127, Channel = Voice ]

SandCherry Voice Portal 3.2 (Nuance) vsDriver vsLanguage vsEncoding vsGrammarMediaType

SandCherry_SVP_3_2_VXML_2_0_ASR_Nuance en-US ISO-8859-1 gsl (Possible: gsl, srgs_xml, precompiled, builtin) [ ID = 128, Channel = Voice ]

SandCherry Voice Portal 3.2/3.3 (Nuance OSR) vsDriver vsLanguage vsEncoding vsGrammarMediaType

SandCherry_SVP_3_2_VXML_2_0_ASR_SpeechWorks en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) [ ID = 137, Channel = Voice ]

SandCherry Voice Portal 3.3 (LumenVox) vsDriver vsLanguage vsEncoding vsGrammarMediaType

SandCherry_SVP_3_3_VXML_2_1_ASR_LumenVox en-US ISO-8859-1 gsl (Possible: gsl, srgs_xml, precompiled, builtin) [ ID = 138, Channel = Voice ]

SandCherry Voice Portal 3.3 (Nuance) vsDriver vsLanguage vsEncoding vsGrammarMediaType

SandCherry_SVP_3_3_VXML_2_1_ASR_Nuance en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin)

Copyright 2001-2011 Voxeo Germany GmbH

185

A Media Platform Drivers


VoiceObjects 11

Property

Value [ ID = 102, Channel = Text ]

Sicap USSD Menu Browser 3.2-4.2 vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Sicap_UMB_3_2 en-US UTF-8 none Utterance recording not supported [ ID = 161, Channel = Voice ]

Tecnomen Telco Server 2.1 (Nuance OSR) vsDriver vsLanguage vsEncoding vsGrammarMediaType Telenet MultiVoice (Nuance) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments Tellme Studio vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments Unisys OSP 4.8 vsDriver vsLanguage vsEncoding vsGrammarMediaType Verascape VeraServ 2.2 vsDriver vsLanguage vsEncoding vsGrammarMediaType

Tecnomen_TSS_2_1_VXML_2_1_ASR_SpeechWorks en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) [ ID = 21, Channel = Voice ] Telenet_MultiVoice_VXML_2_0_ASR_Nuance de-DE ISO-8859-1 gsl (Possible: gsl, srgs_xml, builtin) Utterance recording not supported

[ ID = 1, Channel = Voice ] Tellme_Studio_VXML_2_0 en-US ISO-8859-1 gsl (Possible: gsl, builtin) Input mode specific nomatch handler not supported

[ ID = 115, Channel = Voice ] Unisys_OSP_4_8_VXML_2_0_ASR_Nuance en-US ISO-8859-1 gsl (Possible: gsl, srgs_xml, builtin) [ ID = 30, Channel = Voice ] Verascape_VeraServ_2_2_VXML_2_0 en-US UTF-8 gsl (Possible: gsl, srgs_xml, builtin)

Copyright 2001-2011 Voxeo Germany GmbH

186

A Media Platform Drivers


VoiceObjects 11

Property Comments

Value Utterance recording not supported [ ID = 129, Channel = Voice ]

Verizon Business Hosted IVR (Nuance OSR) vsDriver vsLanguage vsEncoding vsGrammarMediaType Visibridge VXML Gateway vsDriver vsLanguage vsEncoding vsGrammarMediaType

VerizonBusiness_HostedIVR_VXML_2_1_ASR_SpeechWorks en-US UTF-8 srgs_xml (Possible: srgs_xml, builtin) [ ID = 36, Channel = Voice ] Visibridge_VG_1_23_VXML_2_0 en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) [ ID = 41, Channel = Voice ]

Vocalocity Voice Browser 2.2 (Nuance OSR) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Vocalocity_VB_2_2_VXML_2_0_ASR_SpeechWorks en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Utterance recording not supported [ ID = 40, Channel = Voice ]

Vocalocity Voice Browser 2.2 (Nuance) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments VoiceGenie 7 (IBM) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Vocalocity_VB_2_2_VXML_2_0_ASR_Nuance en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Utterance recording not supported

[ ID = 81, Channel = Voice ] VoiceGenie_7_VXML_2_1_ASR_IBM en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, abnf, precompiled, builtin) If com.voicegenie.strictconformance is true (the default for <vxml version=2.1>), slot values containing # characters will be cut down to all characters until the first occurrence of #. A slot value of only # will be removed completely. Find more information at http://developer.voicegenie.com/reference.php?ref=propertie sstrictconformance#Version.

Copyright 2001-2011 Voxeo Germany GmbH

187

A Media Platform Drivers


VoiceObjects 11

Property VoiceGenie 7 (Nuance OSR) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Value [ ID = 56, Channel = Voice ] VoiceGenie_7_VXML_2_1_ASR_SpeechWorks en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, precompiled, builtin) If com.voicegenie.strictconformance is true (the default for <vxml version=2.1>), slot values containing # characters will be cut down to all characters until the first occurrence of #. A slot value of only # will be removed completely. Find more information at http://developer.voicegenie.com/reference.php?ref=propertie sstrictconformance#Version.

VoiceGenie 7 (Nuance) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

[ ID = 55, Channel = Voice ] VoiceGenie_7_VXML_2_1_ASR_Nuance en-US ISO-8859-1 gsl (Possible: abnf, gsl, srgs_xml, builtin) If com.voicegenie.strictconformance is true (the default for <vxml version=2.1>), slot values containing # characters will be cut down to all characters until the first occurrence of #. A slot value of only # will be removed completely. Find more information at http://developer.voicegenie.com/reference.php?ref=propertie sstrictconformance#Version.

VoiceGenie 7 (Telisma) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

[ ID = 82, Channel = Voice ] VoiceGenie_7_VXML_2_1_ASR_Telisma en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) If com.voicegenie.strictconformance is true (the default for <vxml version=2.1>), slot values containing # characters will be cut down to all characters until the first occurrence of #. A slot value of only # will be removed completely. Find more information at http://developer.voicegenie.com/reference.php?ref=propertie sstrictconformance#Version.

VoiceGenie 7.1/7.2 (IBM) vsDriver vsLanguage

[ ID = 97, Channel = Voice ] VoiceGenie_7_1_VXML_2_1_ASR_IBM en-US

Copyright 2001-2011 Voxeo Germany GmbH

188

A Media Platform Drivers


VoiceObjects 11

Property vsEncoding vsGrammarMediaType Comments

Value ISO-8859-1 srgs_xml (Possible: srgs_xml, abnf, precompiled, builtin)

Configured for VoiceGenie 7.2 NGI (Next Generation Interpreter). In order to deactivate NGI locate the elements key voName="SPSID" and <key voName="GCID"> and adjust them as follows:
<key voName="SPSID"> session.com.voicegenie.telephone.primarychan </key> <key voName="GCID"> session.telephone.callidref </key>

If com.voicegenie.strictconformance is true (the default for <vxml version=2.1>), slot values containing # characters will be cut down to all characters until the first occurrence of #. A slot value of only # will be removed completely. Find more information at http://developer.voicegenie.com/reference.php?ref=propertie sstrictconformance#Version. [ ID = 96, Channel = Voice ]

VoiceGenie 7.1/7.2 (Nuance OSR) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

VoiceGenie_7_1_VXML_2_1_ASR_SpeechWorks en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, precompiled, builtin)


o

Configured for VoiceGenie 7.2 NGI (Next Generation Interpreter). In order to deactivate NGI locate the elements key voName="SPSID" and <key voName="GCID"> and adjust them as follows:
<key voName="SPSID"> session.com.voicegenie.telephone.primarychan </key> <key voName="GCID"> session.telephone.callidref </key>

If com.voicegenie.strictconformance is true (the default for <vxml version=2.1>), slot values containing # characters will be cut down to all characters until the first occurrence of #. A slot value of only # will be removed completely. Find more information at http://developer.voicegenie.com/reference.php?ref=propertie sstrictconformance#Version. [ ID = 95, Channel = Voice ]

VoiceGenie 7.1/7.2 (Nuance) vsDriver vsLanguage vsEncoding vsGrammarMediaType

VoiceGenie_7_1_VXML_2_1_ASR_Nuance en-US ISO-8859-1 srgs_xml (Possible: abnf, srgs_xml, builtin)

Copyright 2001-2011 Voxeo Germany GmbH

189

A Media Platform Drivers


VoiceObjects 11

Property Comments

Value

Configured for VoiceGenie 7.2 NGI (Next Generation Interpreter). In order to deactivate NGI locate the elements key voName="SPSID" and <key voName="GCID"> and adjust them as follows:
<key voName="SPSID"> session.com.voicegenie.telephone.primarychan </key> <key voName="GCID"> session.telephone.callidref </key>

If com.voicegenie.strictconformance is true (the default for <vxml version=2.1>), slot values containing # characters will be cut down to all characters until the first occurrence of #. A slot value of only # will be removed completely. Find more information at http://developer.voicegenie.com/reference.php?ref=propertie sstrictconformance#Version. [ ID = 98, Channel = Voice ]

VoiceGenie 7.1/7.2 (Telisma) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

VoiceGenie_7_1_VXML_2_1_ASR_Telisma en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin)

Configured for VoiceGenie 7.2 NGI (Next Generation Interpreter). In order to deactivate NGI locate the elements key voName="SPSID" and <key voName="GCID"> and adjust them as follows:
<key voName="SPSID"> session.com.voicegenie.telephone.primarychan </key> <key voName="GCID"> session.telephone.callidref </key>

If com.voicegenie.strictconformance is true (the default for <vxml version=2.1>), slot values containing # characters will be cut down to all characters until the first occurrence of #. A slot value of only # will be removed completely. Find more information at http://developer.voicegenie.com/reference.php?ref=propertie sstrictconformance#Version.

VoiceGenie 7.2 (Video) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

[ ID = 133, Channel = Video ] VoiceGenie_7_2_VXML_2_1_Video en-US ISO-8859-1 dtmf (Possible: dtmf, builtin)

Configured for VoiceGenie 7.2 NGI (Next Generation Interpreter). In order to deactivate NGI locate the elements

Copyright 2001-2011 Voxeo Germany GmbH

190

A Media Platform Drivers


VoiceObjects 11

Property

Value
key voName="SPSID" and <key voName="GCID"> and

adjust them as follows:


<key voName="SPSID"> session.com.voicegenie.telephone.primarychan </key> <key voName="GCID"> session.telephone.callidref </key>

If com.voicegenie.strictconformance is true (the default for <vxml version=2.1>), slot values containing # characters will be cut down to all characters until the first occurrence of #. A slot value of only # will be removed completely. Find more information at http://developer.voicegenie.com/reference.php?ref=propertie sstrictconformance#Version. [ ID = 39, Channel = Voice ]

VoiceGenie NeXusPoint 6.4 (Nuance OSR) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

VoiceGenie_NP_6_4_VXML_2_0_ASR_SpeechWorks en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, precompiled, builtin) If com.voicegenie.strictconformance is true (the default for <vxml version=2.1>), slot values containing # characters will be cut down to all characters until the first occurrence of #. A slot value of only # will be removed completely. Find more information at http://developer.voicegenie.com/reference.php?ref=propertie sstrictconformance#Version. Utterance recording not supported [ ID = 38, Channel = Voice ]

VoiceGenie NeXusPoint 6.4 (Nuance) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

VoiceGenie_NP_6_4_VXML_2_0_ASR_Nuance en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, gsl, abnf, builtin) If com.voicegenie.strictconformance is true (the default for <vxml version=2.1>), slot values containing # characters will be cut down to all characters until the first occurrence of #. A slot value of only # will be removed completely. Find more information at http://developer.voicegenie.com/reference.php?ref=propertie sstrictconformance#Version. Utterance recording not supported [ ID = 48, Channel = Voice ]

VoiceGenie NeXusPoint 6.4 (Telisma) vsDriver

VoiceGenie_NP_6_4_VXML_2_0_ASR_Telisma

Copyright 2001-2011 Voxeo Germany GmbH

191

A Media Platform Drivers


VoiceObjects 11

Property vsLanguage vsEncoding vsGrammarMediaType Comments

Value en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) If com.voicegenie.strictconformance is true (the default for <vxml version=2.1>), slot values containing # characters will be cut down to all characters until the first occurrence of #. A slot value of only # will be removed completely. Find more information at http://developer.voicegenie.com/reference.php?ref=propertie sstrictconformance#Version. Utterance recording not supported [ ID = 16, Channel = Voice ]

VoiceGenie VXML Gateway 5.9 (Nuance OSR) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

VoiceGenie_VG_5_9_VXML_2_0_ASR_SpeechWorks en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, precompiled, builtin) Utterance recording not supported [ ID = 15, Channel = Voice ]

VoiceGenie VXML Gateway 5.9 (Nuance) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

VoiceGenie_VG_5_9_VXML_2_0_ASR_Nuance en-US ISO-8859-1 gsl (Possible: gsl, abnf, builtin) Utterance recording not supported [ ID = 35, Channel = Voice ]

VoiceGenie VXML Gateway 6.1-6.3 (Nuance OSR) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

VoiceGenie_VG_6_1_VXML_2_0_ASR_SpeechWorks en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, precompiled, builtin) Utterance recording not supported [ ID = 34, Channel = Voice ]

VoiceGenie VXML Gateway 6.1-6.3 (Nuance) vsDriver vsLanguage vsEncoding vsGrammarMediaType

VoiceGenie_VG_6_1_VXML_2_0_ASR_Nuance en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, gsl, abnf, builtin)

Copyright 2001-2011 Voxeo Germany GmbH

192

A Media Platform Drivers


VoiceObjects 11

Property Comments

Value Utterance recording not supported [ ID = 89, Channel = Voice ]

Voxeo Prophecy Voice Platform 7.0-11.0 vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Voxeo_Prophecy_2006_VXML_2_1 en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) With utterance recording, recorded files include a silence phase at the beginning that is as long as the prompt that was played for the affected input state Input mode specific nomatch handler not supported

Voxeo Prophecy Voice Platform 9.0-11.0 (Loquendo) [ ID = 169, Channel = Voice ] vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments Voxeo_Prophecy_9_0_VXML_2_1_ASR_Loquendo en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Input mode specific nomatch handler not supported

Voxeo Prophecy Voice Platform 9.0-11.0 (Nuance) [ ID = 168, Channel = Voice ] vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments Voxeo_Prophecy_9_0_VXML_2_1_ASR_Nuance en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Input mode specific nomatch handler not supported

Voxeo Prophecy Voice Platform 9.0-11.0 (Siemens) [ ID = 167, Channel = Voice ] vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments Voxeo Prophecy Hosting vsDriver vsLanguage vsEncoding vsGrammarMediaType Voxeo_Prophecy_9_0_VXML_2_1_ASR_Siemens en-US ISO-8859-1 srgs_xml Input mode specific nomatch handler not supported

[ ID = 10, Channel = Voice ] Voxeo_VCP_VXML_2_1 en-US ISO-8859-1 gsl (Possible: gsl, srgs_xml, builtin)

Copyright 2001-2011 Voxeo Germany GmbH

193

A Media Platform Drivers


VoiceObjects 11

Property Comments

Value

Voxpilot Open Media Platform 2.1 (Nuance OSR) [ ID = 70, Channel = Voice ] vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments Voxpilot_OMP_2_1_VXML_2_0_ASR_SpeechWorks en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Utterance recording not supported

Voxpilot Open Media Platform 2.1 (Nuance) [ ID = 69, Channel = Voice ] vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments Voxpilot_OMP_2_1_VXML_2_0_ASR_Nuance en-US ISO-8859-1 gsl (Possible: gsl, srgs_xml, builtin) Slot assignments not supported for non-TTG DTMF grammars (inline or external). Utterance recording not supported

Voxpilot Open Media Platform 2.5-3.2 (Loquendo) [ ID = 72, Channel = Voice ] vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments Voxpilot_OMP_2_5_VXML_2_1_ASR_Loquendo en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, abnf, jsgf, builtin) Slot assignments not supported for non-TTG DTMF grammars (inline or external).

Voxpilot Open Media Platform 2.5-3.2 (Nuance OSR) [ ID = 74, Channel = Voice ] vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments Voxpilot_OMP_2_5_VXML_2_1_ASR_SpeechWorks en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Slot assignments not supported for non-TTG DTMF grammars (inline or external).

Voxpilot Open Media Platform 2.5-3.2 (Nuance) [ ID = 73, Channel = Voice ] vsDriver vsLanguage vsEncoding vsGrammarMediaType Voxpilot_OMP_2_5_VXML_2_1_ASR_Nuance en-US ISO-8859-1 gsl (Possible: gsl, srgs_xml, builtin)

Copyright 2001-2011 Voxeo Germany GmbH

194

A Media Platform Drivers


VoiceObjects 11

Property Comments

Value Slot assignments not supported for non-TTG DTMF grammars (inline or external).

Voxpilot Open Media Platform 2.5-3.2 (Telisma) [ ID = 75, Channel = Voice ] vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments Voxpilot_OMP_2_5_VXML_2_1_ASR_Telisma en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Slot assignments not supported for non-TTG DTMF grammars (inline or external).

Voxpilot Open Media Platform 2.5-3.2 (Video) [ ID = 80, Channel = Video ] vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments Voxpilot_OMP_2_5_VXML_2_1_Video en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Input Mode DTMF only (no ASR) Slot assignments not supported for non-TTG DTMF grammars (inline or external) Utterance recording not supported

Voxpilot voxbuilder [ ID = 13, Channel = Voice ] vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments West OSB 3.0 (Nuance OSR) vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments Voxpilot_voxbuilder_2_3_VXML_2_0 en-US ISO-8859-1 gsl (Possible: gsl, srgs_xml, builtin) Utterance recording not supported [ ID = 51, Channel = Voice ] West_OSB_3_0_VXML_2_0_ASR_SpeechWorks en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Utterance recording not supported [ ID = 132, Channel = Text ]

WindMobile UXML-HTTP Interface Handler Module 1.0 vsDriver vsLanguage vsEncoding vsGrammarMediaType

WindMobile_USSDBrowser_1_0 pl-PL ISO-8859-2 none

Copyright 2001-2011 Voxeo Germany GmbH

195

A Media Platform Drivers


VoiceObjects 11

Property [Custom] vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

Value [ ID = 8, Channel = Voice ] Custom en-US ISO-8859-1 srgs_xml (Possible: srgs_xml, builtin) Utterance recording not supported

Voxeo IMified Platform vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments [Messaging Proxy] vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments [Phone Simulator] vsDriver vsLanguage vsEncoding vsGrammarMediaType Comments

[ ID = 173, Channel = Text ] Voxeo_IMified_Platform_TEXT en-US ISO-8859-1 -- Used internally together with IMified adapter

[ ID = 164, Channel = Text ] MessagingProxy en-US ISO-8859-1 -- For internal use only

[ ID = 136, Channel = Text ] PhoneSimulator en-US ISO-8859-1 -- For internal use only

Copyright 2001-2011 Voxeo Germany GmbH

196

B Control Center Reports Report View


VoiceObjects 11

B Control Center Reports


Based on data collected in the Infostore repository, VoiceObjects provides a set of pre-configured reports that are deeply integrated into the Control Center to allow for easy access and convenient monitoring of system performance on multiple levels. Reports are available on the levels of servers, server instances, and services. The data underlying the reports is retrieved from the server connected to in the Control Center using the Web Service Interface. No explicit connection to the Infostore repository is required. Note: Infostore needs to be enabled in order to view reports since they rely on data captured within the Infostore repository. Also, reports are only available when the server referenced in the Control Center connection uses <infostoreMode>Direct</infostoreMode>. For more information, refer to Configuring Infostore in the Administration Guide. Caution: When using Control Center reports on live production servers, keep in mind that running the corresponding SQL queries on the Infostore repository creates a certain load on the database. Care should therefore be taken not e.g. to refresh the reports too frequently.

Report View
Control Center reports are available from within the context menus for servers, server instances, and services as described in Chapter 3 Managing Servers and Services. Selecting a report opens a new view called Report Chart (or brings it to the front if it was already open).

Reports can be viewed for the current as well as the previous time period on the levels of days, weeks, months, and years. By default, reports show data for today.

Time range can be selected from the first drop-down list offering Day, Week, Month, and Year. The second drop-down list adjusts accordingly to offer Today / Yesterday, Current week / Previous week, Current month / Previous month, or Current year / Previous year. The report type itself can be switched using the third drop-down list; the choices offered are the same as in the corresponding Control Center menu.

Copyright 2001-2011 Voxeo Germany GmbH

197

B Control Center Reports Server Reports


VoiceObjects 11

To refresh the currently shown report, e.g. after additional calls have been made, click the Refresh button . .

The report can be saved as a PDF file by clicking the Save button

Server Reports
Server reports provide information about all sessions processed on the server. In a cluster setup, this spans the entire cluster with all its component server instances. Number of Sessions Shows the total number of sessions processed on the server during the selected time period.

The specific type of chart (line chart or bar chart) is chosen automatically depending on the time period. Sessions by Instance Shows the distribution of sessions processed on the server during the selected time period split across server instance. In a cluster setup, this can be used to validate that load is spread evenly across the component server instances.

Sessions by Service Shows the distribution of sessions processed on the server during the selected time period split across services. This can be used to monitor load distribution across the different applications deployed on the server.

Copyright 2001-2011 Voxeo Germany GmbH

198

B Control Center Reports Server Instance Reports


VoiceObjects 11

Session Duration Shows the average session duration during the selected time period split out by service.

Session Status Shows the distribution of session termination status for all sessions processed on the server during the selected time period.

Server Instance Reports


Server instance reports provide information about all sessions processed on the server instance. In a cluster setup, this allows for individual analysis of the various component server instances of the cluster. Number of Sessions Shows the total number of sessions processed on the server instance during the selected time period.

Copyright 2001-2011 Voxeo Germany GmbH

199

B Control Center Reports Server Instance Reports


VoiceObjects 11

Sessions by Service Shows the distribution of sessions processed on the server instance during the selected time period across services. This can be used to monitor load distribution across the different applications deployed on the server instance.

Session Duration Shows the average session duration during the selected time period split out by service.

Session Status Shows the distribution of session termination status for all sessions processed on the server instance during the selected time period.

Memory Usage Shows the memory usage on the server instance during the selected time period. This is important information to monitor the health of the server instance.

Copyright 2001-2011 Voxeo Germany GmbH

200

B Control Center Reports Service Reports


VoiceObjects 11

Queue Usage Shows the Infostore queue usage on the server instance during the selected time period. This is important information to monitor the health of the server instances Infostore connection.

Cache Usage Shows the in-memory cache usage on the server instance during the selected time period. The in-memory cache represents the applications deployed on the server instance and is used when serving calls. This is important information to monitor the health of the server instances service management.

Service Reports
Service reports provide information about all sessions processed on the service. Number of Sessions Shows the total number of sessions processed on the service during the selected time period.

Session Duration Shows the distribution of session durations during the selected time period.

Copyright 2001-2011 Voxeo Germany GmbH

201

B Control Center Reports Service Reports


VoiceObjects 11

Session Status Shows the distribution of session termination status for all sessions processed on the service during the selected time period.

Business Tasks Shows the completion rates of business tasks within the service during the selected time period. Based on the appropriate definition of business tasks, this is a good indication of whether callers succeed with what they wanted to achieve when calling the application.

Copyright 2001-2011 Voxeo Germany GmbH

202

C Virtual Control Center Setting up a Virtual Control Center


VoiceObjects 11

C Virtual Control Center


In the majority of cases, standard VoiceObjects clustering as described in Configuring a VoiceObjects Cluster in Chapter 1 Advanced Configuration in the Administration Guide is sufficient to obtain scalability and high availability. In some cases, however, very high port counts are required or deployment in multiple geographical locations is desirable e.g. for disaster recovery purposes. Such cases are best served by setting up multiple individual VoiceObjects clusters. The Virtual Control Center can then be used to monitor and manage the different clusters as one integrated unit.

Setting up a Virtual Control Center


Prerequisites In order to provide a single integrated view across multiple VoiceObjects installations, the Virtual Control Center needs to rely on a number of prerequisites: All VoiceObjects clusters must use the same Metadata Repository An integrated view can only be provided if all VoiceObjects clusters use the same Metadata Repository since only then do they operate on the same underlying objects. All VoiceObjects clusters must use the same Server object Within the same Metadata Repository, all VoiceObjects clusters involved must also reference the same Server object in their <servername> configuration entry. This ensures that they run the same set of services. All VoiceObjects clusters must run in network mode All VoiceObjects Server instances need to use <standalone>network</standalone> in their VOServer_Configuration.xml in order to ensure consistent handling of application caches. All VoiceObjects clusters must prevent cache removal on shutdown All VoiceObjects Server instances need to use <disableStateCleanup>true</disableStateCleanup> in their components_VOServer.xml in order to prevent caches from being removed from the database when the last instance in a cluster is shut down. Server instance IDs must be unique across all VoiceObjects clusters The <instanceName> configuration entries used for the individual VoiceObjects Server instances within the clusters must be unique across all clusters in order to prevent conflicts.

Caution: Make sure that all of these prerequisites are met in your setup when working with the Virtual Control Center. Failure to do so may result in inconsistent cluster states, wrong Infostore data, and erratic behavior. Configuration The Virtual Control Center is configured through files located in the WEB-INF/config subfolder of your VoiceObjects installation folder. The layout of the VoiceObjects Server instances to be monitored and managed by the Virtual Control Center is configured in VirtualCC.xml.

Copyright 2001-2011 Voxeo Germany GmbH

203

C Virtual Control Center Setting up a Virtual Control Center


VoiceObjects 11

A sample configuration covering two clusters running on two server boxes each looks like this:
<root> <targets user="voadmin" pwd="manager"> <target host="cluster1-box1" port="8099"> <sidekick port="8098"/> <sidekick host="cluster1-box2" port="8099"/> <sidekick host="cluster1-box2" port="8098"/> </target> <target host="cluster2-box1" port="8066"> <sidekick port="8065"/> <sidekick host="cluster2-box2" port="8064"/> <sidekick host="cluster2-box2" port="8063"/> </target> </targets> <barrier> <timeout>300000</timeout> </barrier> </root>

The configuration contains the following settings: Element <targets> Description Defines the list of targets, which corresponds to the list of clusters that are to be covered by the Virtual Control Center. The <targets> element has the following attributes: user Defines the user ID to be used in communication with the server instances. To avoid user IDs in configuration files it is possible to set the property vo.vcc.targets.user and use the overwrite mechanism described in the section Dynamic Property Retrieval in Chapter 1 Advanced Configuration in the Administration Guide. pwd Defines the password to be used for the user. To avoid passwords in configuration files it is possible to set the property vo.vcc.targets.pwd and use the overwrite mechanism described in the section Dynamic Property Retrieval in Chapter 1 Advanced Configuration in the Administration Guide.

Copyright 2001-2011 Voxeo Germany GmbH

204

C Virtual Control Center Setting up a Virtual Control Center


VoiceObjects 11

Element <target>

Description Defines an individual target, which corresponds to an individual cluster; there can be any number of <target> elements within a <targets> parent element. The <target> element itself defines the primary server instance in the cluster, which by default is contacted first. If it is not available, the other instances (defined in <sidekick> elements, see below) are contacted, so the choice for the primary target instance is essentially arbitrary. The <target> element has the following attributes: host [required] Defines the host on which the server instance runs. port [required] Defines the port on which the server instance runs. user Defines the user ID to be used in communication with the server instance. If not defined, the user defined in the <targets> parent is used. pwd Defines the password to be used for the user. If not defined, the password defined in the <targets> parent is used. cert-url Specifies a certificate to be used for requests to the target. When specified, communication automatically uses HTTPS. Note that the server instances for the target need to be configured accordingly. The default is not to use a certificate. proxy-host Specifies a proxy host to be used for all requests to the target. The default is not to use a proxy. proxy-port Specifies a proxy port to be used for all requests to the target. The default is not to use a proxy.

Copyright 2001-2011 Voxeo Germany GmbH

205

C Virtual Control Center Using a Virtual Control Center


VoiceObjects 11

Element <sidekick>

Description Defines additional server instances within the target; there can be any number of <sidekick> elements within a <target> parent element. The <sidekick> element has the following attributes: host Defines the host on which the server instance runs. If not defined, the host defined in the <target> parent is used. port Defines the port on which the server instance runs. If not defined, the host defined in the <target> parent is used.

<responsetimeout> <cycle-margin>

Defines the maximum time (in milliseconds) to wait for responses from server instances. Default is 5 minutes. Defines the maximum response time (in milliseconds) after which a reported error leads to cycling to the next <sidekick>. Default is 10 second.

Note: Changes to the VirtualCC.xml configuration file are applied dynamically without the need to restart the Virtual Control Center process. In production setups you should therefore be careful with changes made to this file.

Using a Virtual Control Center


To monitor and manage multiple VoiceObjects clusters as an integrated unit, the Virtual Control Center stands in place of a regular VoiceObjects Server. So using the Virtual Control Center consists of two steps: 1. Setting up the Virtual Control Center process. 2. Configuring a Control Center connection pointing to it. Virtual Control Center process The Virtual Control Center process is configured using VirtualCC_Configuration.xml in the WEB-INF/config subfolder of your VoiceObjects installation folder. The only settings that normally need to be configured are <instanceIP> and <instancePort>, defining the host and port on which the Virtual Control Center process is supposed to run. The default port if 7099. To start the Virtual Control Center process, use the scripts start_VirtualCC.bat/.sh provided in the WEB-INF/bin subfolder of your VoiceObjects installation folder. To stop the process on Linux, use the stop_VirtualCC.sh script. Starting or stopping the Virtual Control Center process does not in any way impact the clusters it monitors (as configured in VirtualCC.xml described above). Note: Changes to the VirtualCC.xml configuration file are applied dynamically without the need to restart the Virtual Control Center process. In production setups you should therefore be careful with changes made to this file.

Copyright 2001-2011 Voxeo Germany GmbH

206

C Virtual Control Center Using a Virtual Control Center


VoiceObjects 11

Control Center connection As mentioned above, the Virtual Control Center process stands in place of the regular VoiceObjects Server the Control Center would normally connect to. So the only difference in configuring a connection to a Virtual Control Center is to use the server address and port on which the Virtual Control Center runs. Opening a Virtual Control Center connection initially can take some time depending on size of clusters configured in VirtualCC.xml due to the connections that need to be established. If all server instances for a target are unavailable when opening a Virtual Control Center connection, the respective target is skipped and also not considered in refreshes. The connection needs to be closed and re-opened (from Desktop for Eclipse or Desktop for Web) once at least one server instance of the target becomes available again. Caution: When working with a Virtual Control Center, do not use separate Control Centers on the individual component clusters. This can easily lead to inconsistent states in the overall cluster.

Copyright 2001-2011 Voxeo Germany GmbH

207

S-ar putea să vă placă și