DTMF not being recognized on some IVRs

reynolwi

Joined
May 5, 2008
Messages
100
Likes
0
Points
0
#1
So elastix 2.0 freepbx 2.7.0.6 and grandstream GXP2000 phones. I have been getting complaints from users that when they call certain numbers the DTMF digit is not getting recognized by that IVR. The phones and freepbx are set to RFC2833 because setting the phones to SIP INFO they cant log into the voicemail. The VoIP provider is set to AUTO and it works pretty good with almost every IVR sending the DTMF digits but certain ones cant detect the digits and sometimes if you push the same digit multiple times it can detect it.

Does anyone have any ideas to solve this? Is it the phones and I just need to work on replacing them? The phones do have the latest firmware on them.
 

Lee Sharp

Joined
Sep 28, 2010
Messages
332
Likes
0
Points
0
#2
The quickest way to troubleshoot this would be to grab a software client like SIP Communicator, and see if the problem persists. From my experience, I am much less impressed with Grandstream than I once was.
 

witekprytek

Joined
Dec 19, 2007
Messages
145
Likes
0
Points
0
#3
Reynolwi: Try to use rfc2833 in the trunk configuration and add
rfc2833compensate=yes
to /etc/astersis/sip_general_custom.conf

I have a lot of gxp2000 phones in my network.
I use rfc2833 on GXP and Sip Info on the first provider trunk and rfc2833 (with this additional config line shown above) on the second one.
Both works without any problems.
 

reynolwi

Joined
May 5, 2008
Messages
100
Likes
0
Points
0
#4
I will try that. How are you setting the DTMF mode on your trunk to SIP INFO? I am using VoIP.ms and never had a problem with them except for the DTMF problem we are starting to have now. I have always used rfc2833 on the phones and on my physical sip trunk setting I do not have a DTMF mode specified so its passing I guess rfc2833 to them. On my account with them I have the DTMF mode set as AUTO.
 

franklin

Joined
Oct 22, 2010
Messages
254
Likes
0
Points
0
#5
gents, I also have asked dicko about this, so pardon the repeat, but I see your open thread. I am getting ignored DTMF from some IVRs. For this example, I have two boxes. Both Ceros boxes running 1.6. One box works to get into the IVR, the other gets rejected. Here is a paste from the output of my tail. You'll see on the bad call I start to get ingnores and emulations. On the good call no. The last paste is from a tail when I changed sip_general_custom.conf with rfc2388compensate=yes. That did not work, either. Any ideas?

Thanks,


Begin bad call
Dec 22 22:16:09] DTMF[31906] channel.c: DTMF begin '6' received on SIP/2001-00000292
[Dec 22 22:16:09] DTMF[31906] channel.c: DTMF begin passthrough '6' on SIP/2001-00000292
[Dec 22 22:16:09] DTMF[31906] channel.c: DTMF end '6' received on SIP/2001-00000292, duration 250 ms
[Dec 22 22:16:09] DTMF[31906] channel.c: DTMF end accepted with begin '6' on SIP/2001-00000292
[Dec 22 22:16:09] DTMF[31906] channel.c: DTMF end passthrough '6' on SIP/2001-00000292
[Dec 22 22:16:09] DTMF[31906] channel.c: DTMF begin '0' received on SIP/2001-00000292
[Dec 22 22:16:09] DTMF[31906] channel.c: DTMF begin passthrough '0' on SIP/2001-00000292
[Dec 22 22:16:09] DTMF[31906] channel.c: DTMF end '0' received on SIP/2001-00000292, duration 260 ms
[Dec 22 22:16:09] DTMF[31906] channel.c: DTMF end accepted with begin '0' on SIP/2001-00000292
[Dec 22 22:16:09] DTMF[31906] channel.c: DTMF end passthrough '0' on SIP/2001-00000292
[Dec 22 22:16:09] DTMF[4315] channel.c: DTMF begin '0' received on SIP/2001-00000292
[Dec 22 22:16:09] DTMF[4315] channel.c: DTMF begin ignored '0' on SIP/2001-00000292
[Dec 22 22:16:10] DTMF[31906] channel.c: DTMF end '0' received on SIP/2001-00000292, duration 260 ms
[Dec 22 22:16:10] DTMF[31906] channel.c: DTMF begin emulation of '0' with duration 260 queued on SIP/2001-00000292
[Dec 22 22:16:10] DTMF[31906] channel.c: DTMF end emulation of '0' queued on SIP/2001-00000292
[Dec 22 22:16:10] DTMF[4315] channel.c: DTMF begin '5' received on SIP/2001-00000292
[Dec 22 22:16:10] DTMF[4315] channel.c: DTMF begin ignored '5' on SIP/2001-00000292
[Dec 22 22:16:10] DTMF[4315] channel.c: DTMF end '5' received on SIP/2001-00000292, duration 260 ms
[Dec 22 22:16:10] DTMF[4315] channel.c: DTMF end passthrough '5' on SIP/2001-00000292
[Dec 22 22:16:10] DTMF[31906] channel.c: DTMF end '5' received on SIP/2001-00000292, duration 260 ms
[Dec 22 22:16:10] DTMF[31906] channel.c: DTMF begin emulation of '5' with duration 260 queued on SIP/2001-00000292
[Dec 22 22:16:10] DTMF[31906] channel.c: DTMF end emulation of '5' queued on SIP/2001-00000292
[Dec 22 22:16:11] DTMF[4315] channel.c: DTMF begin '4' received on SIP/2001-00000292
[Dec 22 22:16:11] DTMF[4315] channel.c: DTMF begin ignored '4' on SIP/2001-00000292
[Dec 22 22:16:11] DTMF[31906] channel.c: DTMF end '4' received on SIP/2001-00000292, duration 300 ms
[Dec 22 22:16:11] DTMF[31906] channel.c: DTMF begin emulation of '4' with duration 300 queued on SIP/2001-00000292
[Dec 22 22:16:11] DTMF[31906] channel.c: DTMF end emulation of '4' queued on SIP/2001-00000292
[Dec 22 22:16:11] DTMF[4315] channel.c: DTMF begin '5' received on SIP/2001-00000292
[Dec 22 22:16:11] DTMF[4315] channel.c: DTMF begin ignored '5' on SIP/2001-00000292
[Dec 22 22:16:11] DTMF[31906] channel.c: DTMF end '5' received on SIP/2001-00000292, duration 310 ms
[Dec 22 22:16:11] DTMF[31906] channel.c: DTMF begin emulation of '5' with duration 310 queued on SIP/2001-00000292
[Dec 22 22:16:12] DTMF[31906] channel.c: DTMF end emulation of '5' queued on SIP/2001-00000292
[Dec 22 22:16:12] DTMF[4315] channel.c: DTMF begin '#' received on SIP/2001-00000292
[Dec 22 22:16:12] DTMF[4315] channel.c: DTMF begin ignored '#' on SIP/2001-00000292
[Dec 22 22:16:12] DTMF[31906] channel.c: DTMF end '#' received on SIP/2001-00000292, duration 330 ms
[Dec 22 22:16:12] DTMF[31906] channel.c: DTMF begin emulation of '#' with duration 330 queued on SIP/2001-00000292
[Dec 22 22:16:13] DTMF[31906] channel.c: DTMF end emulation of '#' queued on SIP/2001-00000292

Begin good call

tail -f /var/log/asterisk/full|grep DTMF
[Dec 22 22:14:04] DTMF[19631] channel.c: DTMF begin '6' received on SIP/2003-00000063
[Dec 22 22:14:04] DTMF[19631] channel.c: DTMF begin passthrough '6' on SIP/2003-00000063
[Dec 22 22:14:04] DTMF[19631] channel.c: DTMF end '6' received on SIP/2003-00000063, duration 240 ms
[Dec 22 22:14:04] DTMF[19631] channel.c: DTMF end accepted with begin '6' on SIP/2003-00000063
[Dec 22 22:14:04] DTMF[19631] channel.c: DTMF end passthrough '6' on SIP/2003-00000063
[Dec 22 22:14:04] DTMF[19631] channel.c: DTMF begin '0' received on SIP/2003-00000063
[Dec 22 22:14:04] DTMF[19631] channel.c: DTMF begin passthrough '0' on SIP/2003-00000063
[Dec 22 22:14:04] DTMF[19631] channel.c: DTMF end '0' received on SIP/2003-00000063, duration 290 ms
[Dec 22 22:14:04] DTMF[19631] channel.c: DTMF end accepted with begin '0' on SIP/2003-00000063
[Dec 22 22:14:04] DTMF[19631] channel.c: DTMF end passthrough '0' on SIP/2003-00000063
[Dec 22 22:14:05] DTMF[19631] channel.c: DTMF begin '0' received on SIP/2003-00000063
[Dec 22 22:14:05] DTMF[19631] channel.c: DTMF begin passthrough '0' on SIP/2003-00000063
[Dec 22 22:14:05] DTMF[19631] channel.c: DTMF end '0' received on SIP/2003-00000063, duration 270 ms
[Dec 22 22:14:05] DTMF[19631] channel.c: DTMF end accepted with begin '0' on SIP/2003-00000063
[Dec 22 22:14:05] DTMF[19631] channel.c: DTMF end passthrough '0' on SIP/2003-00000063
[Dec 22 22:14:05] DTMF[19631] channel.c: DTMF begin '0' received on SIP/2003-00000063
[Dec 22 22:14:05] DTMF[19631] channel.c: DTMF begin passthrough '0' on SIP/2003-00000063
[Dec 22 22:14:05] DTMF[19631] channel.c: DTMF end '0' received on SIP/2003-00000063, duration 280 ms
[Dec 22 22:14:05] DTMF[19631] channel.c: DTMF end accepted with begin '0' on SIP/2003-00000063
[Dec 22 22:14:05] DTMF[19631] channel.c: DTMF end passthrough '0' on SIP/2003-00000063
[Dec 22 22:14:06] DTMF[19631] channel.c: DTMF begin '5' received on SIP/2003-00000063
[Dec 22 22:14:06] DTMF[19631] channel.c: DTMF begin passthrough '5' on SIP/2003-00000063
[Dec 22 22:14:06] DTMF[19631] channel.c: DTMF end '5' received on SIP/2003-00000063, duration 260 ms
[Dec 22 22:14:06] DTMF[19631] channel.c: DTMF end accepted with begin '5' on SIP/2003-00000063
[Dec 22 22:14:06] DTMF[19631] channel.c: DTMF end passthrough '5' on SIP/2003-00000063
[Dec 22 22:14:06] DTMF[6869] channel.c: DTMF begin '4' received on SIP/2003-00000063
[Dec 22 22:14:06] DTMF[6869] channel.c: DTMF begin ignored '4' on SIP/2003-00000063
[Dec 22 22:14:06] DTMF[19631] channel.c: DTMF end '4' received on SIP/2003-00000063, duration 250 ms
[Dec 22 22:14:06] DTMF[19631] channel.c: DTMF begin emulation of '4' with duration 250 queued on SIP/2003-00000063
[Dec 22 22:14:07] DTMF[19631] channel.c: DTMF begin '5' received on SIP/2003-00000063
[Dec 22 22:14:07] DTMF[19631] channel.c: DTMF begin ignored '5' on SIP/2003-00000063
[Dec 22 22:14:07] DTMF[19631] channel.c: DTMF end emulation of '4' queued on SIP/2003-00000063
[Dec 22 22:14:07] DTMF[19631] channel.c: DTMF end '5' received on SIP/2003-00000063, duration 320 ms
[Dec 22 22:14:07] DTMF[19631] channel.c: DTMF begin emulation of '5' with duration 320 queued on SIP/2003-00000063
[Dec 22 22:14:07] DTMF[19631] channel.c: DTMF end emulation of '5' queued on SIP/2003-00000063
[Dec 22 22:14:08] DTMF[19631] channel.c: DTMF begin '#' received on SIP/2003-00000063
[Dec 22 22:14:08] DTMF[19631] channel.c: DTMF begin passthrough '#' on SIP/2003-00000063
[Dec 22 22:14:08] DTMF[19631] channel.c: DTMF end '#' received on SIP/2003-00000063, duration 300 ms
[Dec 22 22:14:08] DTMF[19631] channel.c: DTMF end accepted with begin '#' on SIP/2003-00000063
[Dec 22 22:14:08] DTMF[19631] channel.c: DTMF end passthrough '#' on SIP/2003-00000063

Begin a call with rfc2388compensate=yes in sip_general_custom.conf

[Dec 22 23:21:46] DTMF[32647] channel.c: DTMF end '6' received on SIP/2001-00000000, duration 0 ms
[Dec 22 23:21:46] DTMF[32647] channel.c: DTMF begin emulation of '6' with duration 100 queued on SIP/2001-00000000
[Dec 22 23:21:47] DTMF[32647] channel.c: DTMF end emulation of '6' queued on SIP/2001-00000000
[Dec 22 23:21:47] DTMF[32647] channel.c: DTMF end '0' received on SIP/2001-00000000, duration 0 ms
[Dec 22 23:21:47] DTMF[32647] channel.c: DTMF begin emulation of '0' with duration 100 queued on SIP/2001-00000000
[Dec 22 23:21:47] DTMF[32647] channel.c: DTMF end emulation of '0' queued on SIP/2001-00000000
[Dec 22 23:21:48] DTMF[32647] channel.c: DTMF end '0' received on SIP/2001-00000000, duration 0 ms
[Dec 22 23:21:48] DTMF[32647] channel.c: DTMF begin emulation of '0' with duration 100 queued on SIP/2001-00000000
[Dec 22 23:21:48] DTMF[32647] channel.c: DTMF end emulation of '0' queued on SIP/2001-00000000
[Dec 22 23:21:48] DTMF[32647] channel.c: DTMF end '0' received on SIP/2001-00000000, duration 0 ms
[Dec 22 23:21:48] DTMF[32647] channel.c: DTMF begin emulation of '0' with duration 100 queued on SIP/2001-00000000
[Dec 22 23:21:48] DTMF[32647] channel.c: DTMF end emulation of '0' queued on SIP/2001-00000000
[Dec 22 23:21:49] DTMF[32647] channel.c: DTMF end '5' received on SIP/2001-00000000, duration 0 ms
[Dec 22 23:21:49] DTMF[32647] channel.c: DTMF begin emulation of '5' with duration 100 queued on SIP/2001-00000000
[Dec 22 23:21:49] DTMF[32647] channel.c: DTMF end emulation of '5' queued on SIP/2001-00000000
[Dec 22 23:21:49] DTMF[32647] channel.c: DTMF end '4' received on SIP/2001-00000000, duration 0 ms
[Dec 22 23:21:49] DTMF[32647] channel.c: DTMF begin emulation of '4' with duration 100 queued on SIP/2001-00000000
[Dec 22 23:21:50] DTMF[32647] channel.c: DTMF end emulation of '4' queued on SIP/2001-00000000
[Dec 22 23:21:50] DTMF[32647] channel.c: DTMF end '5' received on SIP/2001-00000000, duration 0 ms
[Dec 22 23:21:50] DTMF[32647] channel.c: DTMF begin emulation of '5' with duration 100 queued on SIP/2001-00000000
[Dec 22 23:21:50] DTMF[32647] channel.c: DTMF end emulation of '5' queued on SIP/2001-00000000
[Dec 22 23:21:51] DTMF[32647] channel.c: DTMF end '#' received on SIP/2001-00000000, duration 0 ms
 

franklin

Joined
Oct 22, 2010
Messages
254
Likes
0
Points
0
#6
getting this licked. When I tell my XLite softphone to transmit in-band only it works. Investigating how I can do this on Polycom phones, and if I can make the change to sip.conf.
 

witekprytek

Joined
Dec 19, 2007
Messages
145
Likes
0
Points
0
#7
When you call from your extension somewhere outside via Asterisk, Asterisk runs as a proxy and should transcode the DTMF from format used between extension and astereisk and asterisk and your VoIP provider.

What codecs do you use on your sip trunk and internal?
 

franklin

Joined
Oct 22, 2010
Messages
254
Likes
0
Points
0
#8
This is solved. I started by telling my XLite to send only in-band. It worked. Then I figured that I could do the same with my Polycom phones. in the admin guide 322 you find some parameters for dtmf. One of them:
tone.dtmf.rfc2833Control 0 or 1 1 If set to 1, the phone will indicate a
preference for encoding DTMF through
RFC 2833 format in its Session
Description Protocol (SDP) offers by
showing support for the phone-event
payload type; this does not affect SDP
answers, these will always honor the
DTMF format present in the offer since
the phone has native support for RFC
2833.

I set it to 0. Long conversation with my carrier. They all have settings for DTMF. Long story short, this is the only thing that worked in my scenario with my Polycom phones.

Thanks for any help given.
 

franklin

Joined
Oct 22, 2010
Messages
254
Likes
0
Points
0
#9
This was solved until I figured out it ruined my *1 call record toggle. Put one.dtmf.rfc2833Control back to 1 on the Polycom and *1 works for call record toggle, but not the IVR. Going to circle back with dicko and look into changing dtmf modes in sip.cfg or other place.
 

Members online

No members online now.

Latest posts

Forum statistics

Threads
30,915
Messages
130,920
Members
17,591
Latest member
dalibor66
Top