CCXML 1.0-W3C Development GuideHome  |  Frameset Home


<unjoin>  element

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


usage
<unjoin hints="(ECMAScript Expression)" id1="(ECMAScript Expression)" id2="(ECMAScript Expression)">


attributes
hintsData Type: (ECMAScript Expression)Default: Optional
The hints attribute can be used to specify information used by the platform to configure the event processor. The value of this attribute should equate to an object that contains an array property of "headers"; for instance:


<script>
  var Hints = new Object();
  Hints.headers = new Object();
  Hints.headers['x-mySipHeader'] = 'hello world';
</script>


Note that 'hints.headers' stores what headers to add to the sip request, and that only headers starting with an 'x-' prefix are sent.
id1Data Type: (ECMAScript Expression)Default: none - attribute is required
This attribute indicates the first of the call leg identifiers or conference objects that hold the ID for the audio endpoint to separate.
id2Data Type: (ECMAScript Expression)Default: none - attribute is required
The id2 attribute indicates the second of two audio endpoints to separate. if both endpoints are call legs, then the platform will inherently unbridge the two endpoints. But, if one of the endpoints is a conference, then the platform will remove the call leg from the conference.



parents
none


children
none


code samples
<1.0 unjoin -id1-id2> sample
<?xml version="1.0" encoding="UTF-8"?>

<ccxml xmlns="http://www.w3.org/2002/09/ccxml" version="1.0">

  <var name="inboundID"/>
  <var name="outboundID"/>
  <var name="initState" expr="'state1'" />


  <eventprocessor statevariable="initState">
    <transition state="state1" event="connection.alerting">
      <log expr="'***** INBOUND CONNECTION ALERTING *****'"/>
      <assign name="inboundID" expr="event$.connectionid" />
      <accept connectionid="inboundID" />
      <assign name="initState" expr="'state2'"/>
    </transition>

    <transition state="state2" event="connection.connected">
      <assign name="initState" expr="'state3'"/>
      <log expr="'***** CONNECTION.CONNECTED: INBOUND *****'"/>


    <createcall dest="'tel:4079990000'" callerid="'1112223333'" connectionid="outboundID" timeout="'30s'"/>
    <send name="'timeout'" target="session.id" delay="'20s'" targettype="'ccxml'" />

    </transition>

    <transition state="state3" event="connection.progressing">
      <log expr="'***** CONNECTION.PROGRESSING *****'"/> 
      <assign name="initState" expr="'state4'"/>
    </transition>

    <transition state="state4" event="connection.connected">
      <assign name="initState" expr="'state5'"/>
      <log expr="'***** CONNECTION.CONNECTED: INBOUND *****'"/> 
      <join id1="inboundID" id2="outboundID" duplex="'full'"/>
    </transition>

    <transition state="state5" event="conference.joined">
      <log expr="'***** CONFERENCE JOINED: INBOUND LEG TO OUTBOUND LEG *****'"/> 
    </transition>


    <transition event="send.successful">
    <unjoin id1="inboundID" id2="outboundID"/>
    <exit/>
    </transition>

    <transition event="connection.disconnected">
      <log expr="'***** CONNECTION.DISCONNECTED *****'"/> 
      <exit/>
    </transition>


    <transition event="dialog.exit">
      <log expr="'***** CALL EXITING *****'"/>
      <exit/>
    </transition>


  </eventprocessor>
</ccxml>



additional links
W3C Specification


  ANNOTATIONS: EXISTING POSTS
0 posts - click the button below to add a note to this page

login



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