[Home]

Summary:ASTERISK-25038: Queue log "EXITWITHTIMEOUT" does not always contain waiting time
Reporter:Etienne Lessard (hexanol)Labels:
Date Opened:2015-04-30 07:44:17Date Closed:2015-05-06 11:06:29
Priority:MinorRegression?
Status:Closed/CompleteComponents:Applications/app_queue
Versions:11.17.1 Frequency of
Occurrence
Constant
Related
Issues:
Environment:Attachments:
Description:In app_queue, the EXITWITHTIMEOUT event is not always generated with the same parameters, i.e. sometimes the waiting time (3rd parameter) is missing.

For example, in the queue_exec function, you have a first occurence of the EXITWITHTIMEOUT event, which looks like this:

{noformat}
if (qe.expire && (time(NULL) >= qe.expire)) {
record_abandoned(&qe);
reason = QUEUE_TIMEOUT;
res = 0;
ast_queue_log(args.queuename, ast_channel_uniqueid(chan),"NONE", "EXITWITHTIMEOUT", "%d|%d|%ld",
qe.pos, qe.opos, (long) (time(NULL) - qe.start));
break;
}
{noformat}

and then a few lines lower, you have:

{noformat}
if (qe.expire && (time(NULL) >= qe.expire)) {
record_abandoned(&qe);
reason = QUEUE_TIMEOUT;
res = 0;
ast_queue_log(args.queuename, ast_channel_uniqueid(chan), "NONE", "EXITWITHTIMEOUT", "%d", qe.pos);
break;
}
{noformat}

i.e the first occurrence logs more information than the second, and there does not seem to be any particular reason for the second occurrence to log less information.
Comments: