Merge "app_queue: Ensure member is removed from pending when hanging up." into 11

changes/39/3739/2
zuul 10 years ago committed by Gerrit Code Review
commit 4246666a3d

@ -3482,6 +3482,16 @@ static void hangupcalls(struct callattempt *outgoing, struct ast_channel *except
if (exception || cancel_answered_elsewhere) {
ast_channel_hangupcause_set(outgoing->chan, AST_CAUSE_ANSWERED_ELSEWHERE);
}
/* When dialing channels it is possible that they may not ever
* leave the not in use state (Local channels in particular) by
* the time we cancel them. If this occurs but we know they were
* dialed we explicitly remove them from the pending members
* container so that subsequent call attempts occur.
*/
if (outgoing->member->status == AST_DEVICE_NOT_INUSE) {
pending_members_remove(outgoing->member);
}
ast_hangup(outgoing->chan);
}
oo = outgoing;

Loading…
Cancel
Save