DTMF Regeneration


I know there have been some comments posted regarding this issue, but I don’t think anyone has quite the same failure mode that I have. Hopefully, someone might know a trick.

Basically, I am initiating an outbound call using a trunk setup through Vitelity. This trunk is using inband dtmfmode. When I place the outgoing call, users on the other end sometimes use Touch Tones to iterate through menus. As my trunk is set to inband, I have to hear these audio signals to respond to their input.

Unfortunately, while in call, Asterisk hears the inband DTMF and stifles/mute/regenerates the tones it hears. When it does this, you average 100-300ms DTMF gets truncated to ~15ms. That is not near enough audio for me to detect. I am not able to switch to out of band, or RFC2833 mode at this time, so my only real option is to get Asterisk to leave my tones alone!

So far, I have tried playing with the relaxdtmf and toneduration settings, but they don’t really apply in this scenario. Also, I have heard that you can modify the dsp.c source to keep Asterisk from detecting the tones in the first place (thereby leaving them alone). That isn’t a very good option in my opinion. I would love to get Asterisk to leave the audio alone, or to merely regenerate the tones at a reasonable duration. Again, the toneduration setting appears to only affect outgoing dialing…

Thanks in advance guys,

What happens when you use rfc2833?
I had Vitelity for a year before I dropped them regarding other issues, but I was able to utilize both rfc2833 and inband with no issues.
Have you called them up or filed a trouble ticket to troubleshoot?

There was (is) a bug in Asterisk after 1.4.17 related to DTMF. It was related to the rfc2833 implementation, not inband, but thought it might be useful to know in the context of your issue. The rtp.c patch provided in the bug fixes the issue.


Just an FYI…