Cisco Cisco Customer Voice Portal 8.0(1) Release Note

Page of 113
C
HAPTER 
9:
 
C
ONFIGURABLE 
E
LEMENTS
 
 
P
ROGRAMMING 
G
UIDE FOR 
C
ISCO 
U
NIFIED 
CVP
 
VXML
 
S
ERVER 
 
 
 
AND 
C
ISCO 
U
NIFIED 
C
ALL 
S
TUDIO 
R
ELEASE 
7.0(1) 
 
 
 
 
47 
Chapter 9:  Configurable Elements 
The large array of Unified CVP Elements bundled with Unified CVP software encapsulate a lot 
of functionality a typical voice application requires. There are, however, situations where more 
customized, proprietary, or robust elements are desired. This is certainly the case with action and 
decision elements, which tend to be highly specialized for interfacing with proprietary backend 
systems or implementing custom business logic. To a lesser extent this applies for voice 
elements as well. Unified CVP has tried to provide pre-built voice elements that cover most of 
what a typical voice application requires. There is always the option of using VoiceXML insert 
elements to handle a situation that there are no voice elements to manage. The disadvantages of 
VoiceXML insert elements, however, are in their inconsistencies across various voice browsers, 
the size they can be before management becomes burdensome, the difficulty of interacting with 
backend systems, and their overall performance. Custom voice elements are the best way to 
achieve these goals as they are fast, use the Unified CVP Voice Foundation Classes (VFCs) that 
work consistently across multiple voice browsers, and are built with Java, so complex 
calculations and integrations are simple.  
Unified CVP software was designed to be modular without compromising integration. Custom 
elements are integrated into both VXML Server and Call Studio as easily as Unified CVP 
Elements are. They can be deployed for a specific application or shared across all applications 
and are configured in the Call Studio alongside Unified CVP Elements, including supporting 
dynamic configurations. With such seamless integration and effortless deployment, a developer 
can, over time, create entire libraries of custom elements to use for their voice applications or 
potentially for resale.  
Due to the requirements to integrate with both Call Studio and VXML Server, configurable 
elements can only be constructed using the Java API. This is not to be confused with standard 
action and decision elements, both of which can be constructed using both Java and XML APIs. 
It is the configuration of a configurable element that places demands that can only be met by the 
Java API. Building standard action and decision elements are fully explained in Chapter 7:  
Standard Action Elements and Chapter 8:  Standard Decision Elements. 
This chapter describes in detail how to create custom voice, action, and decision elements and 
integrate them into both Call Studio and VXML Server. 
Design 
Configurable elements are built by extending an abstract Java class. This base class lays out the 
methods used to identify the element’s configuration, how it is executed, and any utility methods 
available to it. The developer simply implements the appropriate methods and uses the Java API 
provided to build the element. Within the execution method, the developer is then free to use 
Java in any way possible, such as creating a complex class hierarchy, accessing files or backend 
systems, utilizing third party libraries, even communicating with external systems via HTTP or