The following sections provide a high level summary of how the VXML Connector works in runtime.


Maintaining Server Communication 

Running VXML Connector involves continuous communication between the VXML Connector Server and the Application Server of the Voice IVR (the entity that produces VXML documents). The location of the Voice IVR server is defined in the ProjectConfiguration.xml file of the VIVR VXML Connector project. 

During runtime, the VXML Connector Server requests VXML documents from the Voice IVR Application Server. The first document returned is determined by the value of the Start element in the ProjectConfiguration.xml file. VXML Connector parses this document and handles the VoiceXML elements in it (as described below). It then requests the next VXML document, according to the flow of the project.


Executing VoiceXML Elements 

VXML Connector executes VoiceXML elements based on the Voice XML specifications. The following table summarizes how different element types are handled.

Element TypeVXML Connector Behavior
Prompt Elements are accumulated until a Field or Menu element is reached.
VXML Connector calls the Voice IVR Application Server to send the next VXML document.
VXML Connector goes into Hold mode and waits for user input. During this time, the accumulated prompts are translated and the appropriate interface is displayed on the VIVR VXML Connector page. 
When the input is received, the VXML Connector Server sends the data to the Voice IVR Application Server, and requests the next VXML document according to the specification.
For an example, refer to Following Audio Prompt Mapping (below).


Following Audio Prompt Mapping

For VIVR VXML Connector pages to be displayed correctly, the audio prompts from the Voice IVR need to be mapped to appropriate visual elements. This mapping, which is done during the project development phase, is usually accomplished by translating the prompts to annotations.  Each annotation type has a specific function in the design of a Visual IVR page. 

The following figure shows an example of a Visual IVR page that involves a user selection. In the project code, each option is mapped to a value that would be expected by the Voice IVR. For instance, the Deposit option would be mapped to the value of 1. When the user clicks Deposit, the VXML Connector Server sends the value 1 to the Voice IVR, simulating the caller pressing 1 on the telephone keypad. The Voice IVR Application Server then sends the VXML document that is used when a caller presses 1