Getting Started with Cisco Customer Response Applications 3.0(1)
Introducing Cisco CRA 3.0

Table of Contents

Introducing Cisco CRA 3.0
Overview of Cisco CRA Version 3.0
Cisco IP Telephony Solution Components
Introducing Cisco Customer Response Applications
About the Cisco CRA Engine
About the Repository
Sample CRA Editor Scripts
New Features and Functions of Cisco CRA 3.0

Introducing Cisco CRA 3.0

This chapter describes the components of the Cisco IP telephony solution and the Cisco Customer Response Applications (CRA) family of products.

This chapter contains the following sections:

Overview of Cisco CRA Version 3.0

Cisco CRA Version 3.0 is a tightly integrated platform designed to enhance the efficiency of any contact center by simplifying business integration, easing agent administration, increasing agent flexibility, and enhancing network hosting.

These features reduce business costs and improve customer response for your contact center.

The Cisco CRA 3.0 solution combines three software packages: Cisco IP Interactive Voice Response (IP IVR), Cisco IP Integrated Contact Distribution (IP ICD), and Cisco IP Queue Manager (IP QM). This single-server integrated platform provides independence in agent location, improves agent scalability, and enhances Automatic Call Distribution (ACD) features such as skills-based routing and priority queuing.

Cisco CRA 3.0 is tightly integrated with Cisco AVVID (Architecture for Voice, Video, and Integrated Data) and Cisco CallManager and is a natural add-on to any voice deployment across IP (VoIP).

Cisco IP Telephony Solution Components

The Cisco CRA IP telephony solution system includes the following components:

  • Gateway—Connects the enterprise IP telephony network to the Public Switched Telephone Network (PSTN) and to other private telephone systems such as the Public Branch Exchange (PBX).
  • Cisco CallManager server—Provides the features required to implement IP phones and manage gateways; provides failover and redundancy service for the telephony system; and directs VoIP traffic to the Cisco CRA system.
  • Cisco IP Telephony Directory—Stores configuration information and Cisco CRA applications and scripts in a LDAP (Lightweight Directory Access Protocol) directory called the Repository.

Storing applications and scripts in an LDAP directory allows you share all Cisco CRA applications and scripts on all Cisco CRA servers in the network. The Repository keeps one (1) backup version of each script for recovery purposes.

  • CRA server—Contains the CRA Engine, which runs the following applications:
    • Cisco application scripts
    • Cisco Intelligent Contact Manager (ICM) translation-route applications
    • Cisco ICM post-route applications
    • Busy applications
    • Ring No Answer (RNA) applications
  • Cisco CRA Editor—Allows designers to create, modify, and debug Cisco CRA scripts.
  • Cisco IP ICD Agent and Supervisor Desktops—Desktop programs that allow ICD agents and supervisors to log in to the system, change agent states, and monitor status.
  • Nuance Automatic Speech Recognition (ASR) server—Dedicated server that performs real-time speech recognition.
  • Text-to-Speech (TTS) server—Dedicated server that converts text into speech and plays it back to the caller.

Figure 1-1 shows the components of the Cisco IP telephony solution.

Figure 1-1   Cisco IP Telephony Solution Components

Introducing Cisco Customer Response Applications

The Cisco CRA product family provides a variety of contact processing functionalities for your Cisco IP telephony solution.

Each Cisco CRA product uses the CRA Engine to run applications and respond to customer inquiries. The software package you choose determines which steps, components, and subsystems you receive. Each package includes the CRA Editor.

The following sections describe the Cisco CRA product family:

Cisco IP IVR

Cisco IP Interactive Voice Response (IP IVR) is a multimedia (voice, data, and web) IP-enabled solution that provides an open and feature-rich foundation for the creation and delivery of IVR applications that use Internet technology. In addition to using Cisco IP IVR to handle traditional telephony contacts, you can use it to create applications that respond to HTTP requests and send e-mail.

Cisco IP IVR automates call handling by autonomously interacting with users and processing user commands to facilitate command response features such as access to checking account information or user-directed call routers. Cisco IP IVR also performs "prompt and collect" functions to obtain user data such as passwords or account identification. Cisco IP IVR supports Open Database Connectivity (ODBC) access to Microsoft Structured Query Language (SQL) servers, and Oracle, Sybase, and IBM DB2 databases.

The Cisco IP IVR package supports the IP QM functionality to participate in Cisco IP Call Center (IPCC) solutions. In addition, you can use Cisco IP IVR to extract and parse web-based content and present the data to customers using a telephony or an HTTP interface. Cisco IP IVR also supports a real-time reporting client, a historical reporting client, and add-on features such as Automatic Speech Recognition (ASR) and Text-to-Speech (TTS).

Cisco IP ICD

Cisco IP Integrated Contact Distribution (Cisco IP ICD) is an IP-based Automated Call Distribution (ACD) system. Cisco IP ICD queues and distributes incoming calls destined for groups of Cisco CallManager users.

Cisco IP ICD includes a web-based real-time and historical reporting system that you can use to monitor system, Contact Service Queue (CSQ), and resource performance.

The Cisco IP ICD system includes the following major components:

  • Resource Manager (RM)—Monitors the ICD agent phones and allows you to organize agents according to the types of calls they can handle. This is accomplished through resource groups or skills-based partitions.
  • Contact Service Queue (CSQ)—Places incoming calls in a queue and distributes them to the appropriate set of agents when agents become available.
  • ICD Agent and Supervisor Desktops—Allows ICD agents and supervisors to log in to the system, change ICD state, and monitor status.

Cisco IP ICD is available in the following three configurations:

  • IP ICD Standard—Designed for entry-level users; includes the steps necessary for creating basic ICD applications.
  • IP ICD Enhanced—Designed for enterprise-level users; includes steps that allow for assigning call priority.
  • IP ICD Enhanced with CTI Option (available only to ICD Enhanced customers)—Designed for enterprise-level users; adds full IVR support (except for IPCC integration) including database integration, eXtensible Markup Language (XML), VoiceXML, HTML web integration, custom Java extensions, and e-notification services.

Cisco IP Queue Manager

Cisco IP Queue Manager (IP QM) is an IP-enabled Voice Response Unit (VRU) that can be used as a queue point for calls managed by Cisco IP Contact Center (IPCC). Calls can be routed to Cisco IP QM for "prompt and collect" operations while the callers are in line (in queue) waiting for an available IPCC agent.

Cisco IP Queue Manager takes advantage of Cisco IPCC, which is a high-end contact center solution capable of distributing calls to multiple sites, with powerful pre- and post-routing capabilities.

Note   IP QM is not available with Cisco CRA on the Cisco ICS 7750 system.

Cisco IPCC uses Cisco Intelligent Contact Manager (Cisco ICM) software to direct calls to other systems such as VRUs and ACD systems.

You can configure the CRA server to use IP Queue Manager and the included ICM VRU interface to work with Cisco IPCC.

The ICM VRU interface allows Cisco ICM scripts to invoke Cisco CRA Editor steps and logic from the CRA Engine. As a result, Cisco ICM can handle calls centrally and direct them to your IP telephony system based on caller- entered data, information stored in a database, or other parameters.

CRA 3.0 provides the following enhancements to CRA 2.x:

  • Replaces translation and post-route CTI port groups with translation and post-route applications, enabling the configuration of multiple CTI port groups to better provision the IP Queue Manager.
  • Supports multiple translation and post routes with different configurable service identifiers.
  • Automatically marks the call contact as handled after a CONNECT request to a valid extension is successfully processed, providing consistency with Cisco ICD.
  • Supports use of the Delay step in VRU scripts that are interruptible by Cisco ICM.
  • Supports subscripts that are interruptible by Cisco ICM.
  • Adds a Call Hold step in the Cisco CRA Editor that can be used to play back real-time Music on Hold, replacing prerecorded music prompts.

Note    You must configure Cisco CallManager Music on Hold functionality for this feature to work.

  • Now uses a consultative transfer to allow for retrieval and re-queuing of non-answered calls to agents.

About the Cisco CRA Engine

The Cisco CRA Engine enables you to run multiple applications to handle Java Telephony Application Programming Interface (JTAPI) calls or HTTP requests.

While you can deploy the Cisco CRA Engine and Cisco CallManager on the same server, deploying them on separate servers allows you to handle greater call volume.

The CRA Engine uses JTAPI to request and receive services from the Computer Telephony Interface (CTI) manager that controls Cisco CallManager clusters. The Cisco CRA Engine is implemented as a Windows service that supports multiple applications.

You can use a web browser to administer the CRA Engine and your CRA applications from any computer on the network. You can use the CRA Administration web interface to start and stop the CRA Engine, configure system parameters, monitor CRA Engine activity, and view real-time and historical reports that include total system activity and application statistics.

Depending on the Cisco CRA products you are using, the CRA server may employ as many as 11 subsystems for communicating with other services:

  • JTAPI (Java Telephony Application Programming Interface)—Manages the connection between Cisco CallManager's CTI Manager and the CRA Engine.
  • RMCM (Resource Manager-Contact Manager)—Allows Cisco IP ICD to monitor agent phones, control agent states, route and queue calls, and manage the historical reporting feature.
  • Database—Handles the connections between the CRA server and the enterprise database.
  • HTTP— Adds components to the CRA Engine that allow it to respond to HTTP requests.
  • eMail—Adds components to the CRA Engine that allow it to send e-mail messages.
  • Cisco Media—Configures Cisco Media Termination (CMT) dialog control groups, which can be used to handle simple Dual Tone Multi-Frequency (DTMF) based dialog interactions with customers.
  • ICM (Intelligent Contact Manager)—Manages the connection between the CRA server and Cisco Intelligent Contact Manager (Cisco ICM).
  • Nuance Automatic Speech Recognition (ASR)—New with CRA 3.0; allows a script to respond to voice input in addition to DTMF input from contacts received.
  • Nuance Text-To-Speech (TTS)—New with CRA 3.0; composes voice prompts generated in real time from text, such as speaking the words in the text of an e-mail message.
  • Application—Manages the applications in the CRA Engine and other features such as session management.
  • Voice Browser—Manages Voice Browser functionality.

About the Repository

The Repository is part of the Cisco IP Telephony Directory. It is used to store the scripts and configuration profiles for Cisco CRA that you create as part of the initial setup process.

The configuration profile is used to hold CRA Engine configuration information that is specific to a single CRA server.

The Repository profile is used to maintain the scripts and applications you create and configure. The Repository keeps one (1) backup version of each script for recovery purposes.

The Repository profile can be shared between multiple CRA servers, thus allowing scripts and configured applications to be maintained in a central location and updated at the same time for all servers.

The directory implementation supports directory replication on the CRA server. The installation establishes the default directory (DC Directory) on the Cisco CallManager server as the publishing directory. The CRA server maintains a replication directory that subscribes to the publishing directory. This implementation ensures that directory data is consistent across the system.

Sample CRA Editor Scripts

Cisco CRA 3.0 includes the following two kinds of sample scripts:

  • Application scripts—Built with CRA Editor steps and configured as applications using the CRA Administration web interface.
  • VRU scripts—Scripts for use with Cisco IP QM that you use CRA steps to access.

  • Note   Cisco CRA 3.0 supports only the following official Cisco scripts: aa.aef, hotel.aef, and hotelout.aef (the other bundled scripts are included only as examples). Cisco CRA 3.0 supports these scripts only when the user has purchased the Extended Services package. Any modification to these scripts will void support.

Table 1-1 describes the sample application scripts included with Cisco CRA 3.0.

Table 1-1   Sample Application Scripts Included with Cisco CRA 3.0

Script Description


Basic auto-attendant script that allows callers to connect to a destination by entering the extension number or by entering the first few characters of an associated user name; or, if ASR is enabled, the caller may simply speak the extension or the user name.

For a description of aa.aef, refer to Chapter 9, "Developing an IVR Script," in the Cisco Customer Response Applications Developer Guide.


Used for the extension mobility feature of Extended Services, allows users to log in from a remote location.

Refer to the Cisco CallManager Extended Services Administrator Guide for more information.


Used for the extension mobility feature of Extended Services, allows users to log out from a remote location.

Refer to the Cisco CallManager Extended Services Administrator Guide for more information.


Basic ICD script that establishes a simple call queue and routes callers to a group of agents as they become available.

(This file is included with Cisco IP ICD products only.)

For a description of icd.aef, refer to Chapter 4, "Using the Basic ICD Script," in the Cisco Customer Response Applications Developer Guide.


Script that uses ASR functionality to allow a caller to access information from VoiceXML-enabled web sites.

For a description of voicebrowser.aef, refer to Chapter 12, "Developing VoiceXML Applications," in the Cisco Customer Response Applications Developer Guide.


Script that allows users to place outbound calls according to instructions stored in VoiceXML files.

For a description of voicebrowser.aef, refer to Chapter 12, "Developing VoiceXML Applications," in the Cisco Customer Response Applications Developer Guide.


Script that enables Cisco CallManager users to call in by telephone, authenticate themselves, and record new announcements to replace their spoken names.

For a description of SNU.aef, refer to Chapter 3, "Designing a Basic Script," in the Cisco Customer Response Applications Developer Guide.

Table 1-2 describes the Cisco IP QM sample VRU scripts included with Cisco CRA 3.0.

Table 1-2   Sample IP QM VRU Scripts Included with Cisco CRA 3.0

Script Description


VRU script that greets a caller and plays music on hold while the caller waits for an available agent


VRU script that greets a caller, provides feedback about the estimated wait before the caller will be connected, and plays music on hold while the caller waits for an available agent


VRU script that acquires a caller account number


VRU script that uses ICM call variables to customize the Extended Get Digit String step in order to collect information from the caller and return it to the ICM script


VRU script that uses ICM call variables to fully customize the Extended Play Prompt step to play back a message to the caller


CRA script that is similar to the CVInput.aef VRU script, except that it uses ICM extended call variables to pass the information that customizes the step


CRA script that is similar to the CVOutput.aef VRU script, except that it uses ICM extended call variables to pass the information that customizes the step

New Features and Functions of Cisco CRA 3.0

This section describes the new features and enhancements provided in Cisco CRA 3.0, and includes the following topics:

Improved Administration

Cisco CRA release 3.0 includes an improved administrative interface with the same "look and feel" as Cisco CallManager Administrator. It provides a main menu that appears on all pages and includes enhancements to improve navigation.

The new CRA 3.0 interface provides improved management for prompts, scripts, and applications; it also allows for the uploading of spoken names.

Enhanced Reporting

Cisco CRA release 3.0 provides you with two types of reporting tools: real-time reporting and historical reporting.

Real-time Reporting

The Real-time Reporting interface provides detailed information on the performance of your applications. With Real-time Reporting, you can monitor the data for the following:

  • Contacts
  • Applications
  • Tasks
  • Sessions
  • Database Usage

Historical Reporting

The Historical Reporting interface provides you with detailed information on the call activities of your CRA system.

With CRA Historical Reports, you can accomplish the following tasks:

  • Access historical data
  • View, print, save, sort, and filter reports
  • Send scheduled reports to a file or printer
  • Export reports in a variety of formats, including Portable Document Format (PDF), Rich Text Format (RTF), and XML

  • Note   For more information on Historical Reporting, refer to the Cisco Customer Response Applications Historical Reports User Guide.

Nuance Automatic Speech Recognition

Cisco CRA release 3.0 includes Nuance Automatic Speech Recognition (ASR), which allows callers to select menu options by speaking words or phrases (in addition to pressing keys on a touch-tone telephone.

Nuance Text-to-Speech

Cisco CRA release 3.0 includes the Nuance Text-to-Speech (TTS) engine, which converts plain text (UNICODE) files into speech in order to prompt a user response. For example, the script designer can provide text files that the script uses TTS to convert to speech that a prompt plays back to callers.

ICD Skills-Based Agents

Cisco CRA release 3.0 no longer requires you to assign an agent to a particular group. You can route a caller with specific needs to an individual resource (an agent) with the necessary skills to handle the call. Skills-based routing bases levels of skills on an agent's knowledge of a particular subject. You can assign multiple skills to each resource.

Improved Media Usage

Cisco CRA release 3.0 can now handle two media types:

  • Cisco Media Termination (CMT)—Accepts input in the form of DTMF digits
  • Nuance Automatic Speech Recognition (ASR)—Accepts spoken input and DTMF digits

In addition, calls without media are available for applications that require neither DTMF nor spoken input, such as e911 calls and simple queueing.

Note   All CRA Editor media steps work with both media types (and calls without media), except the Voice Browser step, which works only with the ASR media type.

With CRA 3.0, you can associate a primary and secondary dialog group with a call contact. If the primary dialog channel is not available, then the system uses ports associated with the secondary dialog channel. For example, when ports in the Nuance dialog group are not available for ASR processing, the system can still accept the call using ports from Cisco Media Termination (CMT) dialog groups.

You can also configure applications without associating dialog groups.

All calls configured to use media count toward the number of licensed IVR ports. All calls configured to use Automatic Speech Recognition (ASR) also count toward the number of licensed ASR ports.

Calls without media use fewer CPU resources, which allows you to increase the capacity of the CRA system. You can put calls without media on hold, so you can still design a script to instruct the Cisco CallManager Music on Hold server to play back Music on Hold while the CRA Engine manages the call.

You can design a script to query the Get Contact Info step to check if ASR is supported for a given call. You can create conditional prompts to play different prompts (if required) based on whether or not ASR is supported.

Support for Internationalization

Cisco CRA release 3.0 includes internationalization features that allow you to tailor the CRA Engine to the requirements of different languages through a process called localization. In CRA 3.0, you can specify the script to play back prompts in different languages. The script generates these prompts based on such information as the syntax requirements, currency and date conventions, and other rules associated with each language.


Cisco CRA release 3.0 includes support for Voice eXtensible Markup Language (VoiceXML), which is designed for creating audio dialogs that feature synthesized speech, digitized audio, recognition of spoken and DTMF key input, recording of spoken input, telephony, and mixed-initiative conversations.

Cisco CRA 3.0 Voice Browser currently supports VoiceXML 1.0, as well as a subset of new VoiceXML 2.0 elements. For complete information on VoiceXML, refer to the Cisco Customer Response Applications Developer Guide. For information on how to provision the Voice Browser cache, see the Cisco Customer Response Applications Administrator Guide.


Cisco CRA release 3.0 includes support for grammars, which define all the words and/or DTMF digits that the script can match as it interacts with a caller. Grammar is defined in one of two formats: simple digit grammars and Nuance Grammar Specification Language (GSL) grammars.

For more information on grammars, refer to the Cisco Customer Response Applications Developer Guide. For information about how to install grammars, refer to the Cisco Customer Response Applications Administrator Guide.


Cisco CRA release 3.0 provides callers with audio feedback by playing .wav files as prompts. To invoke a .wav file for playback, a script developer defines a variable for a Play Prompt step with the appropriate .wav filename, or invokes the name of a specific .wav file.

For complete information on prompts, refer to the Cisco Customer Response Applications Administrator Guide.

Other Improvements

Other improvements in Cisco CRA release 3.0 include:

  • Contact types—With CRA 3.0, the key element in a script is a contact. You can create a scripts that work with call, HTTP, or e-mail contacts.
  • Enhanced steps and prompting—The Cisco CRA Editor contains a number of new and enhanced steps.
  • Enhanced variables and expressions—CRA 3.0 provides support for enhanced variables and expressions.
  • Improved script interruption—A script can now be interrupted before it executes any step. You can now configure media steps can to be interruptible by any event (in addition to the caller's ability to barge in on the prompt playback).
  • Session management—Sessions are now used to track contacts as they move through the system.
  • Improved error handling—CRA 3.0 has four ways to handle application errors:
    • Continue on Prompt Errors—In the event of a prompt error, the script can continue playing back the next prompt in the sequence.
    • Error Output Branches—Logic under error output branches can instruct the script in the event of errors.
    • On Exception Goto Step—This step can move the execution of the script to a section of the script that can handle exceptions.
    • Using Default Scripts—Default scripts can take over to gracefully end the contact in the event of an error in the primary script.
  • Conversion of existing scripts to CRA 3.0—The CRA Engine executes any script created prior to CRA 3.0 without the need to convert it. The CRA Editor automatically converts any script created prior to CRA 3.0, if needed, when you load it. (Once you have converted a script, you can no longer use it with a CRA 2.x product.)

Note    Refer to the Cisco Customer Response Applications Developer Guide for detailed descriptions of these topics.