aboutsummaryrefslogtreecommitdiffstats
path: root/channels/chan_agent.c
diff options
context:
space:
mode:
authormmichelson <mmichelson@f38db490-d61c-443f-a65b-d21fe96a405b>2007-08-27 21:08:48 +0000
committermmichelson <mmichelson@f38db490-d61c-443f-a65b-d21fe96a405b>2007-08-27 21:08:48 +0000
commit10ac8e4ff707e274aba71b22a0c3bd85a597df1c (patch)
tree82b6dcd79506903dad4d9e3f26ace621158d2b4a /channels/chan_agent.c
parent3ef8e8dbd45dd780ac6a3dd4c8a0a8b6412c1a75 (diff)
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: http://svn.digium.com/svn/asterisk/branches/1.4@81120 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_agent.c')
-rw-r--r--channels/chan_agent.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/channels/chan_agent.c b/channels/chan_agent.c
index 7f1d1cb7c..79c3d230b 100644
--- a/channels/chan_agent.c
+++ b/channels/chan_agent.c
@@ -494,6 +494,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 == '#')) {
if (option_verbose > 2)