Make sure that callers kicked from queue because of joinempty and leavewhenempty have an event logged with regard to the reason for their departure. #6559 (Corydon76)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@24566 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
parent
944c8cc4a6
commit
80c34d2a91
|
@ -1960,6 +1960,7 @@ static int wait_our_turn(struct queue_ent *qe, int ringing, enum queue_result *r
|
||||||
/* leave the queue if no agents, if enabled */
|
/* leave the queue if no agents, if enabled */
|
||||||
if (qe->parent->leavewhenempty && (stat == QUEUE_NO_MEMBERS)) {
|
if (qe->parent->leavewhenempty && (stat == QUEUE_NO_MEMBERS)) {
|
||||||
*reason = QUEUE_LEAVEEMPTY;
|
*reason = QUEUE_LEAVEEMPTY;
|
||||||
|
ast_queue_log(qe->parent->name, qe->chan->uniqueid, "NONE", "EXITEMPTY", "%d|%d|%ld", qe->pos, qe->opos, (long)time(NULL) - qe->start);
|
||||||
leave_queue(qe);
|
leave_queue(qe);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -1967,6 +1968,7 @@ static int wait_our_turn(struct queue_ent *qe, int ringing, enum queue_result *r
|
||||||
/* leave the queue if no reachable agents, if enabled */
|
/* leave the queue if no reachable agents, if enabled */
|
||||||
if ((qe->parent->leavewhenempty == QUEUE_EMPTY_STRICT) && (stat == QUEUE_NO_REACHABLE_MEMBERS)) {
|
if ((qe->parent->leavewhenempty == QUEUE_EMPTY_STRICT) && (stat == QUEUE_NO_REACHABLE_MEMBERS)) {
|
||||||
*reason = QUEUE_LEAVEUNAVAIL;
|
*reason = QUEUE_LEAVEUNAVAIL;
|
||||||
|
ast_queue_log(qe->parent->name, qe->chan->uniqueid, "NONE", "EXITEMPTY", "%d|%d|%ld", qe->pos, qe->opos, (long)time(NULL) - qe->start);
|
||||||
leave_queue(qe);
|
leave_queue(qe);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -61,6 +61,14 @@ ENTERQUEUE(url|callerid)
|
||||||
A call has entered the queue. URL (if specified) and Caller*ID are placed
|
A call has entered the queue. URL (if specified) and Caller*ID are placed
|
||||||
in the log.
|
in the log.
|
||||||
|
|
||||||
|
EXITEMPTY(position|origposition|waittime)
|
||||||
|
The caller was exited from the queue forcefully because the queue had no
|
||||||
|
reachable members and it's configured to do that to callers when there
|
||||||
|
are no reachable members. The position is the caller's position in the
|
||||||
|
queue when they hungup, the origposition is the original position the
|
||||||
|
caller was when they first entered the queue, and the waittime is how
|
||||||
|
long the call had been waiting in the queue at the time of disconnect.
|
||||||
|
|
||||||
EXITWITHKEY(key|position)
|
EXITWITHKEY(key|position)
|
||||||
The caller elected to use a menu key to exit the queue. The key and
|
The caller elected to use a menu key to exit the queue. The key and
|
||||||
the caller's position in the queue are recorded.
|
the caller's position in the queue are recorded.
|
||||||
|
|
Loading…
Reference in New Issue