Understanding Call Control XML Interpreter
Call Control XML Interpreter is an interpreter for calls that are made to a telephony system. An interpreter is developed for this purpose from IBM Alphaworks for the AIX and Websphere. This interpreter interprets the call control applications by retrieving the URIs. This is an interpreter for Websphere Voice Response. This interpreter has a lot of sample applications along with the documentation which gives the users the kick-off needed to start writing applications using the Call Control XML.
Call Control XML is an XML based standard for handling calls from any telephony system. This provides the developers to develop highly sophisticated applications which can handle the calls received by a telephony system. Call Control XML follows the Voice XML model and is an open standard. This is a non-proprietary markup language and hence can be used by anyone. Call control XML allows you to easily migrate applications developed for one system to applications for another system.
To install and use the Call Control XML Interpreter, you need to have Websphere Voice Response with AIX 5.1 and ML3 and the Voice Response Beans Environment 22.214.171.124. The Java tool that is required is IBM JVM 1.4.1. A Voice Response Node (VRNode) that is compliant with the WebSphere and JVM is also necessary. The following steps are to be followed for the installation of the CCXML Interpreter.
1. To run a Call Control XML Interpreter or a VoiceXML browser, the .jar files that have been downloaded has to be copied to the “/var/dirTalk/DTBE/server/” directory.
Multiple call handling can be done easily through the use of Call Control XML. Outgoing calls can also be placed and incoming calls can be answered with the Call Control XML. It is possible to invoke interactive voice applications through the Call Control XML. This XML handles asynchronous events easily. Call Control XML can handle a lot of signals and events related to the status of the signal. It also allows passing of messages. With its ability to handle multiple calls, multiparty conferencing can be done easily through Call Control XML.
The code given below is a sample Call Control XML file:
<?xml version="1.0" encoding="UTF-8"?>
In the above the XML declaration is the start of the document, since CCXML is basically an XML document. The code shows a variable declared and how its value is logged. The <var> tag is used to declare a variable. The <log> tag is used to log some information in the logging stream. The <exit/> tag is used to terminate all the calls and end the session. The tags are enclosed in the <ccml> and </ccml> tags.
An existing Voice XML application can be made sophisticated if Call Control XML is used along with that application. Both Voice XML and Call Control XML can work independent of each other. But using them together enables a developer to build very rich and interactive applications for any telephony system. It should be noted that a plain voice xml application cannot handle multiparty conferencing and Call control XML does not have voice capabilities and it has to rely on voice xml for voice capabilities. Making both these markup to work together will help a developer to develop very rich voice applications.
Web Servers are used to host the Call Control XML applications. These web servers may also have the Voice XML applications and other Web applications in them. The Call Control XML applications are retrieved by the CCXML interpreter by using the URIs. The Call Control XML interpreter from IBM is designed to work in IBM Websphere Voice Response system. This is an interactive voice response (IVR) system from IBM.
The CCXML interpreter from IBM implements partial CCXML specification. This interpreter handles all the incoming calls and routes them accordingly. It also invokes necessary dialogs so that the application interacts with the caller. This interaction can also be achieved using Voice XML. This interpreter allows the user to place outbound calls. This interpreter does not provide any conferencing facility at this stage. This is because the Websphere Voice Response system does not have this capability. If the conferencing capability is supported in the Websphere Voice Response system, then that feature may be extended to the CCXML interpreter to provide multiparty conferencing facility.
To be more technical, the Call Control XML interpreter is a Java thread. When an event is sent to the thread, the thread constructs a DOM tree from the CCXML document and then invokes the transitions within this document. The thread can receive events from voice response systems or other instances of the interpreter itself.
Thus CCXML is a markup language that is used for superior call control features for any telephony systems. Apart from the IBM CCXML Interpreter, there is another product known as Oktopous™ Media Server from Phonologies that also uses an CCXML Intepreter to give rich interactive experience to the callers.