CCXML 1.0 Development Guide Home  |  Frameset Home


<join>  element

The <join> element is used to connected 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.



usage
<join dtmfclamp="(true|false)" duplex="STRING" entertone="(true|false)" exittone="(true|false)" hints="(ECMAScript Expression)" id1="(ECMAScript Expression)" id2="(ECMAScript Expression)" toneclamp="(true|false)">


attributes
dtmfclamp Data Type: (true|false) Default: Optional
The dtmfclamp attribute provides a useful method to direct the conference mixer to remove any DTMF tones detected during the <join> operation. If set to 'true', then the mixer will then remove the DTMF tones. Conversely, if set to 'false', (or iof the attribute is left unspecified), then the DTMF tones will not be removed at all.
duplex Data Type: STRING Default: full
This attribute denotes whether or not the calling parties will be able to hear each other. This attribute is useful for implementing an 'eavesdropping' functionality in a  conferenced call. If 'half' is specified as a value, then Party 1 will be able to hear Party 2, but not vice versa. If specified as 'full' then both call parties will be able to hear each other normally. Note that if unspecified, then this attribute's value will default to 'full'.
entertone Data Type: (true|false) Default: Optional (true)
The entertone is used to play a tone or custom wav file to the conference participents when another caller enters. Setting this to 'true' will play the default system beep, while setting it to 'false' will result in no alerting sound being played at all. The developer may also specfy a URL value that points to a user-defined wav file to be played instead of the default system beep. Note that this URL has a limitation of 250 characters maximum. <join id1="evt.callid" id2="smallConf" entertone="'http://MyServer.com/MySound.wav'"/>
exittone Data Type: (true|false) Default: Optional (true)
The exittone is used to play a tone or custom wav file to the conference particapents when another caller exits. Setting this to 'true' will play the default system beep, while setting it to 'false' will result in no alerting sound being played at all. The developer may also specfy a URL value that points to a user-defined wav file to be played instead of the default system beep. Note that this URL has a limitation of 250 characters maximum. <join id1="evt.callid" id2="smallConf" voxeo-exittone="'http://MyServer.com/MySound.wav'"/>
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"; 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.
id1 Data Type: (ECMAScript Expression) Default: none - attribute is required
This attribute indicates the first of the call leg identifiers or conference objects to <join> together in a conference.
id2 Data Type: (ECMAScript Expression) Default: none - attribute is required
This attribute indicates the second of two call leg identifiers or conference objects to <join> together in a conference. If both audio endpoints are call legs, then the interpreter will inherently be bridged together. However, if we have a call leg attempting to connect to a conference, (or vice-versa), then the call leg will be added into the conference automatically. Note that in the Voxeo implementation, two separate conferences maynot join together.


toneclamp Data Type: (true|false) Default: Optional (true)
The toneclamp attribute defines a Boolean expression that instructs the conference mixer whether or not to remove loud single-frequency tones from the streamed audio. If set to 'true', then the mixer will remove the single-frequency tones, and if the specified value is set to 'false', then the single-frecency tones will not be removed from the audio stream.



parents
none


children
none


code samples
<1.0 join -id1-id2-duplex> 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" name="evt">
      <log expr="'*** INBOUND CONNECTION ALERTING ***'"/>
      <assign name="inboundID" expr="evt.connectionid" />
      <accept connectionid="inboundID" />
      <assign name="initState" expr="'state2'"/>
    </transition>

    <transition state="state2" event="connection.connected" name="evt">
      <assign name="initState" expr="'state3'"/>
      <log expr="'*** CONNECTION.CONNECTED: INBOUND ***'"/>
      <createcall dest="'tel:4071112222'" callerid="'tel:1112223333'" connectionid="outboundID" timeout="'30s'"/>
    </transition>

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

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

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

    <transition event="connection.disconnected">
      <log expr="'*** CONNECTION.DISCONNECTED ***'"/> 
      <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



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