CCXML Outbound Calling

Blueworx Voice Response supports outbound calling through the use of the CCXML createcall element (CCXML Elements). Control over whether individual BVR servers in an environment allow an outbound call is performed through the use of the capabilities parameter in the BVR configuration, specifically by adding in the ccxml capability. See here for more details: General Configuration Options

There is a default outbound application defined in BRM. To use any call features (ASR, TTS, etc.) on the outbound call the default outbound application should be edited to attach the required call features: BAM Command Line Utility Outbound Application Panel.

If the outbound application definition is removed and an outbound call attempted the following error will be reported:

How to create, remove or update an outbound application definition is described in BAM Command Line Utility Outbound Application Panel.

It is possible to specify a proxy group when making an outbound call by including a "proxy_group" hint with a value of the name of the proxy group when using createcall.

An example of the use of the "proxy_group" hint is shown in the following code snippet:

<var name="hints" expr="new Object()"/>

<assign name="hints.proxy_group" expr="'my_proxy_group'"/>

<createcall dest="destination" hints="hints"/>

Proxy groups are described in BAM Command Line Utility SIP Configuration

Automatic joins on <createcall>s

The CCXML specification defines the joinid and joindirection properties on createcalls to automatically join the call to another entity (connection, dialog or conference) once the call has been answered. Additionally BVR accepts other join attributes via the hints of the <createcall>

This includes dtmfclamp, dtmftransmitclamp and toneclamp. Other <join> attributes will also be passed on, but BVR does not use them.

	<transition event="ccxml.loaded">
		<var name="hints" expr="new Object()"/>
		<assign name="hints.dtmfclamp" expr="false"/>
		<assign name="hints.dtmftransmitclamp" expr="false"/>
		<assign name="hints.toneclamp" expr="true"/>
		<createcall dest="destination" hints="hints"/>

For more information on how to use <join> and conferences see CCXML Conference Support

Setting the caller id or SIP From header with <createcall>s

The createcall callerid attribute can be used to set the user part of the SIP From header.

The createcall hints attribute can be used to set the SIP From header. If supplied this must be a fully formed SIP header, for example sip:user@mymachine.

    <var name="hints" expr="new Object()"/>
    <assign name="hints.from" expr="sip:user@mymachine"/>
    <createcall dest="destination" hints="hints"/>
The callerid and hints.from interact with the SIP From header with the following precedence
  1. From header in custom headers in SIP proxy
  2. Caller id in SIP proxy
  3. createcall hints.from
  4. createcall callerid
  5. Configuration caller id
  6. "bvr" if none of the above are used