[asterisk-bugs] [JIRA] Commented: (ASTERISK-19610) dsp.c can no longer detect a quick DTMF sequence

Alec Davis (JIRA) noreply at issues.asterisk.org
Mon Oct 1 02:50:27 CDT 2012


    [ https://issues.asterisk.org/jira/browse/ASTERISK-19610?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=197771#comment-197771 ] 

Alec Davis commented on ASTERISK-19610:
---------------------------------------

Just an idea.

I downloaded your version of dsp.c from here and compiled with lastest 1.8 SVN-branch-1.8-r374032M

Need to set in sip.conf dtmfmode=inband, also only allow codecs alaw or ulaw.

I've just tried this with a grandstream GXP2000 set to 'inband' and 'SIP INFO' and get double 'DTMF end' events and are unable to succesfully enter voicemail.

[2012-10-01 20:37:31.025198] DTMF[23216] channel.c: DTMF begin '8' received on SIP/822-00000002
[2012-10-01 20:37:31.025241] DTMF[23216] channel.c: DTMF begin ignored '8' on SIP/822-00000002
[2012-10-01 20:37:31.057398] DTMF[23216] channel.c: DTMF end '8' received on SIP/822-00000002, duration 480 ms
[2012-10-01 20:37:31.057445] DTMF[23216] channel.c: DTMF end passthrough '8' on SIP/822-00000002
[2012-10-01 20:37:31.105292] DTMF[23216] channel.c: DTMF end '8' received on SIP/822-00000002, duration 51 ms
[2012-10-01 20:37:31.105390] DTMF[23216] channel.c: DTMF end passthrough '8' on SIP/822-00000002

When GXP2000 is set to 'inband' only, DTMF detection works as expected.


> dsp.c can no longer detect a quick DTMF sequence
> ------------------------------------------------
>
>                 Key: ASTERISK-19610
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-19610
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Core/Channels
>    Affects Versions: 1.8.10.1, 1.8.11.0, 10.2.1, 10.3.0
>            Reporter: Jean-Philippe Lord
>            Assignee: Alec Davis
>              Labels: Regression
>         Attachments: 1332984810-SIP-2299-00000018-in.wav, ast-19610.diff2.txt, ast-19610.diff.txt, dsp.c, dsp_fastdtmf.patch, review2085.diff3.txt
>
>
> dsp.c stopped being able to decode a quick DTMF sequence starting in 1.8.10rc1. 50ms tone, 50ms silence does not work anymore. This isssue is major since asterisk used to be extremely good at detecting fast DTMF and it no longer is. I have removed the below change and issue got resolved. 
> From the ChangeLog:
> 2012-01-05 21:46 +0000 [r349672-349728]  Jonathan Rose <jrose at digium.com>
>         * main/dsp.c: Fix an issue where dsp.c would interpret multiple
>           dtmf events from a single key press. When receiving calls from a
>           mobile phone into a DISA system on a connection with significant
>           interference, the reporter's Asterisk system would interpret DTMF
>           incorrectly and replicate digits received. This patch resolves
>           that by increasing the number of frames a mismatch has to be
>           detected before assuming the DTMF is over by 1 frame and adjusts
>           dtmf_detect function to reset hits and misses only when an edge
>           is detected. (closes issue ASTERISK-17493) Reported by: Alec
>           Davis Patches: bug18904-refactor.diff.txt uploaded by Alec Davis
>           (license 5546) Review: https://reviewboard.asterisk.org/r/1130/

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira



More information about the asterisk-bugs mailing list