CCXML DTMF Support

CCXML can be configured to allow DTMF key presses to be detected in a CCXML application as well as in a VXML application. This is enabled using the connection_signal configuration option which is described here: CCXML Configuration Options

When enabled, any DTMF key pressed during a call running a CCXML application will generate a CCXML connection.signal event and will assign the key pressed to the event$.dtmf session variable. This will happen regardless of any dtmfclamp or dtmftransmitclamp settings that have been assigned on connection <join>s/conference legs that this connection has been joined to. The following example CCXML transition shows how the event could be handled:

<transition event="connection.signal">
  <log expr="'dtmf_example [' + event$.name + '] for connection ' + event$.connectionid + ', DTMF ' + event$.dtmf"/>
  <if cond="event$.dtmf === '7'">
     <log expr="'dtmf_example [' + event$.name + '] Starting dialog'"/>
     <dialogstart src="'dtmf_7_pressed.vxml'" connectionid="incomingCall"/>
  </if>
</transition>

A sample ccxml dtmf detection application is provided in /opt/blueworx/vr/sample/ccxml/dtmf_example.ccxml