Cisco Cisco Customer Voice Portal 8.0(1) User Guide

Page of 156
C
HAPTER 
1:
 
I
NTRODUCTION
 
 
U
SER 
G
UIDE FOR 
C
ISCO 
U
NIFIED 
CVP
 
VXML
 
S
ERVER 
 
 
 
AND 
C
ISCO 
U
NIFIED 
C
ALL 
S
TUDIO
 
 
 
 
15 
Subdialogs 
There are instances where an application is less independent and really encapsulates some 
function that multiple applications wish to share. This can be achieved by using a subdialog
Subdialog 
A visit to another VXML Server application or other voice application 
defined in a VoiceXML subdialog context that acts as a voice 
“service”. 
Unlike application transfers that are separate but independent applications, subdialogs are “sub-
applications” that an application can visit to handle some reusable functionality and then return 
back to the source application. It can also take as input application data (though not Java objects) 
and can also return data for use in the source application. Subdialogs also do not have the 
restriction that they be deployed on the same instance of VXML Server, they can be hosted 
anywhere accessible via a URL and does not even need to be a VXML Server application at all. 
The VXML Server subdialog is similar to the VoiceXML Insert element but without the 
requirement to understand VoiceXML. VoiceXML Insert elements are also much more 
integrated with the rest of the application to be considered an element alternative where a 
subdialog truly sends control to the subdialog application. For example, hotlinks and hotevents in 
the source application do not work in the subdialog application where they do in a VoiceXML 
Insert element. 
A situation that could utilize a subdialog would be a third party that develops a sophisticated 
voice-based authentication system that other applications can use to validate callers. That 
company exposes their service as a VoiceXML subdialog that takes specific inputs and returns 
information on the identity of the caller. Any application that wishes to use the service will then 
use the subdialog element to visit this application. 
In order to utilize a subdialog, several special elements are needed in the source and subdialog 
applications. Visiting a subdialog from a source application requires that it use a Subdialog 
Invoke
 element.  
Subdialog Invoke 
An element used by an application to initiate a visit to a subdialog. 
The Subdialog Invoke element will be treated by the application as an element but will be the 
gateway to the subdialog. This element handles the inputs and outputs of the subdialog 
application. While the subdialog application is handling the call, the source application is 
dormant waiting for the subdialog to return. The Subdialog Invoke element has a single exit state 
that is followed when the subdialog application returns. 
If a VXML Server application is to act as the subdialog, it uses two different elements: the 
Subdialog Start and the Subdialog Return elements.