The W3C Voice Browser Working Group has released a first public Working Draft specification for Voice Browser Call Control: CCXML Version 1.0. The CCXML specification, based upon CCXML 1.0 submitted in April 2001, "describes markup for designed to provide telephony call control support for VoiceXML or other dialog systems. CCXML has been designed to complement and integrate with a VoiceXML system." The draft thus contains many references to VoiceXML's capabilities and limitations, together with details on how VoiceXML and CCXML can be integrated. However, the two languages are separate and are not required in an implementation of either language. For example CCXML could be integrated with a more traditional IVR system and VoiceXML could be integrated with some other call control system... Properly adding advanced telephony features to VoiceXML [through CCXML] entails adding not just a new telephone model, but new call management and event processing, as well... events from telephony networks or external networked entities are non-transactional in nature; they can occur at any time, regardless of the current state of VoiceXML interpretation. These events could demand immediate attention. We could either abandon VoiceXML's admirably simple single-threaded programming model, or delay event-servicing until the VoiceXML program explicitly asked to handle such events. Instead of making either of these bad choices, we instead move all call control functions out of VoiceXML into an accompanying CCXML program. VoiceXML can thus focus on being effective for voice dialogs, while CCXML tackles the very different problems..."
Bibliographic information: Voice Browser Call Control: CCXML Version 1.0. W3C Working Draft 21-February-2002. Edited by RJ Auburn (Voxeo). Version URL: http://www.w3.org/TR/2002/WD-ccxml-20020221. Latest version URL: http://www.w3.org/TR/ccxml.
Rationale for CCXML is provided via a list of "needed features that VoiceXML currently can't supply":
- Support for multi-party conferencing, plus more advanced conference and audio control. Any large conference application requires such features.
- Ability to give each active call leg its own dedicated VoiceXML interpreter. Currently, the second leg of a transferred call lacks a VoiceXML interpreter of its own, limiting the scope of possible applications.
- Sophisticated multiple-call handling and control, including the ability to place outgoing calls. Multiple-party conferences mean VoiceXML needs a more effective way of handling telephony resources.
- Handling for richer and more asynchronous events. Advanced telephony operations involve substantial amounts of signals, status events, and message-passing. VoiceXML does not currently have a way to integrate these asynchronous 'external' events into its event-processing model.
- Ability to receive events and messages from external computational entities. Interacting with an outside call queue, or placing calls on behalf of a document server, means the VoiceXML must be contacted by an outside party.
From the W3C Voice Browser Activity statement: "W3C is working to expand access to the Web to allow people to interact via key pads, spoken commands, listening to prerecorded speech, synthetic speech and music. This will allow any telephone to be used to access appropriately designed Web-based services, and will be a boon to people with visual impairments or needing Web access while keeping theirs hands and eyes free for other things. It will also allow effective interaction with display-based Web content in the cases where the mouse and keyboard may be missing or inconvenient. To fulfil this goal, the W3C Voice Browser working group is defining a suite of markup languages covering dialog, speech synthesis, speech recognition, call control and other aspects of interactive voice response applications. VoiceXML is a dialog markup language designed for telephony applications, where users are restricted to voice and DTMF (touch tone) input. The other specifications are being designed for use in a variety of contexts, and not just with VoiceXML. Further work is anticipated on enabling their use with other W3C markup languages such as XHTML, XForms and SMIL. This will be done in conjunction with other W3C working groups, including the proposed new Multimodal working group."
- Voice Browser Call Control: CCXML Version 1.0
- CCXML DTD [2002-02-21]
- "Call Control Requirements in a Voice Browser Framework." W3C Working Draft 13-April-2001.
- "Introduction and Overview of W3C Speech Interface Framework." W3C Working Draft 4-December-2000. "CCXML will be part of the W3C Speech Interface Framework, which includes markup languages for dialog (VoiceXML 2.0), speech grammar, speech synthesis, natural language synthesis, and pronunciation lexicon..."
- W3C Voice Browser Activity
- Mailing list archive for 'www-voice'
- W3C Multimodal Interaction Activity