DTMF not being recognized on some IVRs

Discussion in 'General' started by reynolwi, Dec 16, 2010.

  1. reynolwi

    Joined:
    May 5, 2008
    Messages:
    100
    Likes Received:
    0
    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.
     
  2. Lee Sharp

    Joined:
    Sep 28, 2010
    Messages:
    332
    Likes Received:
    0
    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.
     
  3. witekprytek

    Joined:
    Dec 19, 2007
    Messages:
    145
    Likes Received:
    0
    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.
     
  4. reynolwi

    Joined:
    May 5, 2008
    Messages:
    100
    Likes Received:
    0
    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.
     
  5. franklin

    Joined:
    Oct 22, 2010
    Messages:
    254
    Likes Received:
    0
    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
     
  6. franklin

    Joined:
    Oct 22, 2010
    Messages:
    254
    Likes Received:
    0
    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.
     
  7. witekprytek

    Joined:
    Dec 19, 2007
    Messages:
    145
    Likes Received:
    0
    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?
     
  8. franklin

    Joined:
    Oct 22, 2010
    Messages:
    254
    Likes Received:
    0
    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.
     
  9. franklin

    Joined:
    Oct 22, 2010
    Messages:
    254
    Likes Received:
    0
    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.
     

Share This Page