From: Kfir Itzhak Date: Wed, 26 Aug 2020 09:58:21 +0000 (+0300) Subject: app_queue: Fix leave-empty not recording a call as abandoned X-Git-Tag: 17.8.0-rc1~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cd53d8917bc9431c195b05cb47f3f4bc4651c354;p=thirdparty%2Fasterisk.git app_queue: Fix leave-empty not recording a call as abandoned This fixes a bug introduced mistakenly in ASTERISK-25665: If leave-empty is enabled, a call may sometimes be removed from a queue without recording it as abandoned. This causes Asterisk to not generate an abandon event for that call, and for the queue abandoned counter to be incorrect. ASTERISK-29043 #close Change-Id: I1a71b81df78adff59af587f1d8483cf57df430c7 --- diff --git a/apps/app_queue.c b/apps/app_queue.c index 6d5d767bc4..f5f3a5edcd 100644 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -5644,6 +5644,7 @@ static int wait_our_turn(struct queue_ent *qe, int ringing, enum queue_result *r int status = 0; if ((status = get_member_status(qe->parent, qe->max_penalty, qe->min_penalty, qe->raise_penalty, qe->parent->leavewhenempty, 0))) { + record_abandoned(qe); *reason = QUEUE_LEAVEEMPTY; ast_queue_log(qe->parent->name, ast_channel_uniqueid(qe->chan), "NONE", "EXITEMPTY", "%d|%d|%ld", qe->pos, qe->opos, (long) (time(NULL) - qe->start)); res = -1;