Cisco Cisco Unified Customer Voice Portal 11.0(1) Developer's Guide

Page of 98
C
HAPTER 
5:
 
C
ALL 
E
ND 
A
CTION
 
 
V
OICE
XML
 
P
ROGRAMMING 
G
UIDE 
 
 
 
FOR 
C
ISCO 
U
NIFIED 
C
USTOMER 
V
OICE 
P
ORTAL 
R
ELEASE 
4.0(1) 
 
 
 
 
23
 
A unique feature of the call end action is to optionally send back a final VoiceXML page to the 
voice browser. Some voice browsers will actually interpret a VoiceXML page sent back in 
response to a request triggered by a disconnect or hang-up event. Since the caller is no longer 
interacting with the IVR, this page would obviously only be useful for limited functionality that 
had nothing to do with interacting with the caller, such as executing 
<log>
 tags. Note that this 
final page applies only to when the caller hangs up on the application or the application hangs up 
on the caller. 
Using the Java API 
The end of call action is built in Java by implementing the Unified CVP class
 
EndCallInterface
 found in the 
com.audium.server.proxy
 package. It contains a single 
method named 
onEndCall
 that is the execution method for the call end class. This method 
receives a single argument, an instance of 
CallEndAPI.
 This class belongs to the Session API 
and is used to access session information such as session data (See Chapter 3: Session API for 
more on this API). The method does not have a return value. It is expected that should an 
unrecoverable error occur, the call end action will throw an 
AudiumException
If the call end action is to return a final VoiceXML page to the voice browser, this is done by 
using the Voice Foundation Classes (VFCs) (See 0 The Voice Foundation Classes for more on 
the VFCs) and accessing methods in the 
CallEndAPI
 Session API class. 
Using the XML API 
As described in Chapter 3: Session API, the standard “inputs” and “settings” XML documents 
are sent via POST to the call start URI. Figure 5-1 shows the DTD diagram of the XML 
document that must be sent in response. The DTD for the end of call action response is defined 
in the file 
CallEndResponse.dtd 
found in the VoiceXML Server 
dtds
 folder. 
 
Figure 5-1