MRCP. Technical Reference. Interactive Intelligence Customer Interaction Center (CIC) Version 2016 R3



Similar documents
Interaction Tracker Timesheet Reporting

Interaction Center Integration with HEAT

IC Integration to Oracle Service Cloud Data Dictionary

Interaction Supervisor ipad Edition

Factory Image Restoration Procedures

Exchange MAPI Support for IC

IC Workstation Applications in Citrix and Terminal Services Environments

Interaction Recorder Remote Content Service

IC Integration with Oracle Service Cloud

IC ACD Processing. Technical Reference. Interactive Intelligence Customer Interaction Center (CIC) 2016 R1

IC Managed IP Phones

Session Manager. Development Application Note. Interactive Intelligence Customer Interaction Center (CIC) Version Last updated February 29, 2016

Identity Providers. Technical Reference. Interactive Intelligence Customer Interaction Center (CIC) Version Last updated November 5, 2015

Vocalité Version 2.4 Feature Overview

Interaction Center Integration with Workforce Management Historical and Real-Time Adherence

Interaction Dialer. Installation and Configuration Guide. Interactive Intelligence Customer Interaction Center (CIC) 2016 R1

IC Web Integration to Salesforce.com

CIC Integration with SAP CRM

ACD Processing: IC's Automatic Communication Distribution

Group Policy Deployment for IC Applications

Abstract. Avaya Solution & Interoperability Test Lab

USER GUIDE. Ethernet Configuration Guide (Lantronix) P/N: Rev 6

Interaction Client Web Edition and Mobile Web Edition

Text to Speech Engines for IC

Remote Support. User Guide 7.23

Easy Setup Guide for the Sony Network Camera

CISCO UNIFIED COMMUNICATIONS MANAGER SIP INTEGRATION

MicrosoftDynam ics GP TenantServices Installation and Adm inistration Guide

Interaction Supervisor

Lab 00: Configuring the Microsoft Lync Ignite Environment Cloud Hosted Version

Business Portal for Microsoft Dynamics GP User s Guide Release 5.1

Avaya one-x Mobile User Guide for iphone

Application Notes for Configuring Yealink T-22 SIP Phones to interoperate with Avaya IP Office - Issue 1.0

Telephony Toolbar Corporate. User Guide

VMware Horizon FLEX User Guide

Avaya VoIP Monitoring Manager User Guide

Deploying Cisco Unified Contact Center Express Volume 1

Vodafone PC SMS (Software version 4.7.1) User Manual

ShoreTel & AMTELCO Infinity Console via SIP Trunking (Native)

1 VoIP/PBX Axxess Server

Enterprise Toolbar User s Guide. Revised March 2015

Live Agent for Support Agents

Microsoft Dynamics GP. Business Analyzer

Web Portal User Guide

NetVanta Unified Communications Server. Administrator Guide. Version 5.2

Corporate Telephony Toolbar User Guide

Assistant Enterprise. User Guide

Intel Active Management Technology with System Defense Feature Quick Start Guide

Salesforce Classic Guide for iphone

DEPLOYMENT GUIDE Version 2.1. Deploying F5 with Microsoft SharePoint 2010

PrinterOn Mobile App for ios and Android

Interaction Tracker Interaction Segments

Mass Announcement Service Operation

VPN Configuration Guide D-Link DFL-200

IBM Information Server

User Manual. 3CX VOIP client / Soft phone Version 6.0

Quick Start Guide. Cisco SPA232D Mobility Enhanced ATA

Virtual CD v10. Network Management Server Manual. H+H Software GmbH

Configuring H.323 over Port Network Address Translation (PNAT) for Avaya IP Endpoints using the Avaya SG200 Security Gateway - Issue 1.

Silect Software s MP Author

OmniTouch 8400 Instant Communications Suite. My Instant Communicator Desktop User guide. Release 6.7

Avaya one-x Mobile User Guide for iphone

Oracle Enterprise Single Sign-on Logon Manager How-To: Configuring ESSO-LM Event Logging with Microsoft SQL Server 2005 Release

Nimsoft Monitor. dns_response Guide. v1.6 series

Aras Innovator Internet Explorer Client Configuration

Nortel Contact Recording Search and Replay User Guide

Toolbar User Guide. Release 17.0

DEPLOYMENT GUIDE Version 1.2. Deploying the BIG-IP System v10 with Microsoft IIS 7.0 and 7.5

Application Notes for Integrating Verint ULTRA9 VoIP Call Recording Service With Avaya Interaction Center - Issue 1.1

ICS Technology. PADS Viewer Manual. ICS Technology Inc PO Box 4063 Middletown, NJ

Call Recorder Oygo Manual. Version

Deploying Cisco Unified Contact Center Express 5.0 (UCCX)

CIC Web Applications

HP StoreVirtual DSM for Microsoft MPIO Deployment Guide

Help. F-Secure Online Backup

Construct User Guide

Quintet Enterprise Unified Communication Solutions

Personal Call Manager User Guide. BCM Business Communications Manager

Release Notes DAISY 4.0

Creating your own service profile for SJphone

CHAPTER. Monitoring and Diagnosing

Bluetooth for Windows

Microsoft Dynamics GP. Workflow Installation Guide Release 10.0

Deploying Cisco Unified Contact Center Express - Digital

Advantech WebAccess Device Driver Guide. BwSNMP Advantech WebAccess to SNMP Agent (Simple Network Management Protocol) Device Driver Guide

Interaction Center. Installation and Configuration Guide. For Interactive Intelligence Customer Interaction Center (CIC) 2016 R1

138 Configuration Wizards

NETWRIX ACCOUNT LOCKOUT EXAMINER

Systems Management Advanced job scheduler

FileMaker 14. ODBC and JDBC Guide

WebEx. Remote Support. User s Guide

PrettyMay Call Center for Skype

IC Database Configuration and Maintenance for SQL Server

... SphericallTM. Sphericall Desktop User Manual

Table of Contents. FleetSoft Installation Guide

Disable Redundant Windows XP Services which are Hogging Your RAM

Understanding Slow Start

Kaseya 2. Quick Start Guide. for Network Monitor 4.1

Using WhatsUp IP Address Manager 1.0

Transcription:

MRCP Technical Reference Interactive Intelligence Customer Interaction Center (CIC) Version 2016 R3 Last updated April 12, 2016 (See Change Log for summary of changes.) Abstract This document discusses Interactive Intelligence s implementation of Media Resource Control Protocol (MRCP), including protocol flow architecture and CIC integration. Interactive Intelligence, Inc. 7601 Interactive Way Indianapolis, Indiana 46278 Telephone/Fax (317) 872-3000 www.inin.com

ii Copyright and Trademark Information Interactive Intelligence, Interactive Intelligence Customer Interaction Center, Interaction Administrator, Interaction Attendant, Interaction Client, Interaction Designer, Interaction Tracker, Interaction Recorder, Interaction Mobile Office, Interaction Center Platform, Interaction Monitor, Interaction Optimizer, and the Spirograph logo design are registered trademarks of Interactive Intelligence, Inc. Customer Interaction Center, EIC, Interaction Fax Viewer, Interaction Server, ION, Interaction Voicemail Player, Interactive Update, Interaction Supervisor, Interaction Migrator, and Interaction Screen Recorder are trademarks of Interactive Intelligence, Inc. The foregoing products are 1997-2016 Interactive Intelligence, Inc. All rights reserved. Interaction Dialer and Interaction Scripter are registered trademarks of Interactive Intelligence, Inc. The foregoing products are 2000-2016 Interactive Intelligence, Inc. All rights reserved. Messaging Interaction Center and MIC are trademarks of Interactive Intelligence, Inc. The foregoing products are 2001-2016 Interactive Intelligence, Inc. All rights reserved. Interaction Director is a registered trademark of Interactive Intelligence, Inc. e-faq Knowledge Manager and Interaction Marquee are trademarks of Interactive Intelligence, Inc. The foregoing products are 2002-2016 Interactive Intelligence, Inc. All rights reserved. Interaction Conference is a trademark of Interactive Intelligence, Inc. The foregoing products are 2004-2016 Interactive Intelligence, Inc. All rights reserved. Interaction SIP Proxy and Interaction EasyScripter are trademarks of Interactive Intelligence, Inc. The foregoing products are 2005-2016 Interactive Intelligence, Inc. All rights reserved. Interaction Gateway is a registered trademark of Interactive Intelligence, Inc. Interaction Media Server is a trademark of Interactive Intelligence, Inc. The foregoing products are 2006-2016 Interactive Intelligence, Inc. All rights reserved. Interaction Desktop is a trademark of Interactive Intelligence, Inc. The foregoing products are 2007-2016 Interactive Intelligence, Inc. All rights reserved. Interaction Process Automation, Deliberately Innovative, Interaction Feedback, and Interaction SIP Station are registered trademarks of Interactive Intelligence, Inc. The foregoing products are 2009-2016 Interactive Intelligence, Inc. All rights reserved. Interaction Analyzer is a registered trademark of Interactive Intelligence, Inc. Interaction Web Portal and IPA are trademarks of Interactive Intelligence, Inc. The foregoing products are 2010-2016 Interactive Intelligence, Inc. All rights reserved. Spotability is a trademark of Interactive Intelligence, Inc. 2011-2016. All rights reserved. Interaction Edge, CaaS Quick Spin, Interactive Intelligence Marketplace, Interaction SIP Bridge, and Interaction Mobilizer are registered trademarks of Interactive Intelligence, Inc. Interactive Intelligence Communications as a Service and Interactive Intelligence CaaS are trademarks or service marks of Interactive Intelligence, Inc. The foregoing products are 2012-2016 Interactive Intelligence, Inc. All rights reserved. Interaction Speech Recognition and Interaction Quality Manager are registered trademarks of Interactive Intelligence, Inc. Bay Bridge Decisions and Interaction Script Builder are trademarks of Interactive Intelligence, Inc. The foregoing products are 2013-2016 Interactive Intelligence, Inc. All rights reserved. Interaction Collector is a registered trademark of Interactive Intelligence, Inc. Interaction Decisions is a trademark of Interactive Intelligence, Inc. The foregoing products are 2013-2016 Interactive Intelligence, Inc. All rights reserved. Interactive Intelligence Bridge Server and Interaction Connect are trademarks of Interactive Intelligence, Inc. The foregoing products are 2014-2016 Interactive Intelligence, Inc. All rights reserved. The verypdf product is 2000-2016 verypdf, Inc. All rights reserved. This product includes software licensed under the Common Development and Distribution License (6/24/2009). We hereby agree to indemnify the Initial Developer and every Contributor of the software licensed under the Common Development and Distribution License (6/24/2009) for any liability incurred by the Initial Developer or such Contributor as a result of any such terms we offer. The source code for the included software may be found at http://wpflocalization.codeplex.com. A database is incorporated in this software which is derived from a database licensed from Hexasoft Development Sdn. Bhd. ("HDSB"). All software and technologies used by HDSB are the properties of HDSB or its software suppliers and are protected by Malaysian and international copyright laws. No warranty is provided that the Databases are free of defects, or fit for a particular purpose. HDSB shall not be liable for any damages suffered by the Licensee or any third party resulting from use of the Databases. Other brand and/or product names referenced in this document are the trademarks or registered trademarks of their respective companies. DISCLAIMER INTERACTIVE INTELLIGENCE (INTERACTIVE) HAS NO RESPONSIBILITY UNDER WARRANTY, INDEMNIFICATION OR OTHERWISE, FOR MODIFICATION OR CUSTOMIZATION OF ANY INTERACTIVE SOFTWARE BY INTERACTIVE, CUSTOMER OR ANY THIRD PARTY EVEN IF SUCH CUSTOMIZATION AND/OR MODIFICATION IS DONE USING INTERACTIVE TOOLS, TRAINING OR METHODS DOCUMENTED BY INTERACTIVE. DOCUMENTED BY INTERACTIVE. Interactive Intelligence, Inc. 7601 Interactive Way Indianapolis, Indiana 46278 Telephone/Fax (317) 872-3000 www.inin.com

iii Table of Contents About this information...4 Referenced information...4 Introduction...5 Overview...6 CIC support for MRCP...7 MRCP for TTS... 7 MRCP for ASR... 8 Architecture...9 Installation and Configuration...10 Hardware considerations...10 Installing the MRCP Server...10 Server Selection...11 MRCP Capabilities...11 Locations and Selection Rules...12 MRCP Selection Rules... 12 Default MRCP Selection Rules... 12 Default Scenarios... 13 Custom MRCP Selection Rules... 15 Custom Scenarios... 15 Priority...17 Probation...17 Load Balancing...18 Adding MRCP Servers...19 Assigning an MRCP Server to a Location...21 Assigning MRCP Selection Rules to a Location...22 Configuring an MRCP Server for TTS...24 Testing a TTS MRCP Server installation...27 Configuring MRCP Servers...28 Check Windows Event Viewer for Probation Warnings...29 Deactivating an MRCP Server...30 Reactivating an MRCP Server...31 Interaction Designer for TTS...32 MRCP with SAPI...33 MRCP Optional Parameters...34 FAQ...36 Change Log...37

4 About this information The information in this technical reference is for CIC System administrators, Interactive Intelligence Business partners, and those who want to understand the purpose, concepts, and architecture of the Interactive Intelligence MRCP implementation. Referenced information Because MRCP is integrated with CIC, there are additional technical references and guides that might be of interest to you. This information is available in the CIC Documentation Library on your IC server. The latest versions of these documents can also be accessed from the CIC Documentation Library at: http://help.inin.com. The following technical references, Help, and links are referred to in this document and provide additional MRCP information: IC Installation and Configuration Guide VoiceXML Technical Reference IC Security Features Technical Reference ASR Technical Reference Interaction Media Server Technical Reference Interaction Speech Recognition Technical Reference Interaction Administrator Help Interaction Designer Help Interactive Intelligence License Management Website at: http://license.inin.com You can also find information on the Internet Engineering Task Force website at: http://tools.ietf.org/html/rfc6787.

5 Introduction The Media Resource Control Protocol (MRCP) is used by clients, such as a VoiceXML browser, to control media service resources, including Text-to-Speech (TTS) synthesizers and Automatic Speech Recognizers (ASR). Interactive Intelligence Customer Interaction Center (CIC) supports MRCP version 2 (MRCPv2), which is the current standard. To connect clients with speech processing servers and manage the sessions between them, MRCP relies on other protocols, such as Session Initiation Protocol (SIP). MRCP uses SIP to set up and tear down media and control sessions with the speech server. Furthermore, MRCP defines the messages to control the media service resources and it also defines the messages that provide the status of the media service resources. This document includes: An Overview of the Interactive Intelligence MRCP architecture MRCP Installation and Configuration information Interaction Designer information for text-to-speech Frequently Asked Questions

6 Overview The Media Resource Control Protocol is a standard proposed by the Internet Engineering Task Force (IETF) for controlling media services for resources such as speech synthesizers, recognizers, recorders, and verifiers residing on servers on the network. The current standard is now in version 2, which is the only version supported by Interactive Intelligence Customer Interaction Center. MRCP is an application layer protocol and relies on another session management protocol, typically Session Initiation Protocol (SIP), to establish a control session between the client and the server. SIP is used to establish not only the control channel to use for MRCP, but also to establish the media sessions and associated parameters between the media source or sink and the media server. Once established, the MRCP protocol exchange operates over the control session, allowing the client to control the media processing resources on the speech resource server.

7 CIC support for MRCP CIC supports MRCP for Text-to-Speech (TTS) and Automatic Speech Recognition (ASR). MRCP for TTS Support for MRCP was introduced into CIC in version 3.0 SU3. Support for using MRCP with the Media Server was added to CIC in version 3.0 SU6. MRCP in CIC supports Synthesizer resources, and it is intended as an alternative to using SAPI for TTS. The following are the advantages of using MRCP for TTS. TTS processing is off-loaded to other servers rather than competing for resources on the IC server. The MRCP subsystem provides load-balancing capabilities between servers. The MRCPv2 standard is much more transparent than SAPI, and it is not COM based. Most speech vendors are implementing MRCP and deprecating their SAPI integration. Audio is streamed from MRCP Servers using Real-time Transport Protocol (RTP) rather than a proprietary method. Support for multiple languages, voices, and, vendors are more efficient with MRCP. CIC can use MRCP TTS in the following instances: Function Name prompt generation Telephone User Interface (TUI) and Mobile Office Handlers VoiceXML Interaction Desktop Personal Rules Description System handlers will use TTS if there are user name prompts that have not been recorded. The TUI and Mobile Office will use TTS for dynamic prompts and for email playback. Whenever TTS prompt tools such as Play String, Play Text File, Record String, Record Text File, and Play Prompt Phrase tools and anytime their extended versions are used. TTS prompts in VoiceXML scripts can use MRCP. Personal Rules, configured in Interaction Desktop, can take advantage of TTS.

8 MRCP for ASR Support for MRCP for ASR was introduced in CIC 4.0 SU3. The following are the advantages of using MRCP for ASR. Some speech vendors are only allowing MRCP integrations. The MRCP standard allows CIC to integrate with new ASR vendors. The MRCP standard is much more transparent than proprietary APIs that are used with other Interactive Intelligence ASR server implementations. CIC can use MRCP ASR in the following instances: Function TUI and Mobile Office Handlers VoiceXML Description The TUI and Mobile Office will use ASR for recognizing callers utterances. Whenever ASR recognition tools are used, such as Reco Input. ASR inputs in VoiceXML scripts can use MRCP. Note: For more information on MRCP for ASR, refer to the ASR Technical Reference.

9 Architecture The following diagram depicts the protocol flow between servers using MRCP and illustrates how a TTS MRCP play occurs. In this flow, all audio is streamed from the MRCP Server directly to the Media Server using RTP. The audio is then streamed directly to the IP device using RTP.

10 Installation and Configuration An MRCP installation includes setting up a third-party MRCP Server and configuring the IC server to use the MRCP Server. Hardware considerations Because MRCP Servers are media intensive, using a dedicated server to run third-party MRCP Server software is required. We recommend that the MRCP Server have ample processing speed and physical memory. Because audio is streamed between the MRCP Server and a Media Server using RTP, we also recommend that the MRCP Server be in the same subnet and have a high bandwidth connection to Media Servers in the same region. Installing the MRCP Server Follow vendor instructions to install your third-party MRCP Server. Be sure your MRCP Server media includes the MRCP Server installer and installers for the MRCP resources being used. For example, if MRCP is being used for TTS, both an MRCP Server installer and a TTS engine installer are required CIC supports the following third-party MRCP Servers: Nuance Speech Server Loquendo Speech Suite Server For the most current version numbers of the supported third- party MRCP servers, see the Testlab page on the Support Website at: http://testlab.inin.com

11 Server Selection When fulfilling a request for MRCP services, CIC analyzes the following items as it works through the selection process of choosing an MRCP server. Order of Consideration Selection Process Description 1 MRCP Capabilities 2 Probation 3 Location/Selection Rules 4 Priority 5 Load Balancing Look for MRCP servers that provide the requested MRCP capabilities. Look for servers that are not on Probation. Any server that is not on Probation and has the requested MRCP capabilities will be used before a server on Probation even if the server on Probation has a better Location, lower Priority, or fewer sessions. Using the Location and Selection Rules, look for servers that are in the best location to use the WAN most efficiently. Any server in a better Location that has the requested MRCP capabilities and is not on Probation will be selected before a server with a lower Priority, or fewer sessions. Look for servers with a low priority number. Any server with a lower priority that has the requested MRCP capabilities, is not on Probation, and in a better location, will be selected before a server with fewer sessions. Once the other criteria are met, look for a server with fewest sessions. In the case where more than one MRCP server meets the above criteria, a server with the fewest sessions will be selected. MRCP Capabilities The MRCP subsystem supports selecting a specific MRCP Server to fulfil a TTS request based on the MRCP capabilities of the server. A request can contain the following criteria: Criteria Server Name MRCP Version Vendor Voice Name Voice Gender Voice Language Description Matches the name of a specific server as its name is configured in Interaction Administrator. Matches servers that support a specific MRCP version MRCPv2 by default. Matches the vendor field of a specific server. Matches servers that support a specific voice name. Matches servers that support a specific voice gender. Matches servers that support a specific language.

12 Locations and Selection Rules The goal behind MRCP regionalization, via Locations and Selection Rules, is to ensure that the functions provided by the MRCP Server occur in the most efficient manner possible. This system allows geographically dispersed networks to provide the best performance as well as ensure the most efficient use of the available WAN bandwidth for MRCP resources. Locations allow the Selection Rules to be applied correctly. More specifically, when you assign an MRCP server to a Location, you are specifying where the server resides. When you set up Selection Rules, you are specifying the order of the Locations in which the system is to look for available servers when a Media Server is used for MRCP in a location. So, using information gleaned from the Location and Selection Rules, CIC finds the best place to use an MRCP server. MRCP Selection Rules When you assign an MRCP server to a location, the selection rules can be applied correctly. In many cases, the default MRCP selection rules will work just fine. However, you can assign custom MRCP selection rules to a location. Note: It is important to understand that the Media Server Selection Rules are always applied first and that they are performed independently, regardless of MRCP Server availability. For information on Media Server Locations and Selection Rules, see the Interaction Media Server Technical Reference available in the CIC Documentation Library: http://help.inin.com. Default MRCP Selection Rules When you create a location in Interaction Administrator, CIC automatically assigns the Default MRCP Selection Rules to that location. This default configuration specifies a logical order of locations that will provide the best possible connection to an available MRCP server. The default selection rules specify that the IC server searches for and selects an available MRCP server using the following order: <ThisLocation> <ICServerLocation> <Any> The location where the media server for the call exists. The location that has the IC server that controls the interaction. This option directs the IC server to search any defined location in the network if it cannot find an available MRCP Server at the above locations.

13 Default Scenarios To see why the Default MRCP Selection Rules will work fine in many cases, let's assume the following setup. We'll also assume that the Media Servers are configured to use the Default Media Server Selection Rules. Seattle Indianapolis Orlando Gateway Media Server MRCP Server Gateway IC Server Media Server MRCP Server Gateway Media Server MRCP Server Now, let's suppose that a call comes into Orlando. When it does, the steps in one of the following scenarios could occur: Scenario 1 The Default Media Server Selection Rule assigned to the Orlando Location will hit the first item in the list: <This Location>. If a Media Server is available in Orlando, then it will be used for the call. If there is, the Default MRCP Selection Rule assigned to the Orlando Location will hit the first item in the list: <This Location>. If an MRCP Server is available in Orlando and not on probation, then it will be used for the call. Analysis: This represents the best case scenario because the audio remains in Orlando where it will have the best quality. The Default MRCP Selection Rule will always try to use this scenario when possible. Scenario 2 The Default Media Server Selection Rule assigned to the Orlando Location will hit the first item in the list: <This Location>. If a Media Server is NOT available in Orlando, then the Default Media Server Selection Rule will hit the second item in the list: <ICServerLocation>. If a Media Server is available in Indianapolis, then it will be used for the call. Since the Media Server handling the call is in Indianapolis, the Default MRCP Selection Rule assigned to the Indianapolis Location will hit the first item in its list: <This Location>. If an MRCP Server is available in Indianapolis and not on probation, then it will be used for the call. Analysis: This scenario illustrates how the <ThisLocation> rule in the Default MRCP Selection Rules functions to achieve the best possible result. Here the audio is sent from the caller to Indianapolis because the Media Server in Orlando is unavailable. By following the <ThisLocation> rule, the MRCP Server in Indianapolis is used so that the audio is not sent over another WAN connection.

14 Scenario 3 The Default Media Server Selection Rule assigned to the Orlando Location will hit the first item in the list: <This Location>. If a Media Server is available in Orlando, then it will be used for the call. The Default MRCP Selection Rule assigned to the Orlando Location will hit the first item in the list: <This Location>. If an MRCP Server is NOT available in Orlando, then the Default MRCP Selection Rule will hit the second item in the list: <ICServerLocation>. If an MRCP Server is available in Indianapolis and not on probation, then it will be used for the call. Analysis: This scenario illustrates how the <ICServerLocation> rule in the Default MRCP Selection Rules functions to achieve the best possible result. Because the MRCP Server in Orlando is unavailable, the audio is sent from the Media Server in Orlando to an MRCP Server in Indianapolis. The idea here is that the WAN connection to the location of the IC Server is most likely better than any of the other WAN connections. This scenario also illustrates that the Media Server Selection rules are applied first and function independently from the MRCP Selection Rules. (Keep in mind that even though it might seem better to select a Media Server in Indianapolis, it really wouldn t be because the audio would have to traverse the WAN anyway. And, using a Media Server in Indianapolis would require that audio be sent to Indianapolis even after the MRCP session is complete.) Scenario 4 The Default Media Server Selection Rule assigned to the Orlando Location will hit the first item in the list: <This Location>. If a Media Server is NOT available in Orlando, then the Default Media Server Selection Rule will hit the second item in the list: <ICServerLocation>. If a Media Server is available in Indianapolis, then it will be used for the call. Since the Media Server handling the call is in Indianapolis, the Default MRCP Selection Rule assigned to the Indianapolis Location will hit the first item in its list: <This Location>. If an MRCP Server is NOT available in Indianapolis, then the Default MRCP Selection Rule will hit the second item in the list: <ICServerLocation>. Since <This Location> and <ICServerLocation> are the same, the Default MRCP Selection Rule will hit the third item in the list: <Any>. At this point, any of the other two MRCP Servers could be selected based on availability. Analysis: This represents the worst case scenario because audio will traverse two WAN connections. This example of the <Any> rule should be a rare occurrence because it depends on both the Media Server, where the call came in, and the MRCP Server, at the <ICServerLocation>, being unavailable. Keep in mind that these scenarios only represent some of the possibilities in the example setup and are only intended to highlight how the Default MRCP Selection Rules work.

15 Custom MRCP Selection Rules If you decide that you'd rather use custom selection rules, you can create and assign those rules to your locations instead of relying on the default selection rule. For information on creating selection rules, see the Selection Rules topic in the Interaction Administrator Help. Custom Scenarios To see how a custom MRCP Selection Rules would work, let's assume the following setup: We have an extremely fast WAN connection between Miami and Orlando and so want to make sure that this connection is used before attempting the Indianapolis location even though it is the IC Server location. We also have a better connection from Indianapolis to Orlando than to Miami, so we want to make sure that this connection is used first. As such, we'll create and assign appropriate custom selection rules to each location. We'll assume that the Media Servers are configured to use the <Default Media Server Selection Rule>. Indianapolis Miami Orlando Gateway IC Server Media Server Gateway Media Server MRCP Server Gateway Media Server MRCP Server MRCP Server IRule MRule ORule Indianapolis Orlando Miami Miami Orlando Indianapolis Orlando Miami Indianapolis Now, let's suppose that a call comes into Orlando. When it does, the steps in one of the following scenarios could occur: Scenario 1 The Default Media Server Selection Rule assigned to the Orlando Location will hit the first item in the list: <This Location>. If a Media Server is available in Orlando, then it will be used for the call. The Custom MRCP Selection Rule assigned to the Orlando Location will hit the first item in the list: Orlando. If an MRCP Server is available in Orlando and not on probation, then it will be used. Analysis: This represents the best case scenario because the audio remains in Orlando. In fact, this Custom MRCP Selection Rule behaves the same as Scenario 1 under the Default MRCP Selection Rules. Scenario 2 The Default Media Server Selection Rule assigned to the Orlando Location will hit the first item in the list: <This Location>. If a Media Server is available in Orlando, then it will be used for the call. The Custom MRCP Selection Rule assigned to the Orlando Location will hit the first item in the list: Orlando. If an MRCP Server is NOT available in Orlando, then the Custom MRCP Selection Rule will hit the second item in the list: Miami. If an MRCP Server is available in Miami and not on probation, then it will be used. Analysis: This scenario illustrates how a Custom MRCP Selection Rule, which specifies a preference for the WAN connection between Miami and Orlando, does a better job than the Default MRCP Selection Rules, which would have tried using an MRCP server in Indianapolis before one in Miami.

16 Scenario 3 The Default Media Server Selection Rule assigned to the Orlando Location will hit the first item in the list: <This Location>. If a Media Server is NOT available in Orlando, then the Default Media Server Selection Rule will hit the second item in the list: <ICServerLocation>. If a Media Server is available in Indianapolis, then it will be used for the call. Since the Media Server handling the call is in Indianapolis, the Custom MRCP Selection Rule assigned to the Indianapolis Location will hit the first item in its list: Indianapolis. If an MRCP Server is available in Indianapolis and not on probation, then it will be used for the call. Analysis: In this scenario, the Custom MRCP Selection Rule behaves the same as the Default MRCP Selection Rule because we are using the Default Media Server Selection Rule. (Keep in mind that if we were also using Custom Media Server Selection rules, we could have specified the WAN to Miami instead of the WAN to Indianapolis for the Media Server. However, since the selected Media Server is in Indianapolis, the best we can do is use an Indianapolis MRCP server to avoid sending the audio over another WAN connection.) Scenario 4 The Default Media Server Selection Rule assigned to the Orlando Location will hit the first item in the list: <This Location>. If a Media Server is NOT available in Orlando, then the Default Media Server Selection Rule will hit the second item in the list: <ICServerLocation>. If a Media Server is available in Indianapolis, then it will be used for the call. Since the Media Server handling the call is in Indianapolis, the Custom MRCP Selection Rule assigned to the Indianapolis Location will hit the first item in its list: Indianapolis. If an MRCP Server is NOT available in Indianapolis, then the Custom MRCP Selection Rule will hit the second item in the list: Orlando. If an MRCP Server is available in Orlando and not on probation, then it will be used for the call. Analysis: This represents a near worst case scenario because audio traverses two WAN connections. By using Custom MRCP Selection rules, we enforced our preference to use the WAN between Indianapolis and Orlando instead of allowing an MRCP server in Miami to be selected if it had lower load. Keep in mind that these scenarios only represent some of the possibilities in the example setup and are only intended to highlight how Custom ASR Selection Rules work.

17 Priority The priority of a server is determined by the Priority setting in Interaction Administrator. MRCP Servers with lower priority number are considered for selection first. Probation As a means of improving the efficiency of the selection process, when CIC requests resources from an MRCP server, if the server does not respond or fails to create the necessary resources for a call, CIC places that MRCP server on probation. When an MRCP server is on probation, CIC stops sending requests to that server for a set time period in order to minimize the impact of failures. An MRCP server can be put on probation for the following reasons: An MRCP server does not respond within the configurable Connection Timeout (5 seconds by default) to a resource creation request from and IC server. Some possible reasons for this include: A networking issue between the IC server and MRCP server The MRCP server and service not running The MRCP server having insufficient resources to respond in time An MRCP server responds with an error. Checking the MRCP server s logs for more details or contacting Support is usually the best way to diagnose this sort of issue, but common causes include: Configuration issues on the MRCP server. This is particularly common if the MRCP server has never worked successfully or its configuration has recently changed. If this is the case, please review the installation procedure or contact Support. Running out of licenses on the MRCP server. Additional licenses will need to be purchased for the MRCP server. The duration of the first probation period is 5 seconds. This short period is designed to allow servers that are experiencing a temporary or minor problem, such as running out of licenses, to immediately rejoin the pool of available MRCP servers, thus minimizing the impact of encountering unavailable MRCP servers. However, the probation period doubles with each consecutive failure, up to a maximum probation period of 10 minutes. Failure sequence First Second Third Fourth Fifth Sixth Seventh Eighth and up Probation period 5 seconds 10 seconds 20 seconds 40 seconds 1 minute 20 seconds 2 minutes 40 seconds 5 minutes 20 seconds 10 minutes Keep in mind that even if a server that can provide the required MRCP capabilities is on probation, it still remains on the list of possible servers that can be selected; however, servers on probation are placed at the end of the list. Furthermore, if there are multiple servers on probation, the servers on probation will be ordered according to items 3-5 in the server selection process. For example, servers on probation in a favorable location appear before servers on probation in an unfavorable location.

18 If all available MRCP servers are in the probation state or if you have only one MRCP server, the IC server disregards the probation state and requests resources to handle the interaction. Note: Multiple IC servers do not share probation state information. Each IC server separately tracks which MRCP servers are in the probation state. Load Balancing The MRCP subsystem supports a very straightforward load-balancing scheme. The MRCP subsystem just considers how many open sessions it has for each MRCP Server and selects the server with the least amount of sessions to service the next MRCP request. Because MRCP Servers are typically third-party servers, this is the most basic approach to take when sharing load between servers. Note: This strategy does not take into account: the current CPU load of an MRCP Server, its architecture, the number of sessions being used by other IC servers, or the session limit of any particular MRCP Server.

19 Adding MRCP Servers Once you have installed an MRCP Server, you'll add it to you IC Server configuration in Interaction Administrator. To add a TTS MRCP Server: 1. On the IC server, open Interaction Administrator. 2. In the left pane of the Interaction Administrator window, expand the System Configuration container. 3. Locate and expand the MRCP Servers container. 4. Select the Servers container. 5. In the right pane, right-click and select New from the shortcut menu. 6. When you see the New MRCP Server dialog box, fill in the Name that you want to assign to your server and then select the appropriate Vendor option. a. You'll select ININ if you are defining an installation of Interaction Media Streaming Server. b. You'll select Third Party if you are defining an installation of any other MRCP server. Note: Since the key to identifying your MRCP server is the SIP address, you can use any name that you want in the New MRCP Server dialog box.

20 7. Once you click OK, the corresponding Servers Configuration dialog box appears. Keep in mind that the Servers Configuration dialog box for ININ is slightly different from the Third Party version. 8. Regardless of the Vendor type that you selected, you will fill in the SIP Address of the MRCP Server using the format: sip:user@domain:port Note: To avoid a conflict with the default ports used by other SIP endpoints, we recommend that you use port 6060 for MRCP Servers. If you use a different port, make sure that the port setting in Interaction Administrator and the port setting on the MRCP Server match. 9. If you have servers in multiple regions, you'll want to set a Location. See Assigning an MRCP Server to a Location. 10. Leave the Priority set at 1. For more information on the tabs and settings in the Servers Configuration dialog box, access the Interaction Administrator Help by clicking the? button on the top right of the dialog box.

21 Assigning an MRCP Server to a Location If you have MRCP servers in multiple regions, you can ensure the best performance as well as ensure efficient use of the available WAN bandwidth by assigning your MRCP servers to Locations. To assign an MRCP Server to a Location: 1. On the IC server, open Interaction Administrator. 2. In the left pane of the Interaction Administrator window, expand the System Configuration container. 3. Locate and expand the MRCP Servers container. 4. Select the Servers container to display your MRCP server in the right pane. 5. Double-click your MRCP server name to display the Servers Configuration dialog box. 6. Use the Location drop down menu to select and assign a location to your MRCP server. For information on creating locations, see the Create Location topic in the Interaction Administrator Help. Tip: You can quickly assign MRCP Servers to a location using the server's context menu.

22 Assigning MRCP Selection Rules to a Location If you decide that the default selection rules don't work well in your network, you can use custom selection rules and assign those rules to a location. To assign an MRCP Selection Rule to a location: 1. On the IC server, open Interaction Administrator. 2. In the left pane of the Interaction Administrator window, locate and expand the object that represents your IC server. 3. Expand the Regionalization container. 4. Select the Locations object to display your Location Names in the right pane. 5. Double-click a location to display the Locations Configuration dialog box and select the Selection Rules tab. 6. Use the MRCP Server drop down menu to choose and assign a selection rule to the location. For information on creating selection rules, see the Selection Rules topic in the Interaction Administrator Help. Note: In this image, we've shown the selection of a Custom Selection Rule; however, you can just as easily select the <Default MRCP Section Rule> if you later decide you no longer want to use a Custom Selection Rule.

23 Tip: Another way that you can assign an MRCP Server to a Location is to use the Endpoints tab in the Locations Configuration dialog box Once you choose a location and access the Locations Configuration dialog box: 1. Select the Endpoints tab. 2. Select MRCP Servers in the Endpoint type panel 3. Choose the MRCP server you want to assign to that location from the Available endpoints panel. 4. Click the arrow to move it to the Selected endpoints panel.

24 Configuring an MRCP Server for TTS To use an MRCP server for TTS you'll need to configure it in Interaction Administrator. To configure an MRCP Server for TTS: 1. On the IC server, open Interaction Administrator. 2. In the left pane of the Interaction Administrator window, expand the System Configuration container. 3. Locate and expand the MRCP Servers container. 4. Select the Servers container. 5. In the right pane, under the Servers column, double click your server. 6. When you see the Servers Configuration dialog box, you'll do one of the following depending on what Vendor you selected: a. If you chose Third Party as the vendor, just select the Text to speech check box.

25 b. If you chose ININ as the vendor, you'll find that the Retrieve from server option is selected by default. This configures the MRCP server to make its services available to the IC server. Click the adjacent button to immediately request services. Select the Use refresh interval (sec) check box if you want the IC server to continuously request services from the MRCP server. Use the spin box to set the number of seconds that should elapse between requests. Select the Use custom option if you want to manually specify the capabilities of the MRCP server, even if those features are not yet enabled or configured on the MRCP server. Enable the Text to speech check box to allow the MRCP server to convert text to synthesized speech in calls. Enable the External audio sources check box to allow the MRCP server to provide streaming audio that is injected into calls, such as Music on Hold. Enable the Voicemail check box to allow the MRCP server to insert voice mail messages into calls.

26 8. Select the Voices tab and click the Add button to display the Enter Synthesizer Voice Name dialog box. 9. Type the name of a voice in the Synthesizer Voice Name box and click OK. 10. Continue to add all the voices that are installed on the MRCP Server. 11. Configure the Gender and Supported Languages for each Voice: In the Voice box, select a voice. In the Gender box, select the gender for the voice. Under Supported Languages in the Available box, select each language to associate with the voice, and click Add. For more information on the tabs and settings in the Servers Configuration dialog box, access the Interaction Administrator Help by clicking the? button on the top right of the dialog box.

27 Testing a TTS MRCP Server installation After a third-party MRCP Server is set up and the IC server is configured to use the MRCP Server, we recommend you test the MRCP installation to make sure everything is working correctly. To test the TTS MRCP configuration: 1. Use a custom handler that has a Play String Extended toolstep. 2. To configure the toolstep to use MRCP in this play operation, access the Play String Extended properties dialog box and select the Inputs tab 3. In the Optional Parameters box, type "MRCP" as the first parameter. 4. After configuring the toolstep, test the handler and verify that the modified toolstep is working correctly. If the toolstep works as desired, the MRCP configuration has been installed and configured correctly.

28 Configuring MRCP Servers The IC platform can be configured to automatically use MRCP for all TTS plays. To configure MRCP Servers: 1. On the IC server, open Interaction Administrator. 2. Select the System Configuration container. 3. In the right pane, under the System Configuration column, double-click Configuration. 4. When you see the System Configuration dialog box, choose the Text To Speech tab, and then select MRCP from the Default TTS Provider drop down. For more information on the tabs and settings in the System Configuration dialog box, access the Interaction Administrator Help by clicking the? button on the top right of the dialog box.

29 Check Windows Event Viewer for Probation Warnings When an MRCP server is put on probation, a notification is written to the event log on the IC server. More specifically, a Warning notification with Event ID 39613 is written to the Application log. These warnings indicate that there was at least one failed attempt to use an MRCP server. If the problem that caused the probation was temporary and the MRCP server was able to begin creating resources, the MRCP server is taken off probation and a different notification is written to the event log on the IC server. In this case, an Information level notification with Event ID 39614 is written to the Application log.

30 Deactivating an MRCP Server If you discover that an MRCP server has been regularly put on probation due to a serious error condition, you should remove it from production by deactivating it in Interaction Administrator. That way you can troubleshoot the cause of the problem while ensuring that it has no impact to callers. Furthermore, any MRCP server being taken offline for scheduled maintenance should first be marked inactive. To remove an MRCP Server from production: 1. On the IC server, open Interaction Administrator. 2. In the left pane of the Interaction Administrator window, expand the System Configuration container. 3. Locate and expand the MRCP Servers container. 4. Select the Servers container. 5. In the right pane, under the Servers column, double click your server. 6. When you see the Servers Configuration dialog box, clear the Active check box, and click OK. Note: If that are any active sessions on the server at the time you deactivate it, those sessions will continue to use the server until they are complete. As such, you should wait for a period of time before performing any maintenance that requires shutting down the server.

31 Reactivating an MRCP Server To return an MRCP server to production, go back to the Servers Configuration dialog box, select the Active check box, and click OK. When you do so, the MRCP server will immediately be available to begin taking requests for MRCP resources. If the server was on probation when it was deactivated, the MRCP server is taken off probation and the probation period is reset. What this means is that if the problem causing the failure to respond reoccurs, the server will begin the probation period again from scratch regardless of how many times it had been put on probation the first time around - and the first probation will be 5 seconds.

32 Interaction Designer for TTS When a system is configured to use MRCP as its default TTS provider, the Interaction Designer Tools, in the telephony palette, will automatically use the MRCP Server for speech synthesis.

33 MRCP with SAPI A system can be configured to use SAPI by default and still be able to use MRCP. To do this: 1. On the System Configuration dialog, select SAPI from the Default TTS Provider drop down. 2. To use MRCP when SAPI is the default TTS provider, use the Extended version of the prompt tools, for example:

34 3. And in the Optional Parameters box type, "MRCP" as the first parameter. MRCP Optional Parameters Use additional MRCP parameters to control speech synthesis in a tool step. The parameters are space delimited, and if a parameter requires a value, its name/value pair is separated by a colon. For example, mrcp.audio.contenttype:application/ssml+xml The following table describes valid MRCP parameters. Parameter Description Values MRCP Controls whether MRCP should be used for TTS Note: If this parameter is specified it has to be the first parameter in the Optional Parameter box. mrcp.audio.server.name mrcp.audio.voice.name Uses the specified MRCP Server to synthesize the text to speech Uses the specified MRCP voice to synthesize the text to speech MRCP Server name as specified in Interaction Administrator MRCP voice name as specified in Interaction Administrator

35 Parameter Description Values *mrcp.audio.voice.rate SSML prosody rate of a voice The value can be an absolute float multiplier. For example 2.0 equals twice the rate, or 0.5 equals half of the rate -or- The following predefined values that indicate a relative change: x-slow slow medium fast x-fast default *mrcp.audio.voice.volume SSML prosody volume The value can be an absolute number in the range of 0 100, zero being silence and higher values being louder *mrcp.audio.language mrcp.audio.vendor *mrcp.audio.contenttype Uses a voice that supports the specified language The MRCP Server vendor to use The content type of the text being synthesized -or- One of the following predefined values that indicate a relative change: silent x-soft soft medium loud x-loud default Identifiers as specified in RFC 3066 language-country MRCP vendor as specified in Interaction Administrator text/plain (default) application/ssml+xml text/uri-list multipart/mixed *These parameters are vendor dependent and vary between TTS engines

36 FAQ 1. Do we require MRCP Servers for some functionality or are they always optional? MRCP Servers are not required. An alternative solution for TTS is to use SAPI (Microsoft Speech API) which is the default TTS provider of an CIC system. To configure SAPI voices, go to the speech applet in Control Panel in Windows. By default SAPI TTS processing is done on the IC server, but some vendors, such as Nuance RealSpeak, have SAPI implementations that support off-server installations. With some vendors, such as Loquendo, MRCP is the only solution available to be able to offload the TTS processing. 2. How many MRCP Servers per site do we need? The number of severs per site is dependent on the text-to-speech usage per site, that is TTS IVR prompts, email playback, custom rules, and so on. 3. How are MRCP ASR servers configured in Interaction Administrator? Only the MRCP synthesizer (TTS) resources are configured in Interaction Administrator. MRCP ASR servers are configured using the ASR Server MRCP controller. See the ASR Technical Reference for more details on configuring MRCP server settings for ASR.

37 Change Log The following table summarizes the updates made to the version 4.0, after product availability. Change Date Updated Copyright and Trademarks for 2012 July 23, 2012 Updated document for selecting an MRCP server based on location Updated document for 4.0 SU3 release for ASR MRCP support. Updated document for configuring MRCP Servers to use Media Streaming Server for voice mail playback. July 26, 2012 January 9, 2013 January 15, 2013 Updated Copyright and Trademarks for 2013. February 25, 2013 Updated Copyright and Trademarks for 2014. Reorganized document contents. Added information on Location and Selection Rules. Added information about Probation. Updated documentation to reflect changes required in the transition from version 4.0 SU# to CIC 2015 R1, such as updates to product version numbers, system requirements, installation procedures, references to Interactive Intelligence Product Information site URLs, and copyright and trademark information. Updated cover page to reflect new color scheme and logo. Updated copyright and trademark information. Updated references to Interaction Desktop Updated the document to reflect the CIC 2016 R1 version. Updated Copyright and Trademarks for 2016. Added link to the new CIC Documentation Library at Help.inin.com Updated instructions and screenshots for configuring MRCP for TTS. June 10, 2014 August 5, 2014 July 1, 2015 October 9, 2015 February 4, 2016 April 12, 2016