What is ccXML?
Call Control eXtensible Markup Language (ccXML), as the name suggests, is the W3C standard markup language, that provides rich telephony call-control capabilities to an interactive speech application. It controls 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. However ccXML could also be used with other dialog systems such as a traditional IVR (Interactive Voice Response) platforms created before VoiceXML was available.

While building and deploying interactive voice recognition applications, developers are always faced with the challenge of providing advanced telephony call-control capabilities. In certain cases, we would ideally like to bridge two calls for a conferencing application, or, maybe we'd like to provide basic call routing so the caller can be connected to an appropriate customer service agent, make outbound calls, and so on.

VoiceXML, by definition, wasn't meant to provide these sophisticated, advanced call-control and telephony capabilities on its own. VoiceXML as a standard was designed primarily to be a dialog control language. ccXML provides the much-needed, sophisticated, event-based asynchronous call-control mechanism and tighter integration with the telephony platform. While VoiceXML does support basic Call Control features, these are too basic for many telephony applications.

ccXML & VoiceXML:
ccXML and VoiceXML are complementary to each other, however, they aren't dependent or restricted to each other. ccXML could be used in conjunction with other dialog servers, or even without one, if the application desires only call routing capabilities. While only some phone calls require an "automated voice interaction", but, every phone call requires Call Control. As a result, ccXML could be used and supported by everything from PBX's to the telephone switches that run the phone network itself. Many of these telephony platforms have no need or support for the things VoiceXML itself can do.

ccXML Opportunities:
There are a host of features that VoiceXML currently does not supply, those that ccXML does. Here are some of them listed briefly:
  1. Intricate multiple-call handling and control - including call queuing and the ability to initiate outbound calls at any time independent of the dialog (VoiceXML) platform.
  2. Handling of richer event-processing models - Telecom systems need to provide for continuous signaling, status events, and message-passing. VoiceXML in its current state, does not have a way to integrate these asynchronous "external" events.
  3. Multi-party conferencing + advanced audio control.
  4. The capability to bind each active line to its own dedicated VoiceXML interpreter instance, allows for optimum use of each VoiceXML instance.
  5. An ability to receive events and messages from systems outside of the ccXML or VoiceXML platform.
Application Scenarios:
  • call screening
  • personalized call centers and phone assistant
  • announcement servers
  • find-me/follow-me applications
  • intelligent routing
  • multiparty conferencing
  • call-hold & supervised transfer
  • calling card applications, to name a few


  • Want to learn more about ccXML? Then be sure to check out What is ccXML, which provides a selection of in-depth information on how the ccXML technology can help you.

    Prashant Lamba is the Director of Business Development for Phonologies (India) Pvt. Ltd. and also writes for the Indian Express. Please visit Phonologies website to learn more about Phonologies Products and Services.