Fix an issue where dsp.c would interpret multiple dtmf events from a single key press.
authorJonathan Rose <jrose@digium.com>
Thu, 5 Jan 2012 22:02:33 +0000 (22:02 +0000)
committerJonathan Rose <jrose@digium.com>
Thu, 5 Jan 2012 22:02:33 +0000 (22:02 +0000)
commitfd04da511461f1d21b4166a9937e3f00696de20d
tree545a10e09267df6617a0cb06d3d450ca99eafe05
parentebf40f1129670e034f535777cac029fca74c7275
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/
........

Merged revisions 349728 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 349729 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@349730 65c4cc65-6c06-0410-ace0-fbb531ad65f3
main/dsp.c