Cisco Cisco Unified Customer Voice Portal 11.0(1) User Guide
C
HAPTER
2:
C
ISCO
CVP
V
OICE
XML
C
OMPONENTS IN
D
ETAIL
C
ISCO
CVP
V
OICE
XML
User Guide
<assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||audio_group$$$xyz^^^'
+application.getElapsedTime(audium_element_start_time_millisecs)"/>
+application.getElapsedTime(audium_element_start_time_millisecs)"/>
In another example, the utterance of a field named xyz is to be appended to the log. The
VoiceXML would look like
VoiceXML would look like
<assign name="audium_vxmlLog" expr="audium_vxmlLog +'|||utterance$$$'+ xyz.$utterance
+ '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)"/>
+ '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)"/>
See Chapter 5: Server Logging for more detail about CVP VoiceXML logging.
Root Document
The subdialog context written by the developer must refer to a CVP VoiceXML-generated root
document. This is essential for proper integration of the VoiceXML insert element with CVP
VoiceXML Server. The root document call must look like:
document. This is essential for proper integration of the VoiceXML insert element with CVP
VoiceXML Server. The root document call must look like:
“/CVP/Server?audium_vxml_root=true&calling_into=APP&
namelist=element_log_value|RTRN1|RTRN2|…
namelist=element_log_value|RTRN1|RTRN2|…
”
Where APP is the application name and RTRNX represent the names of all the element data,
session data, and custom log entries (delimited by ‘|’ characters) the insert element returns, using
the same naming convention described in the outputs section above.
session data, and custom log entries (delimited by ‘|’ characters) the insert element returns, using
the same naming convention described in the outputs section above.
The purpose for this requirement is related to how events are handled within the root document.
The CVP VoiceXML-generated root document catches events such as the activation of a hotlink
or a hangup, which then requires the call flow to leave the insert element. The insert element,
however, may have created element and session data or added custom content to the log. This
information is stored in VoiceXML variables that would be deleted once the subdialog context is
exited. So the root document needs to be told which VoiceXML variables to send along to CVP
VoiceXML Server when one of these events is triggered so that it can store them accordingly. In
order to avoid problems that might occur if a hotlink or hotevent was activated right after the
insert element began the variables to be returned should be declared as near the start of the
VoiceXML insert element as possible, even if they are not assigned initial values.
The CVP VoiceXML-generated root document catches events such as the activation of a hotlink
or a hangup, which then requires the call flow to leave the insert element. The insert element,
however, may have created element and session data or added custom content to the log. This
information is stored in VoiceXML variables that would be deleted once the subdialog context is
exited. So the root document needs to be told which VoiceXML variables to send along to CVP
VoiceXML Server when one of these events is triggered so that it can store them accordingly. In
order to avoid problems that might occur if a hotlink or hotevent was activated right after the
insert element began the variables to be returned should be declared as near the start of the
VoiceXML insert element as possible, even if they are not assigned initial values.
Notes:
• The ability to use a standard ampersand in the root document URL instead of escaping it (as
“&”) is voice browser dependent. Most browsers will accept the escaped version so try
that first.
that first.
• If the insert element does not need to send back any data in the
namelist
parameter, only the
element_log_value
variable need be included (the parameter should look like this:
“...
namelist=element_log_value
”).
Example
In the example below, a block is used to log the playing of the
initial_prompt
audio group.
After this action, some inputs passed to it from Server are played. Once this is done, it creates
two element variables named
two element variables named
var1
and
var2
and a session variable named
sessvar
. After this, it
©2000 - 2005 Audium Corporation. All Rights Reserved. 1/14/05
46