для Cisco Cisco Unified Customer Voice Portal 10.5(1)
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
fixed or dynamically produced configuration.