Developer's Guide
CHAPTER 13: LOGGERS VOICEXML PROGRAMMING GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL RELEASE 4.0(1)
71
Generally speaking, there are two types of application events; call-level, and application-
level.
o Call-level events extend from
ActivityEvent and are associated with a particular call.
As such, these events provide information about the call environment through the method
getLoggerAPI(). The resulting LoggerAPI object is from the Session API (See Chapter
3: Session API for more) and provides read-only access to session information such as
element and session data.
o Application-level events are associated only with an application and not a call session.
Currently, the only application-level events are the application administration event
(ApplicationAdminEvent) that reports on administration activity performed on the
application and the application administration error event
(ApplicationAdminErrorEvent) that reports any errors encountered while performing
administration activities.
The events extending ActivityEvent are all the events that can occur in a call: a new call, a
call ending, an element being entered, an element exiting, an element storing data, a flag
element being triggered, an element interacting with the caller, a hotevent being activated, a
hotlink being activated, a custom event caused by calling the addToLog method of the
Session API or entering data in an element’s configuration pane in Unified CVP VoiceXML
Studio, a warning event, an error event, and an HTTP event signifying a new HTTP request
made to the VoiceXML Server.
Error events are defined in a hierarchy to define different types of errors. This allows a
logger developer to act on certain types of errors or to do different tasks based on the error
type.
Currently, when a voice element returns interaction data, Unified CVP VoiceXML Server
sends loggers a DefaultInteractionEvent, which extends from
ElementInteractionEvent. This design will allow for different interaction content in the
future without affecting the existing class hierarchy.
void doPreLogActivity(ApplicationEvent event)
void doPostLogActivity(ApplicationEvent event)
These two methods can be optionally overridden to perform any activity desired before and after
the
log method is called. By default these methods are defined in the ApplicationLoggerBase
class to do nothing.