DTMF problems

From Kolmisoft Wiki
Revision as of 12:59, 19 September 2015 by Admin (talk | contribs)
Jump to navigationJump to search

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: