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

Page of 107
C
HAPTER 
2:
 
V
OICE
XML
 
S
ERVER 
C
OMPONENTS IN 
D
ETAIL
 
 
V
OICE
XML
 
S
ERVER 
U
SER 
G
UIDE 
 
 
 
FOR 
C
ISCO 
U
NIFIED 
C
USTOMER 
V
OICE 
P
ORTAL 
R
ELEASE 
4.0(1) 
 
 
 
 
 
35
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. 
    The insert element cannot define its own root document, a root document generated by  
Unified CVP VoiceXML Server must be used. 
    The variables to return to VoiceXML Server, including the exit state, must conform to a strict 
naming convention. 
    When using the <return> tag, Unified CVP-specified arguments must be returned along with 
the custom variables.