Hotevents can only be produced through the Java API because they involve the use of the Unified CVP Voice Foundation Classes (VFCs), which are Java-only (see Voice Foundation Classes for more on the VFCs).
When a new hotevent is added to the workspace in Builder for Call Studio, the full name of a Java class must be entered in the hotevent dialog box. This class, when executed, is expected to produce the VoiceXML to run when the event is triggered. The VoiceXML generated by this class is placed in the root document automatically generated by VXML Server. Since the root document is cached by the voice browser, this class is executed only once per call, it is not called when the event is triggered and therefore does not have access to the Session API to obtain dynamic session information like the ANI, element and session data.
Following the standard design of the Java API, the hotevent class must implement a Java interface named
HoteventInterface found in the
com.audium.server.proxy package. The interface defines a single method
addEventBody that is called when the call’s root document is being generated. The method receives two VFC classes as arguments, a
VPreference object and a
VEvent object. The VoiceXML code to execute when the hotevent is triggered must be added to the
VEvent object and the
VPreference object is used to instantiate the VFC classes defining that VoiceXML. The method does not need to return anything as all
content is encapsulated within the
VEvent object passed by reference to the method.