Intermittent DTMF Issues

We have a FreePBX server on site that seems to experience intermittent DTMF issues. When a caller dials in from the outside, an auto attendant prompts the caller with options and allows direct 3 digit extension dialing. If the caller dials a three-digit extension, about 50% of the time it sends the caller to the operator, which is option ‘0’ in the IVR. It might be important to point out that most of the extensions in the system have a 0 in them, usually as the second digit.

So far, I have recorded incoming calls and tested from an external number, and determined all the DTMF tones were coming across from the carrier, as they were all audible and visible when I loaded them into Audacity. After finding that, I enabled full logging and found that sometimes, the first digit dialed when dialing an extension would not be recorded in the logs, hence the first digit recognized would be ‘0’ and send the caller to the operator.

It seems clear to me that the issue is with the Asterisk module responsible for determining DTMF tones, but I do not know where to go from here. We have changed some hardware options for the circuit interface card based on forum posts we have read, but so far the issue is still occurring. Thanks in advance!

Several years ago I had a similar problem. IIRC, there’s a setting for minimum DTMF duration that you can tweak - on my system is was 0.5 seconds, which was too long for most of the people that sent key presses (especially from things like cell phones). I’d start there.

Depends a lot on trunk type (SIP?, DAHDI?), and your trunk DTMF settings.

1 Like

@cynjut That sounds like what we might be facing. Do you happen to remember where I could find that setting at?

@lgaetz I knew settings like that would be needed, but wasn’t sure what exactly to share. Can you point me to where the information is you need so I can get it posted here?

Thanks for the fast replies!

Sorry - I don’t. I do remember that changing the setting caused regular voice (especially my wife) to occasionally get translated to DTMF. It was confusing till we tuned it in.

So I placed the following line into the /etc/asterisk/asterisk.conf file:

mindtmfduration = 80

And restarted asterisk. I’m not sure if this had any effect, but I did some more test calls and keep getting the same issue. Did I place this in the wrong file possibly? Does anyone have any more ideas? Thanks in advance!

This is still an ongoing issue for us. If there is any information I can provide that would help in the troubleshooting process, please let me know and I will get it up here as quickly as possible.

Thank you again in advance!