CCXML - or Call Control XML - is the W3C standard markup language for controlling how phone calls are placed, answered, transferred, conferenced, and more. CCXML works hand-in-hand with VoiceXML to provide a 100% standards and XML based solution for any telephony application.
Call Control, session control for telephone calls, has traditionally required interaction with and understanding of telephony APIs which often change from one platform to another. CCXML is the “Call Control eXtensible Markup Language”. It is an XML based language that can control the setup, monitoring, and tear down of phone calls. CCXML allows the industry to leverage the strength of Web platforms and technologies to intelligently control calls on and off the telephone network. Additionally, CCXML creates a high-level industry standard for Call Control that can run over any telephony platform.
What does CCXML allow you to do?
There are a number of features that VoiceXML currently can’t supply that CCXML can:
- Support for multi-party conferencing, plus more advanced conference and audio control. Any telephone conferencing application requires such features.
- The ability to give each active line in a voice application its own dedicated VoiceXML interpreter. Currently, many VoiceXML platforms initiate a second call or “call leg” to transfer a call from an automated VoiceXML platform to another telephone user. The second leg of a transferred call on these platforms lacks a VoiceXML interpreter of its own, limiting the scope of possible applications that can occur on that second leg.
- Sophisticated multiple-call handling and control, including the ability to place outgoing calls at any time, initiated outside of the VoiceXML platform.
- Handling for richer and more asynchronous events. Advanced telephony operations involve substantial signaling, status events, and message-passing. VoiceXML does not currently have a way to integrate these asynchronous “external” events into its event-processing model.
- An ability to receive events and messages from systems outside of the CCXML or VoiceXML platform. Interaction with an outside call center platform, calls started asynchronously from the VoiceXML platform, and communication between multiple “clustered” VoiceXML or CCXML platforms all require event interaction from one platform to another.
CCXML allows developers to write advanced applications that require these features. Examples of such applications include:
- “Follow me, Find me” applications that find the person you are trying to call by dialing their cell phone, home phone, and office phone in parallel.
- Call center applications that intelligently gather information from the caller and then pass that information on to the call center agent.
The W3C Voice Browser Working Group decided to tackle Call Control and came up with a set of comprehensive requirements that address the Call Control needs of almost all voice applications. After reviewing those requirements several proposals were submitted. CCXML is the result of those proposals.
What does CCXML bring to VoiceXML?
CCXML adds robust Call Control support to VoiceXML. However CCXML could also be used with other dialog systems such as a traditional IVR (Interactive Voice Response) platforms created before VoiceXML was available.
One critical thing to understand is that CCXML is not a media/dialog language like VoiceXML. It only provides support to move calls around and connect them to dialog resources. CCXML does not provide any dialog resources on its own.
Aspect and CCXML
Aspect supports CCXML as part of Aspect Prophecy hosting and premise products. Aspect also sells an OEM C++ source code CCXML engine. Our CCXML engine has routed over 1 billion calls since its commercial introduction in 2002 and today is the most deployed CCXML engine in the world. For developers, Aspect also provides a complete CCXML reference guide and tutorials.
Other Pages You Might Find of Interest
VoiceXML IVR Platform (Prophecy)