Merged revisions 81120 via svnmerge from
authorMark Michelson <mmichelson@digium.com>
Mon, 27 Aug 2007 21:09:37 +0000 (21:09 +0000)
committerMark Michelson <mmichelson@digium.com>
Mon, 27 Aug 2007 21:09:37 +0000 (21:09 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r81120 | mmichelson | 2007-08-27 16:08:48 -0500 (Mon, 27 Aug 2007) | 7 lines

DTMF begin frames should be ignored so that when an agent acks a call with the '#' key,
he doesn't cause a queue's announce file to be interrupted. Also went ahead and did the
same for the '*' key and for ending a call.

(closes issue #10528, reported by deskhack, patched by me)

........

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

channels/chan_agent.c

index fbdc756..3ff9944 100644 (file)
@@ -472,6 +472,12 @@ static struct ast_frame *agent_read(struct ast_channel *ast)
                        }
                        break;
                case AST_FRAME_DTMF_BEGIN:
+                       /*ignore DTMF begin's as it can cause issues with queue announce files*/
+                       if((!p->acknowledged && f->subclass == '#') || (f->subclass == '*' && endcall)){
+                               ast_frfree(f);
+                               f = &ast_null_frame;
+                       }
+                       break;
                case AST_FRAME_DTMF_END:
                        if (!p->acknowledged && (f->subclass == '#')) {
                                ast_verb(3, "%s acknowledged\n", p->chan->name);