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