DTMF problems

From Kolmisoft Wiki
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

DTMF digits are skipped

DTMF is handled by Asterisk. If some digits are missing or duplicated - that means that your Provider is not delivering DTMF codes correctly.

Possible steps to fix situation:

  1. Enable debug mode in the Asterisk CLI to be informed of DTMF events
    1. In /etc/asterisk/logger.conf make sure you have such line at the end: console => notice,warning,error,dtmf
    2. In Asterisk CLI type: logger reload
  2. Change DTMF type to RFC2833 (if it is other type)
  3. In /etc/asterisk/sip.conf in [general] section set relaxdtmf=yes and rfc2833compensate=yes and reload Asterisk
  4. Change Provider



Some calls work with DTMF, other calls do not work with DTMF, seems random

In such cases when one call works and another does not work - that means that your provider are using different routes. They are mixing calls, some goes over the route with DTMF support, others go over the route without DTMF support.

Our advice is to change the provider and use PREMIUM quality routes with guaranteed DTMF passage.



Provider is not sending DTMF info

To check this:

  • Enable dtmf log and sip debug log
  • Make a call, check for such line
Non-codec capabilities (dtmf): us - 0x1 (telephone-event), peer - 0x0 (nothing), combined - 0x0 (nothing)

If you got this - that means provider is not delivering DTMF info in the SIP packet. Send him sip debug info and ask to fix this.

Correct line should look like this:

Non-codec capabilities (dtmf): us - 0x1 (telephone-event), peer - 0x1 (telephone-event), combined - 0x1 (telephone-event)



DTMF does not work with Asterisk 1.2

  • In /etc/asterisk/sip.conf in [general] section set rfc2833compensate=yes and reload Asterisk

Source: http://lists.digium.com/pipermail/asterisk-commits/2006-August/006569.html



See also