]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Ensure that emulated DTMFs do not get interrupted by another begin frame.
authorJoshua Colp <jcolp@digium.com>
Mon, 18 Feb 2008 23:56:48 +0000 (23:56 +0000)
committerJoshua Colp <jcolp@digium.com>
Mon, 18 Feb 2008 23:56:48 +0000 (23:56 +0000)
(closes issue #11740)
Reported by: gserra
Patches:
      v1-11740.patch uploaded by dimas (license 88)
(closes issue #11955)
Reported by: tsearle
(closes issue #10530)
Reported by: xmarksthespot

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@103801 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/channel.c

index d5af9cb2ee874d10dd881064d081fb54ffe16544..cac9beb63ee07969bb4f597cbfa424482a2512a2 100644 (file)
@@ -2153,7 +2153,7 @@ static struct ast_frame *__ast_read(struct ast_channel *chan, int dropaudio)
                        break;
                case AST_FRAME_DTMF_BEGIN:
                        ast_log(LOG_DTMF, "DTMF begin '%c' received on %s\n", f->subclass, chan->name);
-                       if ( ast_test_flag(chan, AST_FLAG_DEFER_DTMF | AST_FLAG_END_DTMF_ONLY) || 
+                       if ( ast_test_flag(chan, AST_FLAG_DEFER_DTMF | AST_FLAG_END_DTMF_ONLY | AST_FLAG_EMULATE_DTMF) || 
                            (!ast_tvzero(chan->dtmf_tv) && 
                              ast_tvdiff_ms(ast_tvnow(), chan->dtmf_tv) < AST_MIN_DTMF_GAP) ) {
                                ast_log(LOG_DTMF, "DTMF begin ignored '%c' on %s\n", f->subclass, chan->name);