DTMF never works for IVR - Tried inband, RFC2833, auto, etc

We are being told that it’s a the other end. When calls come in, the dials tones are not accepted. It seems to be hit or miss depending on who the carrier is. We were using “inband” for a long time with no issues. I’m not sure if a module update broke something or if carriers are making charges. I also set it to info and it worked for maybe 2 days. It all depends on the incoming carrier. RFC2833 works perfect on all outbound but not inbound. Anyone have any suggestions?

I had a problem like this because of a Codec transcoding problem a few years ago - the phones were using GSM until they were put on hold, and the codec was switched to uLaw. After the on-hold, IVR key presses wouldn’t work. Have you looked at the codecs on the incoming lines (SIP Debug should help you) to see if you are trying to transcode the incoming?


I’m still not having much luck. My best results have been to use inband on a inbound trunk and rfc2833 on outbound. Its a lot better but still get complaints

add dtmf to your logfiles entries, reload the logger, watch /var/log/asterisk/full

how do you manipulate the log file entries?

Under Settings -> Asterisk log file Settings might be a good place to start


there is no DTMF there. Just full which I have. is DTMF a part of that?

What version of FreePBX are you using?

Look at the response already given by @lgaetz in your your latest post.


I’m not sure what post you are referring to? I was able to get the DTMF logging enabled. I’m current doing some packet captures as well to send to the carrier

I am still at a loss. Still doesn’t work just for the IVR. We even tried adding relaxdtmf to relax with no luck. I have a ticket open with sangoma.

Try enabling “signal Ringing” on your inbound route.

Someone also mentioned to enable “Fax Detection”

Few questions:
Does DTMF work when you call the IVR from an internal phone?
Did you try re-creating the IVR?
Can you dial extensions from the IVR or that also doesn’t work?
Can you point your inbound route to DISA and see if DTMF works there?
Lastly, can you try putting an announcement in from of the IVR?

we seem to have this resolved. This is what we set on the incoming and outgoing sip trunk. I will note I have never put anything in the peer details on the incoming tab before. Just the registrar string. I was able to tail the full log located in /var/log/asterisk/full with the following command:

tail -f full | grep -i dtmf

After I had a caller call in, I could actually watch them hit a button. Freepbx for some reason would not route the call properly on the IVR. I created a new IVR and it now works. Bug?


Type = friend means “use these settings for both incoming and outgoing”.

Assuming you changed the username, password, and host. If not, the username, password, and host should match your information in the registration string. If this is exactly what you have in your Trunk Details, you should be able to either set the username, password, and host to the correct values for your ITSP, or remove the entries from this entry (is they are, in fact, username, password, and

that is what sangoma support added. It seemed to fix a majority of our issues, but we are still getting complaints.

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.