Introduction to Cisco CVP and VoiceXML Applications

With this blog, I am starting a new series for Cisco CVP (Cisco Unified Customer Voice Portal) and related components like CVP OPS console, Cisco CVP Reporting server, VVB (Virtualized Voice Browser) , Cisco CVP Call Studio and VoiceXML applications. This blog provides high-level overview of these components and will deep dive into each separately.

Cisco CVP

Cisco CVP is a solution that provides IP bases automated customer self-service applications which can perform certain automated tasks and can reduce call volume to the agents. It can be as simple as reading out customer’s pending bill amount or as complex as onboarding a new customer for an insurance company. It can work as stand-alone Interactive Voice Response (IVR) unit or can be transparently integrated with Contact Center. Cisco CVP can leverage both touch-tone and voice commands for interaction with customer which helps to build complex applications with it.

Cisco CVP Architecture


The Voice eXtensible Markup Language (VoiceXML) is a programming language, created to simplify development of VRU systems and other voice applications. It is based on W3C’s extensible markup language (XML). Industry giants like AT&T, IBM, Lucent and Motorola established VoiceXML Forum in 1999 to develop a standard markup language to specify voice dialogs. They released VoiceXML 1.0 in March 2000. VoiceXML 2.0, which is widely used, was released in March 2004.

Why VoiceXML ?

Conventional VRU solutions are not speech enabled, and upgrading to speech recognition on traditional VRU platform is difficult. These VRU solutions are not flexible enough to provide consistent experience across phone and web contact channels.

These limitations can be overcome by implementing VoiceXML applications. VoiceXML has features to control audio output, audio input, presentation logic, call flow, telephony connections, and event handling for errors. It serves as a standard for the development of speech-driven interactive applications accessible from any phone.

Key benefits of VoiceXML

  • Portability – A VoiceXML-based VRU offers businesses a choice in application providers and allows applications to move between platforms with minimal effort.
  • Flexible application development and deployment—VoiceXML enables freedom of choice in VRU application creation and modification. Because it is similar to HTML, development of VRU applications with VoiceXML is simple and does not require specialized knowledge of proprietary telephony systems.
  • Extensive integration capability—VRU applications written in VoiceXML can integrate with and use existing business applications and data. This extends the capabilities of core business systems already in use. A VoiceXML-based VRU can integrate with any enterprise application that supports standard communication and data access protocols.
  • Reduced overall cost – The options offered by a VoiceXML based VRU reduces total cost in several key areas:
    • Speech capability is standard—The VoiceXML architecture directly supports integration with speech recognition
    • Lower hardware and maintenance costs—VoiceXML applications run on commonly available hardware and software, enabling businesses to save money by using equipment that they already own instead of purchasing special purpose hardware.
    • Affordable scaling— In a VoiceXML-based VRU model, application logic resides on a web/application server and is separate from telephony equipment.
    • Applications for every budget—Competition between VoiceXML application developers provides a variety of VRU solutions for budgets of all sizes. Businesses pay only for necessary application features.

VoiceXML Components

The primary components of the VoiceXML platform architecture are the telephone, voice browser, and application server. The voice browser, a platform that interprets VoiceXML, manages the dialog between the application and the caller by sending requests to the application server. Based on data, content, and business logic, the application server creates a VoiceXML document dynamically or uses a static VoiceXML document that it sends back to the voice browser as a response.

Cisco CVP Solution with VoiceXML

Unified CVP provides a complete solution for rapidly adopting, creating, and deploying dynamic VoiceXML 2.0 compliant applications. We need to understand the components of the system and how they work, in order to understand how to use Unified CVP to build dynamic voice applications.

Unified CVP consists of three main components:

  • Cisco Unified Call Studio
  • VXML Server
  • Unified CVP Elements
  • Call Studio – Call Studio is a platform to create voice applications. It provides a framework on which applications are built. The most important plug-in for Call Studio is Builder for Call Studio (or Builder), the component that Cisco built to provide a drag-and-drop graphical user interface (GUI) for the rapid creation of advanced voice applications.
  • VXML Server – VXML Server is a J2EE and J2SE compliant run-time engine. It provides:
    • Robust back-end integration
    • Session management
    • Dynamic applications
    • System Management
    • User Management
  • Unified CVP Elements – The Unified CVP Elements are a collection of prebuilt, fully tested building blocks to speed application development
    • Browser compatibility
    • Reusable functionality
    • Configurable content

In Unified CVP, there are five different building block types, or elements, that are used to construct any voice application: voice elements, VoiceXML insert elements, decision elements, action elements, and flag elements. VXML Server combines these elements with three additional concepts hotlinks, hotevents, and application transfers, to represent a voice application.

Cisco CVP OPS Console

CVP Operations Console (CVP OPS Console) is a web-based interface. It is used to configure other CVP components and devices in the CVP Solution. It can perform below tasks:

  • Monitor and manage the Unified CVP components and additional components that make Unified CVP a solution.
  • Manage component configurations.
  • Distribute Call Studio applications to Unified CVP VXML Servers.
  • Perform Reporting database administration.
  • Deploy licenses to the CVP devices.

Cisco CVP Reporting Server

CVP Reporting server is an optional component of CVP Solution. It provides several CVP reports like summary about call activity and operational details of various IVR (VoiceXML) applications.

The reporting service receives reporting data from the Interactive Voice Response (IVR) service, the Session Initiation Protocol (SIP) service (if used), and the VoiceXML (VXML) server and transforms and writes this data to the Informix reporting database to provide historical reporting in a call center environment. The reporting service then parses those messages, converts them into batches of applicable Structured Query Language (SQL) statements, and executes them into an SQL database via the Java Database Connectivity (JDBC) API.

You can integrate Cisco CVP Reporting with Cisco CUIC reporting for user friendly access to supervisors and operations managers.

Cisco Virtualized Voice Browser (VVB)

Cisco Virtualized Voice Browser (VVB) is designed to provide concurrent multimedia communication
processing. It can take user input either in touch-tone or voice commands.

The Cisco VVB provides following features:

  • Facilitates self-service options such as access to check account information or user-directed call routing, by processing user commands through touchtone input or speech-recognition technologies
  • Allows customers to retrieve the required information through voice commands without interacting with an agent, to navigate to the correct department, or to get help from an agent
  • Provides multilingual support for Cisco VVB server prompts, for automated speech recognition (ASR) and text-to-speech (TTS) capabilities
  • Provides more comprehensive and effective customer service by efficiently handling call traffic with self-service or fast transfer to the correct agent the first time.

We will look at each of these components in more details. If you would like to read /know about something specific with CVP, do drop in a comment.