Using DTMF in conferences
Conferences can use DTMF signaling to collect information from participants in the conference. Each participant in the call has an individual DTMF mode setting that controls how that participant will handle DTMF signaling.
There are three modes you can set for any participant:
-
ignore
- DTMF signaling will be ignored by this participant. Any keys pressed will still result in audible tones, but nothing will be done with them. -
forward
- DTMF signaling will be forwarded by this participant to all other participants in the conference. -
detect
- DTMF signals are returned to your backend server in a Prompt Input Event (PIE) callback which expects a "200 OK" response in return.
You can see the values of the collected signals by viewing the menuResult
property of the PIE callback request body.
The value of the menuId
property will be the conferenceId
of the conference which triggered the PIE callback.
The type
will always be "sequence" and you can see the DTMF signals collected in the value
property.
You can view which participant sent the DTMF signals by comparing the callId
of the PIE callback with the callId
of the participant.
Note:
While the DTMF signals are being collected, the participant is temporarily removed from the conference and then added back in once the PIE callback is sent.
Examples of how to use DTMF in conferences
You can set the DTMF mode of a participant in both the conferenceCallout
callout or the connectConf
SVAML action.
{
"method": "conferenceCallout",
"cli" : "+46706763763",
"conferenceCallout": {
"conferenceId" : "myconf#1",
"mohClass" : "music1",
"destination": {
"type": "number",
"endpoint": "+46706763762"
},
"conferenceDtmfOptions" :
{
"mode" : "detect",
"maxDigits" : 2,
"timoutMills" : 2500
}
}
}
{
"action": {
"name": "connectConf",
"conferenceId": "myconf#1",
"conferenceDtmfOptions": {
"mode": "detect",
"maxDigits" : 2,
"timoutMills" : 2500
}
}
}