Cisco Cisco Customer Voice Portal 8.0(1)

Page de 101
5-7
Cisco Customer Voice Portal (CVP) Release 3.0(0) Product Description
Chapter 5      CVP VoiceXML Server
CVP VoiceXML Server Elements
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 CVP 
VoiceXML Server: a Java API, and an API accessed via XML-data delivered over HTTP. 
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 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 the CVP VoiceXML Server. The advantages of this approach 
include: a larger array of 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 CVP VoiceXML Server 
and the external system. 
Voice Elements 
Most voice applications utilize a number of common dialogs with the caller, playing audio files, 
interpreting speech utterances, capturing data entered by the user, etc. To speed application development, 
CVP VoiceXML Server provides commonly found dialogs, or Voice Elements. 
CVP VoiceXML Server uses voice elements to assemble the VoiceXML it sends to the voice browser. 
Each voice element constitutes a discrete section of a call, such as making a recording, capturing a 
number, transferring a call, etc. These are then reused throughout the call flow wherever needed. 
Voice elements are built using the CVP VoiceXML Server Voice Foundation Classes (VFCs), which 
produce VoiceXML compatible with multiple voice browsers (the document MakingElements.pdf 
describes how to build custom voice elements), to produce VoiceXML. 
Voice elements are complete dialogs, because they can encompass just a single action or an entire 
interaction with the caller. Depending on its function, a voice element can contain almost as much dialog 
as a small application. However, because of the pre-built nature of voice elements, developers do not 
need to consider the complexity of its dialog. Regardless of complexity, each voice element is simply a 
“black box” which can be treated as a single object. 
For example, CVP VoiceXML Server comes with a credit card voice element, which encapsulates the 
entire process of collecting a credit card number, expiration date, and other pertinent data, handles 
verification (such as accepting only Visa and Mastercard numbers), as well as various problem scenarios. 
The complexity of the logic contained within this voice element is hidden from the developer. Therefore, 
by combining many voice elements, a complex call flow can be reduced significantly. 
Voice Element
A reusable, VoiceXML-producing dialog with a 
fixed or dynamically produced configuration.