[asterisk-dev] [Code Review]: refactor dsp.c that can no longer detect a quick DTMF sequence.
Alec Davis
reviewboard at asterisk.org
Thu Aug 30 15:48:14 CDT 2012
> On Aug. 30, 2012, 3:19 p.m., rmudgett wrote:
> > trunk/main/dsp.c, lines 745-767
> > <https://reviewboard.asterisk.org/r/2084/diff/4/?file=31094#file31094line745>
> >
> > Maybe change to make 2 misses end any digit:
> > if (s->td.dtmf.lasthit != s->td.dtmf.current_hit) {
> > /* 2 misses of current_hit */
> > if (hit == s->td.dtmf.lasthit) {
> > /* 2 of the same, either a BEGIN or END digit */
> > if (hit) {
> > store_digit(s, hit);
> > }
> > s->td.dtmf.current_hit = hit;
> > } else {
> > /* 2 misses ends current digit */
> > s->td.dtmf.current_hit = 0;
> > }
> > }
> >
I abandoned this, and produced https://reviewboard.asterisk.org/r/2085/
- Alec
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/2084/#review6979
-----------------------------------------------------------
On Aug. 26, 2012, 2:20 a.m., Alec Davis wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/2084/
> -----------------------------------------------------------
>
> (Updated Aug. 26, 2012, 2:20 a.m.)
>
>
> Review request for Asterisk Developers, rmudgett and Jason Parker.
>
>
> Summary
> -------
>
> Use a simpler method to detect changes in DTMF ON/OFF tones.
>
> Similar method to latest spandsp/dtmf.c
>
> We must detect 2 silences for DTMF END.
>
>
> Reverts some of 111022 that added DTMF_HITS_TO_BEGIN and DTMF_MISSES_TO_END
>
> Exisiting dtmf events with;
> /* hits_to_begin = 3, misses to end = 2 */
> /* --------A hits=1, misses=1, lasthit='A'
> * -------AA hits=2
> * ------AAA hits=3, store_digit, current_hit='A', BEGIN A
> * -----AAA- hits=1, misses=1, lasthit=' '
> * ----AAA-- misses=2, current_hit=' ', END A
> * ---AAA--B hits=1, misses=1, lasthit='B'
> * --AAA--BB hits=2
> * -AAA--BBB hits=3, store_digit, current_hit='B', BEGIN B
> * AAA--BBB- hits=1, misses=1, lasthit=' '
> * AA--BBB-B hits=1, misses=1, lasthit='B'
> * A--BBB-BB digitlen += GSIZE
> * deal with an interruption
> * --BBB-BB- hits=1, misses=1, lasthit=' '
> * -BBB-BB-B hits=1, misses=1, lasthit='B'
> * BBB-BB-BB digitlen += GSIZE
> * deal with no interdigit pause
> * BB-BB-BBC hits=1, misses=1, lasthit='C'
> * B-BB-BBCC current_hit=' ', END B
> * -BB-BBCCC hits=2
> * BB-BBCCCC hits=3, store_digit, current_hit='C', BEGIN C
> */
>
>
> How it would be without, hits_to_begin, and misses_to_end
>
> /* ------AA Begin A
> * -----AA- no change
> * ----AA-- End A
> * ---AA--B no change
> * --AA--BC no change
> * -AA--BCC Start C
> * AA--BCCD no change
> * A--BCCDD Start D
> * --BCCDD- no change
> * -BCCDD-E no change
> * BCCDD-EE Start E
> * CCDD-EE- no change
> * CDD-EE-F no change
> * DD-EE-F- no change
> * D-EE-F-- End E
> */
>
>
> This addresses bugs ASTERISK-17493 and ASTERISK-19610.
> https://issues.asterisk.org/jira/browse/ASTERISK-17493
> https://issues.asterisk.org/jira/browse/ASTERISK-19610
>
>
> Diffs
> -----
>
> trunk/main/dsp.c 371649
>
> Diff: https://reviewboard.asterisk.org/r/2084/diff
>
>
> Testing
> -------
>
>
> Thanks,
>
> Alec
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20120830/10ce3621/attachment-0001.htm>
More information about the asterisk-dev
mailing list