Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The <accept> element is used to explicitly accept and connect an incoming phone call.

Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The <assign> element updates a local variable, (originally instantiated using the <var> element), with a new ECMAScript value.
Not Enabled

The <authenticate> element is used to determine whether the Voxeo CCXML platform is to trust the webserver serving up the CCXML document itself. The attributes of this element contain the login credentials needed to be validated by the hosting platform. At this time, the requirement of having an <authenticate> tag within the CCXML document is not required, but this may change in the future.

Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The <ccxml> element is the parent tag of any CCXML document, which encloses the entire contents of the document. Any child elements are executed in document order before the target <eventhandler> elements are reached in the document initialization.

Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The <createcall> element is used for initiating a bridged transfer to the single outbound destination specified in the dest attribute. The tag is a 'fire and forget' element, meaning that the CCXML document is free to perform other tasks while the call is performed.  When the call attempt has been completed, either sucessfully or unsucessfully, an asynchronous event is sent back to the document, which can be caught via the <transition> element, thus allowing the developer to conference the call, or initiate a VXML dialog with the called party, etc.

Note: This tutorial requires the use of outbound dialing priveleges, which must be provisioned by voxeo support. If you have not contacted us to get these permissions, click here to learn how you can get hooked up with this feature.


Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The <createccxml> element is used to spawn another thread of control, which begins execution with the document identified by this element. This thread of control provides independent execution and an entirely separate variable space for the CCXML documents that it executes. Such independent threads are associated with one or more event endpoints; such endpoints are the only things capable of sending events to these independent threads of execution.Note that the new thread of execution has an entirely separate address space and lifetime.

Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The <createconference> element is used to create a conferencing object, which is then used to create multi-party conferences.

Once this has been created, the CCXML document can then add call legs, by using the <join> element, subtract call legs, by using the <unjoin> element from the conference, or end the conference object entirely, by using the <destroyconference> element. Any of these operations will send an asynchronous event to the invoking CCXML document upon completion.

Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The <destroyconferenece> element is used to tear down a conference object that was instatiated using the <createconference> element. Upon completion of this operation, an asynchronous event will be sent to the CCXML document notifying the application that the conference has indeed been destroyed.

Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The <dialogstart> element is used to launch a VXML dialog and associate it with a specific call leg. Said dialog executes on an entirely separate thread of execution from the invoking CCXML document, leaving the CCXML script in control to handle incoming events.

Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




When any VXML dialog has completed, best practices dictate that it should be 'torn down', (or, more properly, 'destroyed'). This is accomplished by using the <dialogterminate> element. When this tag is encountered and executed, a 'dialog.exit' event is returned to the CCXML layer of the application.
The <disconnect> element is used to disconnect a specific call leg. When encountered, the <disconnect> element will send the  'connection.CONNECTION_DISCONNECTED' asynchronous event  to the CCXML document when the operation has completed.

Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The else element is used as the final logic constructor in an array of conditional statements. The content nested within the else element will get executed when all other if and elseif  cond attributes evaluate to ‘false’.

Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The elseif element is used to specify additional content when all other else or if  statements equate to ‘false’.  When a series of if-elseif-else statements are encountered, the application will execute the first one which evaluates to ‘true’.
The <eventhandler> element is the main parent element for the <transition> tag. Both of these in conjunction serve as the main event handling elements, (or state machine) of a CCXML document. Events received can be in response to a previous programmatic CCXML action, or they may be generated by an external source, (such as when an incoming call is received and needs to be answered). Additionally, user-defined events can be thrown via the <send> element.

Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The <exit> element is used to stop execution of a CCXML program and it's thread of control. Any and all pending events are discarded, and application termination begins immediately.

Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The <fetch> element, used in conjunction with the <goto> element, is used to transfer execution to a separate CCXML document. The <fetch> element allows for a pre-emptive fetch and parse of the target document to ensure that it is well-formed and can execute before the <goto> ever executes.

Execution returns from this element immediately, and the CCXML interpreter is free to continue while the execution context parses and prepares the target document for execution.

If the target is fetchable, and parseable, an event fetch.done is sent, and the <goto> will execute normally. However, if there is a problem with the target page, the error.fetch event is thrown to the invoking document. While a <fetch> element does not have to be used in a specific transition event, such as connected.connected, using a <fetch> with an error.* event handler could result in an error.fetch event and an infinite loop within the document.

Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The <goto> element, used in conjunction with the <fetch> element, is used to transfer execution to a separate CCXML document. The <fetch> element allows for a pre-emptive fetch and parse of the target document to ensure that it is well formed and can execute before the <goto> ever executes.

Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The <if> element, (in conjunction with the <else/elseif> elements), provides a method to utilize conditional logic expressions which allow the developer to change the control flow within the application based on variable values, or events.

Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The <join> element is used to connect the audio of two "endpoints" in a CCXML script.  These endpoints can either be a conference object previously created with <createconference>, or a normal call leg object.

Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The log element allows the developer to output debug messages to the Voxeo Logger. Generous use of log statements placed within code can greatly assist when tracking variable values, and errors that occur in the application.

Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The <move> tag is used to add an event endpoint to an executing CCXML thread of control.  When an endpoint is added to a thread of control, events originating from that endpoint will be delivered to that thread's currently executing CCXML document.

The source or event attribute must be specified when using the moveelement, but not both, otherwise an error.fetch event is thrown.
The <redirect> tag will redirect an incoming phone call to the specified destination telephony address URL.  This URL can be a VOIP endpoint, another phone number, etc. Note that this element is unsupported at this time.

Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The <reject> tag is an element used for call authentication, in most cases. When encountered the CCXML document will reject an incoming phone call.  Rejected phone calls will go unanswered and may return a fast busy to the caller.
Not Enabled, (see below)
A <script> element may occur in a <ccxml> element and in executable content. <transition> elements and <if> elements contain executable content.

Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The <send> element allows a developer to direct user-defined events to the CCXML document. Note that all user-defined events must be prefixed by 'user.', for instance:

  <send name="'MyName'" event="user.MyEvent" target=" 'SomePage.xml' "/>


Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The <transition> element is used to catch incoming asynchronous events. The first <transition> element encountered in the document order that matches up with a specific event will be the first one executed by the CCXML interpreter.

Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The <unjoin> element is used to disconnect two audio endpoints which were previously connected with the <join> element.

Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The <var> element is used to explicitly declare CCXML variables. All expressions must be valid ECMAScript expressions, assignable to variables with valid ECMAScript names.

Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The 'sendemail' tag is a new extension element to Voxeo's arsenal of CCXML coolness. This tag allows you to programmatically send an email to a user specified destination. Additionally, this new element also allows you to output debugging information in the body of the email, which is a very useful 'watchdog' feature that allows you to be alerted via email whenever errors are encountered within the application.

Note: To use Voxeo-specific elements or attributes, the xmlns:voxeo attribute must be declared and mapped to the proper voxeo namespace. For example:

<ccxml version="1.0" xmlns:voxeo="http://community.voxeo.com/xmlns/ccxml">

Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The <accept> element is used to explicitly accept and connect an incoming phone call.

Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The <assign> element updates a local variable, (originally instantiated using the <var> element), with a new ECMAScript value.
Not Enabled

The <authenticate> element is used to determine whether the Voxeo CCXML platform is to trust the webserver serving up the CCXML document itself. The attributes of this element contain the login credentials needed to be validated by the hosting platform. At this time, the requirement of having an <authenticate> tag within the CCXML document is not required, but this may change in the future.

Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The <ccxml> element is the parent tag of any CCXML document, which encloses the entire contents of the document. Any child elements are executed in document order before the target <eventhandler> elements are reached in the document initialization.

Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The <createcall> element is used for initiating a bridged transfer to the single outbound destination specified in the dest attribute. The tag is a 'fire and forget' element, meaning that the CCXML document is free to perform other tasks while the call is performed.  When the call attempt has been completed, either sucessfully or unsucessfully, an asynchronous event is sent back to the document, which can be caught via the <transition> element, thus allowing the developer to conference the call, or initiate a VXML dialog with the called party, etc.

Note: This tutorial requires the use of outbound dialing priveleges, which must be provisioned by voxeo support. If you have not contacted us to get these permissions, click here to learn how you can get hooked up with this feature.


Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The <createccxml> element is used to spawn another thread of control, which begins execution with the document identified by this element. This thread of control provides independent execution and an entirely separate variable space for the CCXML documents that it executes. Such independent threads are associated with one or more event endpoints; such endpoints are the only things capable of sending events to these independent threads of execution.Note that the new thread of execution has an entirely separate address space and lifetime.

Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The <createconference> element is used to create a conferencing object, which is then used to create multi-party conferences.

Once this has been created, the CCXML document can then add call legs, by using the <join> element, subtract call legs, by using the <unjoin> element from the conference, or end the conference object entirely, by using the <destroyconference> element. Any of these operations will send an asynchronous event to the invoking CCXML document upon completion.

Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The <destroyconferenece> element is used to tear down a conference object that was instatiated using the <createconference> element. Upon completion of this operation, an asynchronous event will be sent to the CCXML document notifying the application that the conference has indeed been destroyed.

Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The <dialogstart> element is used to launch a VXML dialog and associate it with a specific call leg. Said dialog executes on an entirely separate thread of execution from the invoking CCXML document, leaving the CCXML script in control to handle incoming events.

Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




When any VXML dialog has completed, best practices dictate that it should be 'torn down', (or, more properly, 'destroyed'). This is accomplished by using the <dialogterminate> element. When this tag is encountered and executed, a 'dialog.exit' event is returned to the CCXML layer of the application.
The <disconnect> element is used to disconnect a specific call leg. When encountered, the <disconnect> element will send the  'connection.CONNECTION_DISCONNECTED' asynchronous event  to the CCXML document when the operation has completed.

Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The else element is used as the final logic constructor in an array of conditional statements. The content nested within the else element will get executed when all other if and elseif  cond attributes evaluate to ‘false’.

Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The elseif element is used to specify additional content when all other else or if  statements equate to ‘false’.  When a series of if-elseif-else statements are encountered, the application will execute the first one which evaluates to ‘true’.
The <eventhandler> element is the main parent element for the <transition> tag. Both of these in conjunction serve as the main event handling elements, (or state machine) of a CCXML document. Events received can be in response to a previous programmatic CCXML action, or they may be generated by an external source, (such as when an incoming call is received and needs to be answered). Additionally, user-defined events can be thrown via the <send> element.

Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The <exit> element is used to stop execution of a CCXML program and it's thread of control. Any and all pending events are discarded, and application termination begins immediately.

Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The <fetch> element, used in conjunction with the <goto> element, is used to transfer execution to a separate CCXML document. The <fetch> element allows for a pre-emptive fetch and parse of the target document to ensure that it is well-formed and can execute before the <goto> ever executes.

Execution returns from this element immediately, and the CCXML interpreter is free to continue while the execution context parses and prepares the target document for execution.

If the target is fetchable, and parseable, an event fetch.done is sent, and the <goto> will execute normally. However, if there is a problem with the target page, the error.fetch event is thrown to the invoking document. While a <fetch> element does not have to be used in a specific transition event, such as connected.connected, using a <fetch> with an error.* event handler could result in an error.fetch event and an infinite loop within the document.

Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The <goto> element, used in conjunction with the <fetch> element, is used to transfer execution to a separate CCXML document. The <fetch> element allows for a pre-emptive fetch and parse of the target document to ensure that it is well formed and can execute before the <goto> ever executes.

Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The <if> element, (in conjunction with the <else/elseif> elements), provides a method to utilize conditional logic expressions which allow the developer to change the control flow within the application based on variable values, or events.

Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The <join> element is used to connect the audio of two "endpoints" in a CCXML script.  These endpoints can either be a conference object previously created with <createconference>, or a normal call leg object.

Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The log element allows the developer to output debug messages to the Voxeo Logger. Generous use of log statements placed within code can greatly assist when tracking variable values, and errors that occur in the application.

Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The <move> tag is used to add an event endpoint to an executing CCXML thread of control.  When an endpoint is added to a thread of control, events originating from that endpoint will be delivered to that thread's currently executing CCXML document.

The source or event attribute must be specified when using the moveelement, but not both, otherwise an error.fetch event is thrown.
The <redirect> tag will redirect an incoming phone call to the specified destination telephony address URL.  This URL can be a VOIP endpoint, another phone number, etc. Note that this element is unsupported at this time.

Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The <reject> tag is an element used for call authentication, in most cases. When encountered the CCXML document will reject an incoming phone call.  Rejected phone calls will go unanswered and may return a fast busy to the caller.
Not Enabled, (see below)
A <script> element may occur in a <ccxml> element and in executable content. <transition> elements and <if> elements contain executable content.

Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The <send> element allows a developer to direct user-defined events to the CCXML document. Note that all user-defined events must be prefixed by 'user.', for instance:

  <send name="'MyName'" event="user.MyEvent" target=" 'SomePage.xml' "/>


Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The <transition> element is used to catch incoming asynchronous events. The first <transition> element encountered in the document order that matches up with a specific event will be the first one executed by the CCXML interpreter.

Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The <unjoin> element is used to disconnect two audio endpoints which were previously connected with the <join> element.

Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The <var> element is used to explicitly declare CCXML variables. All expressions must be valid ECMAScript expressions, assignable to variables with valid ECMAScript names.

Note: This documentation site is no longer updated!!

For the most current CCXML documentation, please go to:

Voxeo CCXML Documentation




The 'sendemail' tag is a new extension element to Voxeo's arsenal of CCXML coolness. This tag allows you to programmatically send an email to a user specified destination. Additionally, this new element also allows you to output debugging information in the body of the email, which is a very useful 'watchdog' feature that allows you to be alerted via email whenever errors are encountered within the application.

Note: To use Voxeo-specific elements or attributes, the xmlns:voxeo attribute must be declared and mapped to the proper voxeo namespace. For example:

<ccxml version="1.0" xmlns:voxeo="http://community.voxeo.com/xmlns/ccxml">