CCXML 1.0-W3C Development Guide Home  |  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

hints Data 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" as shown in the following example:

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

Note: The hints.headers stores what headers to add to the sip request, and that only headers starting with an 'x-' prefix are sent.
id1 Data 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.
id2 Data 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



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