app_queue: Member stuck as pending after forwarding previous call from queue

Queue member will get stuck in pending_members if queue calls a device
that is different from the one observed for state changes.

This patch removes members from pending_members as a result of channel stasis
events such as blind or attended transfers and hangup.

ASTERISK-26862 #close

Change-Id: I8bf6df487b9bb35726c08049ff25cdad5e357727
pull/7/head
Robert Mordec 8 years ago committed by Kevin Harwell
parent 732367e806
commit 79069f8ccb

@ -5574,6 +5574,13 @@ static int update_queue(struct call_queue *q, struct member *member, int callcom
member->membername, (long)member->lastcall);
ao2_unlock(q);
}
/* Member might never experience any direct status change (local
* channel with forwarding in particular). If that's the case,
* this is the last chance to remove it from pending or subsequent
* calls will not occur.
*/
pending_members_remove(member);
ao2_lock(q);
q->callscompleted++;
if (callcompletedinsl) {

Loading…
Cancel
Save