CCXML Elements

Although the CCXML language is fully supported, Blueworx Voice Response for Linux does not currently implement the complete set of CCXML elements. Table 1 describes the level of element implementation that is available in this release, and shows the attributes that are implemented for fully and partially implemented elements.

If an element attribute that is not implemented by Blueworx Voice Response is used within a document, the document loads successfully but the event error.unsupported is thrown if the unsupported element is executed.

Table 1. Summary of CCXML elements and attributes
Element Description Level of Implementation Implemented Attributes
<accept> Accepts and connects an incoming phone call. Full
  • connectionid
  • hints
<assign> Assigns a value to a variable. Full
  • name
  • expr
<cancel> Cancels a CCXML event timer Full
  • sendid
<ccxml> Defines the start and end of a CCXML document. Full
  • version
  • xml:base
<createcall> Makes an outbound call. Partial, following not implemented:
  • aai
  • callerid

When an attempt is made to use an unsupported feature of <createcall>, a connection.progressing event is generated.

  • connectionid
  • callerid for SIP calls
  • dest
  • hints
  • joinid
  • joindirection
  • timeout
<createconference> Creates a multi-party audio conference. Partial - reservedtalkers and reservedlisteners may be set but don't do anything
  • conferenceid
  • confname
  • reservedlisteners
  • reservedtalkers
  • hints
<createccxml> Creates a new CCXML session in a new thread. Full
  • next
  • namelist
  • fetchparam
  • parameters
  • method
  • sessionid
  • timeout
  • maxage
  • maxstale
  • enctype
<destroyconference> Tears down a multi-party audio conference. Full
  • conferenceid
  • hints
<dialogprepare> Prepares the dialog handler.

When dialog preparation completes successfully, a dialog.prepared event must be posted to the event queue of the CCXML session. If the dialog cannot be prepared for any reason, an error.dialog.notprepared event must be posted. If the dialog is terminated using <dialogterminate> while it is being prepared a dialog.exit event must be posted.

The MIME type specified by the HTTP headers must match that specified by the <dialogprepare> type attribute.

Partial

conferenceid not supported

  • connectionid
  • parameters
  • src
  • type
  • namelist
  • dialogid
  • mediadirection ='both'
  • maxage
  • maxstale
  • enctype
  • method
  • hints
<dialogstart> Runs a dialog session.

The <dialogstart> attributes must match those specified in any associated <dialogprepare>, otherwise an error.dialog.notstarted event is thrown and opening the dialog is canceled.

Partial

conferenceid not supported

<dialogterminate> Stops a dialog session. Full
  • dialogid
  • immediate
  • hints
<disconnect> Causes a near end hangup. Full
  • connectionid
  • reason
  • hints
<else> Used in <if> elements. Full  
<elseif> Used in <if> elements. Full
  • cond
<eventprocessor> Block of event processing Full
  • statevariable
<exit> Ends and returns from the CCXML session.

If no value for the expr attribute of the <exit> element is defined, the value of the expr attribute of the parent's ccxml.exit event is undefined .

Full
  • expr
  • namelist
<fetch> Preloads a CCXML, ECMAScript, or JavaScript file. Full
  • next
  • type
  • namelist
  • method
  • fetchid
  • timeout
  • maxage
  • maxstale
  • enctype
  • processed
<goto> Launches a new CCXML document in the current CCXML session.
Throws an error.semantic event if:
  • Called before a fetch completes
  • fetchid is invalid
  • The CCXML of the fetched document is invalid
Full
  • fetchid
<if> Conditional logic. Full
  • cond
<join> Connects two audio sources - see Using <join> to Bridge Calls Partial, following not implemented:
  • entertone
  • exittone
  • autoinputgain
  • autooutputgain
  • toneclamp
  • id1
  • id2
  • duplex
  • dtmfclamp
  • hints (dtmftransmitclamp)
<log> Logs to the platform debug log. Full
  • label
  • expr
<meta> A container for referencing information about a CCXML document. Full
  • name
  • content
  • http-equiv
<metadata> A container referencing in a metadata language the CCXML document information. Full None
<merge> Merges two calls together, removing BVR from the calls and instead connecting them to each other. See Using <merge> to Hand Off Calls Full
  • connectionid1
  • connectionid2
  • hints
<move> Moves an event source to another CCXML session.

On error, throws an error.move event, except for where event and source are both specified, when an error.fetch event is thrown.

Full
  • source
  • event
  • sessionid
<redirect> Redirects an incoming call to a new endpoint. None  
<reject> Rejects an incoming phone call. Full
  • connectionid
  • reason
  • hints
<script> Runs ECMA script. Full
  • src
  • fetchid
  • timeout
  • maxage
  • maxstale
  • charset
<send> Generates an event. Partial

xmlns:prefix not supported

  • target
  • targettype
  • sendid
  • delay
  • name
  • namelist
  • hints
<transition> Specifies the action to be taken when a matching event is processed. Full
  • state
  • event
  • cond
  • name
Although the name attribute is still supported, all <transition> elements are now automatically allocated an event$ ECMAScript variable that holds identity information if name is not specified.
<unjoin> Disconnects two audio sources. Full
  • id1
  • id2
  • hints (note: no supported information currently defined)
<var> Declares a variable. Full
  • name
  • expr