From 45a7cf8fa4a0ff6581a5f4632ab1b61a01dc2687 Mon Sep 17 00:00:00 2001 From: oej Date: Thu, 15 Jan 2009 13:01:52 +0000 Subject: Add support for setting the Reason header when cancelling a call in the queue because someone else answered. Previously, only dial() was supported. EDV-102 git-svn-id: http://svn.digium.com/svn/asterisk/trunk@168636 f38db490-d61c-443f-a65b-d21fe96a405b --- apps/app_queue.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'apps') diff --git a/apps/app_queue.c b/apps/app_queue.c index 85d15881f..ada7da82d 100644 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -2228,9 +2228,13 @@ static void hangupcalls(struct callattempt *outgoing, struct ast_channel *except struct callattempt *oo; while (outgoing) { + /* If someone else answered the call we should indicate this in the CANCEL */ /* Hangup any existing lines we have open */ - if (outgoing->chan && (outgoing->chan != exception)) + if (outgoing->chan && (outgoing->chan != exception)) { + if (exception) + ast_set_flag(outgoing->chan, AST_FLAG_ANSWERED_ELSEWHERE); ast_hangup(outgoing->chan); + } oo = outgoing; outgoing = outgoing->q_next; if (oo->member) -- cgit v1.2.3