CallXML is a language based on the Extensible Markup Language (XML) that lets a company describe a phone-to-Web site application in terms of how the call would be handled at the Web site and how it would interact with the caller based on keyed-in or voice responses. CallXML is similar to other voice markup languages such as VoiceXML and Microsoft's WTE.
Basically, CallXML is used to describe the user interface of a telephone, VoIP, or multimedia application to a CallXML browser. A CallXML browser then uses that description to control and react to the call itself. According to a Voxeo, a vendor that supports CallXML, the markup language includes:
- Media action elements such as "playAudio" and "recordAudio" to describe what to be presented to the user during a call
- Call action elements such as "answer", "call" and "hangup" to describe how to control and route the call
- Logic action elements such as "assign," "clear" and "goto" to describe how to modify variables and interact with traditional server-side Web logic such as Perl, other CGI languages, PHP or ASP
- Event elements such as "onTermDigit," "onHangup" to describe how to react to things the user can do during the call, such as pressing digits or hanging up
- Block elements that logically group actions & events together, so that one set of event handling elements can be used for several sequential actions
Whereas VoiceXML, another computer telephony language, is used with voice-based applications that provide access to Web content and information, CallXML aims to make it easy for Web developers to create applications that can interact with and control any number or type of calls. VoiceXML 1.0 was created through a collaboration of AT&T, IBM, Lucent Technologies, and Motorola.