[Freeswitch-users] intermittent DTMF duplicate digit detection
Jeff Crews
jeff at eoni.com
Thu Sep 8 17:01:50 MSD 2016
Thank you very much.
Those descriptions help understand the relationship much better.
So I am only using PCMU and PCMA codecs.
My only active SIP profile was already on: dtmf-type=rfc2833 with liberal-dtmf not specified…however I added liberal-dtmf=false anyway just to be sure.
Then I made sure anything with start_dtmf or start_spandsp were disabled and made a test call to the IVR.
I made three test calls and dialed a signal digit of 9 on the IVR menu and each of the three times…it routed perfectly with log entries like this:
2016-09-08 05:09:33.086731 [DEBUG] switch_ivr_menu.c:424 digits 9
Then on my fourth call…I dialed the same numbers and the IVR menu kept playing as it was as if no digits were detected at all. This is the symptom that led me to a person suggesting I place the “start_dtmf” at the beginning of my inbound routes for my user needing the IVR menu. After placing 10 calls using the same Verizon Droid Turbo mobile phone, on 10 calls, 50% of the calls resulting in the IVR not hearing the DTMF and the IVR recording played on. I tried dialing several times the 9 digit…and no improvement.
In running a: tail freeswitch.log | grep –i dtmf
I see nothing with the text dtmf in the log when the DTMF is not detected.
Then I tried 10 more and all failed to recognize DTMF dialed while the IVR menu was played.
Then I added back start_dtmf on the inbound route for this customer.
Then I could consistently get the DTMF to be recognized.
I started two SSH sessions tailing the freeswitch.log to look for “digits” in one and case-insensitive “dtmf” in the other.
I did 20 test calls from the same mobile phone, no speakerphone, dialing 9 each time.
In 20 calls only 1 call got double digits received by the switch_ivr_menu.c.
When I did see double digits…I got an entry like this:
2016-09-08 05:49:15.846749 [DEBUG] switch_rtp.c:6874 RTP RECV DTMF 9:1280
I placed 30 more test calls
8 had double digit 9, 2 had triple digit 9 and the other 10 were good with only single digit received.
Again when duplicate digits occurred I got entries in the log from switch_rtp.c
Last week when I noticed duplicate digits were received I added IVR menu options for each menu entry so that if 2=sales I added 2, 22 and 222 to all go to sales to keep calls flowing until I can figure this out.
Does anyone know exactly what does “RTP RECV DTMF” indicates?
Would packet capture in wireshark show something?
Jeff
From: freeswitch-users-bounces at lists.freeswitch.org [mailto:freeswitch-users-bounces at lists.freeswitch.org] On Behalf Of Guillermo Ruiz Camauer
Sent: Wednesday, September 07, 2016 10:43
To: FreeSWITCH Users Help
Subject: Re: [Freeswitch-users] intermittent DTMF duplicate digit detection
Jeff,
Just a couple of pointers. Inband DTMF detection is handled by spandsp and only really works if you are using PCMU or PCMA codecs (it does NOT work if you use codecs that compress like G.729, etc.) Spandsp analyses the tone frequencies received and tries to determine which DTMF was sent.
RFC2833 works by sending a special packet in the RTP stream, no analysis needed. You should only specify ONE DTMF method for a channel if you don't want to have duplication problems.
You should set <param name="dtmf-type" value="rfc2833"/> and <param name="liberal-dtmf" value="false"/> in the sip profile so that it only accepts RFC2833.
Regards,
Guillermo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20160908/c70f72e5/attachment-0001.html
Join us at ClueCon 2016 Aug 8-12, 2016
More information about the FreeSWITCH-users
mailing list