CCXML Voxeo 1.0 Development GuideHome  |  Frameset Home

This documentation is for CCXML 1.0-Voxeo, which has been superceded by CCXML 1.0-W3C. The CCXML-Voxeo platform is not being updated any longer. The CCXML 1.0-W3C version, however, has many new features and is actively being enhanced. If you're writing a new CCXML application, you should use CCXML 1.0-W3C. Click here for the CCXML 1.0-W3C documentation.
<createconference>  element

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 (using the <join> element), subtract call legs, (using the <unjoin> element) form the conference, or bring down the conference object entirely, (using the <destroyconference> element). Note that any of the above operations will send an asynchronous event to the invoking CCXML document upon completion.


usage
<createconference id="(variable name)" voxeo-confname="(ECMAScript Expression)">


attributes
idData Type: (variable name)Default: none - attribute is required
The id attribute is an expression that grabs the unique, URI-formatted identifier for the conference. Not specifying this attribute will result in a fatal error.
voxeo-confnameData Type: (ECMAScript Expression)Default: Optional
The voxeo-confname attribute serves to allow developers an option to explicitly specify a name for the conference to create. Note that this attribute is entirely optional; the attribute can be declared with an empty value, or ignored altogether.



parents
none


children
none


code samples
<Createconference name> sample
<?xml version="1.0" encoding="UTF-8"?>
<ccxml version="1.0">

  <eventhandler statevariable="state0">
    <transition state="'init'" event="connection.CONNECTION_ALERTING" name="evt">
      <var name="line_0" expr="evt.callid"/>
      <createconference id="smallConf"/>
    </transition>
   
    <transition state="'init'" event="ccxml.conference.created">
      <assign name="state0" expr="'docalls'"/>
      <accept callid="line_0"/> 
      <createcall dest="'4078351111'" name="line_1"/>
      <createcall dest="'4078351112'" name="line_2"/>
      <createcall dest="'4078351113'" name="line_3"/>
    </transition>
 
    <transition event="connection.CONNECTION_CONNECTED" name="evt">
      <join id1="evt.callid" id2="smallConf"/>
    </transition>

    <transition event="ccxml.conference.joined" name="evt">
      <log expr="'---- call leg ' + evt.callid + ' has joined the conference ----'"/>
    </transition>
   
    <transition event="ccxml.conference.unjoined" name="evt">
      <log expr="'---- call leg ' + evt.callid + ' has unjoined the conference ----'"/>
    </transition>   

    <transition event="call.CALL_INVALID" name="evt">
      <if cond="evt.callid == line_0">       
        <destroyconference id="smallConf"/>
        <assign name="state0" expr="'conferencedestroyed'"/>
      </if>
    </transition>   
   
    <transition event="ccxml.conference.destroyed">
      <exit/>
    </transition>

    <transition state="'docalls'" event="error.*" name="evt">
      <destroyconference id="smallConf"/>
      <exit/>
    </transition>

    <transition event="error.*" name="evt">
      <log expr="'---- an error has occurred (' + evt.error + ') ----'"/>
      <exit/>
    </transition>

  </eventhandler>   
</ccxml>




additional links
W3C Specification


  ANNOTATIONS: EXISTING POSTS
Lampei
7/27/2006 12:05 AM (EDT)
Perhaps I'm overlooking something, but what if I want to create multiple conferences?  Can I do this dynamically in CCXML (without having to use some server side script to create it)?  Something like <createconference id="'my_conf_' + conference_id"> or is this what the voxeo-confname is for?  Also, how would you use the voxeo-confname for anything (can you use it when joining/unjoining)?
Thanks.
Lampei
7/28/2006 3:58 PM (EDT)
I guess I figured this one out.

The id is really just a variable name so "smallConf" would equal confid (the conference session id assigned to it by the VXML browser).  So each time a user calls the app and creates a new conference, it would create a new confid for each user.  If you want to join other users onto the conference (but they are coming from a menu rather than the app. calling the user), you have to store the confid somewhere and <join> each one onto the original confid (not "'my_conf_' + conference_id" as I originally thought)

login



© 2008 Voxeo Corporation  |  Voxeo IVR  |  VoiceXML & CCXML IVR Developer Site