From f48761907a3c3ac18f987f2fdf5e7f79347624b7 Mon Sep 17 00:00:00 2001 From: Ivan Poddubny Date: Sun, 12 Aug 2018 18:04:42 +0200 Subject: [PATCH] app_queue: set QUEUESTATUS to LEAVEEMPTY instead of CONTINUE When a call leaves a queue on leaveempty condition, QUEUESTATUS must be set to LEAVEEMPTY, no matter whether Queue was executed with or without the "c" (continue) option. The regression was introduced in the fix for ASTERISK_25665. The following fix (ASTERISK_27065) was incomplete, as QUEUESTATUS was overwritten in case when "c" is set, regardless of what was the cause for leaving the queue. ASTERISK-27973 #close Reported-by: Valentin Safonov Change-Id: Iec013fe6a26a4e825ca572a1dda4f3cee5f6f80c --- apps/app_queue.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/app_queue.c b/apps/app_queue.c index f783ac94de..31580b46b4 100644 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -8172,12 +8172,12 @@ stop: "%d|%d|%ld", qe.pos, qe.opos, (long) (time(NULL) - qe.start)); res = -1; - } else if (qcontinue) { - reason = QUEUE_CONTINUE; - res = 0; } else if (reason == QUEUE_LEAVEEMPTY) { /* Return back to dialplan, don't hang up */ res = 0; + } else if (qcontinue) { + reason = QUEUE_CONTINUE; + res = 0; } } else if (qe.valid_digits) { ast_queue_log(args.queuename, ast_channel_uniqueid(chan), "NONE", "EXITWITHKEY", -- 2.47.2