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

Page of 156
C
HAPTER 
2:
 
Unified CVP
 
C
OMPONENTS IN 
D
ETAIL
 
 
U
SER 
G
UIDE FOR 
C
ISCO 
U
NIFIED 
CVP
 
VXML
 
S
ERVER 
 
 
 
AND 
C
ISCO 
U
NIFIED 
C
ALL 
S
TUDIO
 
 
 
 
48 
VoiceXML Insert Elements 
VoiceXML insert elements are different from other elements in that they are built almost entirely 
outside VXML Server using VoiceXML directly. One can think of an insert element as a way to 
insert custom VoiceXML content into a Unified CVP voice application without sacrificing the 
ability to interface with other elements in the call flow. While there are guidelines to follow to 
make these elements work, there are few restrictions on the VoiceXML content itself.  
There are two common reasons an insert element is used, the first being the ability to leverage 
VoiceXML content that has already been created and integrate it into a Unified CVP application 
without having to do much recoding. The second reason is in situations where the requirement is 
to write a VoiceXML-producing element that is a one-off without having to go through the effort 
of writing a configurable voice element in Java and the VFCs. This is very similar to the reasons 
for writing standard action and decision elements instead of producing a configurable element. 
Writing VoiceXML is simpler than creating a voice element from scratch since that requires 
knowledge of both VoiceXML as well as the Unified CVP Java API. 
One of the disadvantages of using insert elements is the fact that since the VoiceXML must be 
written to comply with a specific voice browser, the browser-agnostic capability of the voice 
application is lost. If the application is moved to another voice browser, all Unified CVP 
elements would automatically work, but the insert elements would have to be retested and 
tweaked to conform to the new browser’s requirements. Another disadvantage is the insert 
element’s lack of a configuration. If the desire is a reusable, configurable element, it is preferable 
to construct a voice element. 
VoiceXML insert elements are accessed via a VoiceXML 
<subdialog>
. The VoiceXML 
specification provides this tag as a way of allowing simple reusable functionality. It acts very 
much like a “function” in programming where inputs are sent to a function that performs some 
actions and returns the results. The subdialog definition itself can be located anywhere accessible 
with a URI. In this way, the Unified CVP application sees an insert element as simply another 
function to access. 
The inputs and outputs are the means by which the insert element interfaces with the rest of the 
system. Most of the important data available to Unified CVP elements are sent as input to each 
Insert element. Once the insert element is complete, the return information contains any element 
or session data to create, log entries, the exit state of the insert element, and other data to act 
upon.  
Restrictions 
The following restrictions apply to a VoiceXML insert element. An insert element conforming to 
these restrictions will be assured full integration with the Unified CVP application. These 
restrictions will be clarified later.