CCXML 1.0-W3C Development Guide Home  |  Frameset Home


<join>  element


The <join> element is used to connect 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)" voxeo-termdigits="CDATA">


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 parties in the conference will be able to hear the joining party. This attribute is useful for implementing an 'eavesdropping' functionality in a conferenced call. If 'half' is specified as the value, then the joined party will not be able to be heard by the rest of the parties in the conference. If set to 'full' then all parties will be able to hear the joined party. If not specified, this attribute defaults 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.
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.
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 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.
voxeo-termdigits Data Type: CDATA Default: Optional
The voxeo-termdigits attribute extension has been added to allow a user a method of disconnecting from a conference without hanging up the call. The value of this attribute specifies which DTMF key will disconnect the caller and return to the CCXML application:

<join sessionid1="evt.callid" sessionid2="smallConf" voxeo-termdigits="'2'"/>


Note that specifying a value of '@' will allow any dtmf key to be pressed to exit from the conference.




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">
      <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:4071112222'" callerid="'1112223333'" connectionid="outboundID" timeout="'30s'"/>
    </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="connection.disconnected">
      <log expr="'*** CONNECTION.DISCONNECTED ***'"/> 
      <exit/>
    </transition>
  </eventprocessor>
</ccxml>



additional links

W3C Specification


  ANNOTATIONS: EXISTING POSTS
romilly1
2/10/2010 5:00 PM (EST)
Typo in sentence "The <join> element is used to connected the audio of two "endpoints" in a CCXML script". The word 'connected' should be 'connect' :-)
VoxeoDante
2/10/2010 5:09 PM (EST)
Hello,

Thanks for pointing that one out for us.  I will have that fixed in the next version of the documentation that we send out.

Regards,
Dante Vitulano
Customer Support Engineer II
Voxeo Corporation
indana_vamsi
1/3/2012 3:01 AM (EST)
how to play custom wav file for exit tone
VoxeoDante
1/3/2012 8:50 AM (EST)
Hello


If you want to play a custom wav file for the enter or exit tone, you simply need to specify the URI for that file in the attribute as follows;

<join id1="confid" id2="caller1id" entertone="'conf-in.wav'" exittone="'conf-out.wav'"/>

Note that you will need to be on Prophecy 11 or higher for this to work.

Please let us know if there are any questions.

Regards,
Danté Vitulano
Hosted Solutions Engineer

[url=http://www.voxeo.com/university/home.jsp]
[img=http://www.voxeo.com/images/logos/VoxeoUnivLogo.png/]
[/url]
[b][color=blue]Interested in Training? Visit the Voxeo University Page to Learn More![/color][/b]


login



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