Summary:ASTERISK-15756: multiple values for "dtmfmode=" per trunk
Reporter:AndrewZ (andrewz)Labels:
Date Opened:2010-03-05 13:58:06.000-0600Date Closed:2011-06-07 14:01:03
Versions:Frequency of
Description:Currently it's possible to configure only a single DTMF transmission method per SIP trunk by setting "dtmfmode=" to rfc2833 or info or inband, but not to combination of them. We can also use a dialplan command SIPDtmfMode(inband|info|rfc2833) to change the method "on the fly". Both those ways are blind or static in terms of tracking the other side capabilities.
The problem appears when we're sending the calls to a service provider who is sending the calls further to the third-party gateways or other carriers for termination and those carriers/gateways are not supporting the same DTMF processing methods.

Suggested Asterisk behavior:
Multiple values per "dtmfmode=" line within the peer configuration, similar to the "allow=" for codecs, something like:

On outgoing SIP call Asterisk should advertise it's preferred (the 1st configured) method in SDP by putting there something like this:
(m): audio 11234 RTP/AVP 0 101
(a): rtpmap:101 telephone-event/8000

If it will be possible to negotiated this with the other side - then this method will be used, means we will send DTMF according to RFC2833.
If rfc2833 could not be negotiated then we will check for "application/dtmf-relay" in "Accept:" line in the response. If it's there - we will send DTMF as SIP INFO. If not - we may fallback to inband.


The right approach is already implemented within some Linksys devices.
"DTMF Tx Method" parameter may be set to "AVT+INFO" among others (AVT == RFC2833).
Comments:By: Leif Madsen (lmadsen) 2010-03-08 09:54:56.000-0600

While I agree that would be a nice feature to have, it is our current policy to not accept feature requests on the bug tracker unless there is a patch implementing the feature.

You are welcome to use the asterisk-users and/or asterisk-biz lists if you require this functionality to be created by another developer for submission to this issue. At the time you have a patch for submission, please feel free to reopen the issue as we'd love to have it!