Cisco Cisco Unified Customer Voice Portal 11.0(1) User Guide

Page of 83
C
HAPTER 
1:
 
I
NTRODUCTION
 
 
C
ISCO 
CVP
 
V
OICE
XML 
 
 
User Guide 
 
Exit States 
Each element in an application's call flow can be considered a “black box” that accepts an input 
and performs an action. There may be multiple results to the actions taken by the element. In 
order to retain the modularity of the system, the consequences of these results are external to the 
element. Like a flowchart, each action result is linked to another element by the application 
designer.  The results are called exit states. Each element must have at least one exit state and 
frequently has many. The use of multiple exit states creates a “branched” call flow. 
Customizability 
Most elements require some manner of customization to perform specific tasks in a complex 
voice application. Customization is accomplished through three different mechanisms supported 
by Cisco CVP VoiceXML: a fixed configuration for the element, a Java API to dynamically 
configure pre-built elements or to define new ones, and an API accessed via XML-data delivered 
over http to do the same.  
•  The 
fixed configuration
 approach provides a static file containing the element configuration 
so that each time the element is visited in the call flow it acts the same. Even in dynamic 
voice applications, not every component need be dynamic; many parts actually do not need 
to change. 
•  The 
Java API
 approach is used for dynamic customization and is a high performance solution 
because all actions are run by compiled Java code. The one drawback to this approach is that 
it requires developers to have at least some Java knowledge, though the Java required for 
interfacing with the API is basic.  
•  The 
XML-over-HTTP
 (or XML API for short) approach affords developers the ability to utilize 
any programming language for the customization of elements.  The only requirement is the 
use of a system that can return XML based on an HTTP request made by CVP VoiceXML 
Server. The advantages of this approach include: a larger array of programming language 
choices, the ability to physically isolate business logic and data from the voice presentation 
layer and the use of XML, which is commonly used and easy to learn. The main 
disadvantage of this approach is the potential for HTTP connection problems, such as slow or 
lost connections. Additionally, the performance of this approach does not typically perform 
as well as compiled Java because XML must be parsed at runtime in both the Server and the 
external system. 
Voice Elements 
Almost all voice applications must utilize a number of dialogs with the caller, playing audio 
files, interpreting speech utterances, capturing data entered by the user, etc. The more these 
dialogs can be contained in discrete components, the more they can be reused in a single 
application or across multiple applications. These dialog components are encapsulated in voice 
elements
 
 
©2000 - 2005 Audium Corporation.  All Rights Reserved.  1/14/05
 
17