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

Richard Mudgett (JIRA) noreply at issues.asterisk.org
Mon Aug 27 09:24:07 CDT 2012


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

Richard Mudgett edited comment on ASTERISK-19610 at 8/27/12 9:22 AM:
---------------------------------------------------------------------

backtracking:

Removing the hits_to_begin and missed_to_end was the wrng approach.
They were introduced to allowing tuning in case of wobbly GSM signals. refer ASTERISK-11413 (https://issues.asterisk.org/view.php?id=11968#84583)

The values required for (40ms on)/(40ms off) is as follows;
 #define DTMF_HITS_TO_BEGIN 2 /* 25.5ms, allowing for DTMF to start mid sample block */
 #define DTMF_MISSES_TO_END 2 /* 25.5ms, allowing for DTMF to end mid sample block */

40ms/30ms is not achievable with the current DTMF_GSIZE of 102.

      was (Author: alecdavis):
    backtracking:

Removing the hits_to_begin and missed_to_end was the wrng approach.
They were introduced to allowing tuning in case of wobbly GSM signals. refer https://issues.asterisk.org/view.php?id=11968#84583

The values required for (40ms on)/(40ms off) is as follows;
 #define DTMF_HITS_TO_BEGIN 2 /* 25.5ms, allowing for DTMF to start mid sample block */
 #define DTMF_MISSES_TO_END 2 /* 25.5ms, allowing for DTMF to end mid sample block */

40ms/30ms is not achievable with the current DTMF_GSIZE of 102.
  
> 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
>              Labels: Regression
>         Attachments: 1332984810-SIP-2299-00000018-in.wav, ast-19610.diff2.txt, ast-19610.diff.txt, dsp_fastdtmf.patch
>
>
> 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