No DTMF tone passed in call

Newbie needs help with dtmf problem. I’ve searched through these forums and online but cannot find an answer to my problem.

Running latest asterisk version with GXP2000 desk phone. DTMF tones are not passed on to outside IVR’s. Tones operate in-house vm but not outside the server. No zap card installed.

Initial installation of the system was fine the first of this year. This is a new problem that occured after an update about a month ago.

Thanks for any solutions…

what version of asterisk are you running? i just dealt with some bugs in 1.4.24 which there is now a patch for, not sure if it is relevant though.

Thanks for your help.

I’m running version

You should be OK there. The other issue may be a mismatch in the DTMF settings of your upstream provider. I am assuming you have a PSTN gateway provider that is providing access to the outside world.

What do you have for the “dtmfmode” in the section for the provider? The valid options are:


Most providers want RFC2833 exclusively…

On my FreePBX it is set to rfc2833, on the Grandstream GXP2000 it is also rfc2833.

When I Winscp into the server, the settings under sip_custon.conf do not contain smtp=rfc2833.

is there a section in either sip.conf or sip_custom.conf for your PSTN gateway provider? That is the one I am most interested in.

Who are you using to make calls to the PSTN?

No place for my provider. Just my ip info, local network information.

I’m using voicepulse.

I am guessing you are using some type of GUI for configuration. Is there anything in your GUI which defines the SIP trunk to voicepulse? If so, does that have a DTMF option?

Yes - the following are in my outbound trunks under peer details:



try that, see if it works.

That didn’t help either. Something else that is happening is that the tone is delayed. After entering the IVR extension I can hear it replay. Not sure if that is a clue.

BTW - i appreciate your assistance with this problem.

ok, the next step is to get me some RTP debug output. You will need to go to the CLI and enter “rtp debug” capture all the output and then issue “rtp debug off”.

Or, if you are more comfortable, you can use tcpdump to capture all the traffic on the interface into a pcap file. I need to see what asterisk is getting in for RFC2833 and what it is sending out.

ok - I’ve run debug but how do i capture it and post it here?

are you using an SSH client like PuTTy? If so, you should be able to change the settings to allow 100,000 lines of buffer. Once you do that, make your call and click copy all and paste it into wordpad. Put it on pastebin and post your link here.

I think i got it correct.

that’s only about 2 seconds of RTP packets. The DTMF sections aren’t even contained in there.

Are you using PuTTY for this?

I am using putty to get into the root directory. As additional information, it may be worthy to note that i’m making a direct IAX2 trunked call as well as a SIP call via VoicePulse. Also note that I’m running PBX in a Flash.

I made another call and copied the info onto pastebin - same location.

Are you actually doing anything with DTMF? I am not seeing a single RFC2833 packet in this audio.

I am not even seeing two way audio here. It looks like audio is being generated by and being sent to, but there is no audio going back to the address.

What I need you to do is make a call to the IVR you are stating doesn’t work from the IP phone you were using before.

you should see reference to RFC2833 packets in the RTP debug once it get it right.

I dialed into an IVR that I knew I had trouble with previously. Its a utility company - when asked to enter phone number for ID it cannot understand my commands and routes me to CS. I can hear the tones when I push the key, it interupts the IVR and then i can hear them again.

The 192.168.XX.XX is my SIP phone IP.

ok, then the problem is with your phone. it isn’t doing RFC2833 DTMF, otherwise you would see the packets in the RTP stream. You need to play with your phone itself to find the DTMF setting and convert it to RFC2833.

that should fix the issue.