Developer's Guide

CHAPTER 3: SESSION API VOICEXML PROGRAMMING GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL RELEASE 4.0(1)
12
Creating session data. This class does not allow the creation of element data because only
elements can do so (the start of call class cannot, for example).
Triggering custom logging events and warning events that are picked up by loggers.
Setting the maintainer, default audio path, application language and encoding, as well as the
call’s session timeout. At any point in the application, these settings can be changed.
Accessing the Global API to get and set application and global data (see the VoiceXML
Server User Guide for Cisco Unified Customer Voice Portal Chapter 2 in the section entitled
Variables for more on application and global data).
The following lists the API classes that are used for various components (also found in the
com.audium.server.session package). A detailed description of what each class provides is
given in the individual section for that component.
CallStartAPI. This class is sent as an argument to the start of call class.
CallEndAPI. This class is sent as an argument to the end of call class.
ElementAPI. This class is used by all standard and configurable element classes as well as
dynamic configuration classes. The following classes extend ElementAPI to provide
additional functionality required for different kinds of elements.
o ActionAPI / ActionElementData. The ActionAPI class is used by generic action element
classes and is extended by ActionElementData which is used by configurable action
element classes.
o DecisionElementData. This class is used by configurable decision element classes.
o VoiceElementData. This class is used by configurable voice element classes.
LoggerAPI. This class is sent as an argument to a logger’s execution method for handling a
logging event.
XML API
When a component uses the Java API, the Session API is accessed via an object passed to the
execution method. A similar setup exists when a component uses the XML API. The entire
contents of the Session API are made available via a set of XML documents passed to the
component in the HTTP request. Each component will receive this information whether they
need it or not, since the VoiceXML Server does not know in advance what information the
component could require. The component can choose to ignore these documents if the
information contained within is not required, or use a fast, event-based parser to extract only the
desired information from the documents.
Each component receives two POST arguments containing complete XML documents
representing the Session API. The first, named “inputs”, lists the session information
representing the state of the application up to the point when the component was reached. The
second argument, named “settings”, lists the current value for the application settings.