|
|
|
@ -5284,7 +5284,7 @@ static int wait_our_turn(struct queue_ent *qe, int ringing, enum queue_result *r
|
|
|
|
|
|
|
|
|
|
if ((status = get_member_status(qe->parent, qe->max_penalty, qe->min_penalty, qe->parent->leavewhenempty, 0))) {
|
|
|
|
|
*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);
|
|
|
|
|
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));
|
|
|
|
|
leave_queue(qe);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
@ -5702,8 +5702,8 @@ static void log_attended_transfer(struct queue_stasis_data *queue_data, struct a
|
|
|
|
|
|
|
|
|
|
ast_queue_log(queue_data->queue->name, caller->uniqueid, queue_data->member->membername, "ATTENDEDTRANSFER", "%s|%ld|%ld|%d",
|
|
|
|
|
ast_str_buffer(transfer_str),
|
|
|
|
|
(long) queue_data->starttime - queue_data->holdstart,
|
|
|
|
|
(long) time(NULL) - queue_data->starttime, queue_data->caller_pos);
|
|
|
|
|
(long) (queue_data->starttime - queue_data->holdstart),
|
|
|
|
|
(long) (time(NULL) - queue_data->starttime), queue_data->caller_pos);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
@ -5789,8 +5789,8 @@ static void handle_blind_transfer(void *userdata, struct stasis_subscription *su
|
|
|
|
|
ast_queue_log(queue_data->queue->name, caller_snapshot->uniqueid, queue_data->member->membername,
|
|
|
|
|
"BLINDTRANSFER", "%s|%s|%ld|%ld|%d",
|
|
|
|
|
exten, context,
|
|
|
|
|
(long) queue_data->starttime - queue_data->holdstart,
|
|
|
|
|
(long) time(NULL) - queue_data->starttime, queue_data->caller_pos);
|
|
|
|
|
(long) (queue_data->starttime - queue_data->holdstart),
|
|
|
|
|
(long) (time(NULL) - queue_data->starttime), queue_data->caller_pos);
|
|
|
|
|
|
|
|
|
|
send_agent_complete(queue_data->queue->name, caller_snapshot, member_snapshot, queue_data->member,
|
|
|
|
|
queue_data->holdstart, queue_data->starttime, TRANSFER);
|
|
|
|
@ -6657,7 +6657,7 @@ static int try_calling(struct queue_ent *qe, struct ast_flags opts, char **opt_a
|
|
|
|
|
} else if (ast_check_hangup(qe->chan)) {
|
|
|
|
|
/* Caller must have hung up just before being connected */
|
|
|
|
|
ast_log(LOG_NOTICE, "Caller was about to talk to agent on %s but the caller hungup.\n", ast_channel_name(peer));
|
|
|
|
|
ast_queue_log(queuename, ast_channel_uniqueid(qe->chan), member->membername, "ABANDON", "%d|%d|%ld", qe->pos, qe->opos, (long) time(NULL) - qe->start);
|
|
|
|
|
ast_queue_log(queuename, ast_channel_uniqueid(qe->chan), member->membername, "ABANDON", "%d|%d|%ld", qe->pos, qe->opos, (long) (time(NULL) - qe->start));
|
|
|
|
|
record_abandoned(qe);
|
|
|
|
|
ast_channel_publish_dial(qe->chan, peer, member->interface, ast_hangup_cause_to_dial_status(ast_channel_hangupcause(peer)));
|
|
|
|
|
ast_autoservice_chan_hangup_peer(qe->chan, peer);
|
|
|
|
@ -6705,7 +6705,7 @@ static int try_calling(struct queue_ent *qe, struct ast_flags opts, char **opt_a
|
|
|
|
|
/* use pbx_builtin_setvar to set a load of variables with one call */
|
|
|
|
|
if (qe->parent->setqueueentryvar) {
|
|
|
|
|
snprintf(interfacevar, sizeof(interfacevar), "QEHOLDTIME=%ld,QEORIGINALPOS=%d",
|
|
|
|
|
(long) time(NULL) - qe->start, qe->opos);
|
|
|
|
|
(long) (time(NULL) - qe->start), qe->opos);
|
|
|
|
|
pbx_builtin_setvar_multiple(qe->chan, interfacevar);
|
|
|
|
|
pbx_builtin_setvar_multiple(peer, interfacevar);
|
|
|
|
|
}
|
|
|
|
@ -6831,14 +6831,14 @@ static int try_calling(struct queue_ent *qe, struct ast_flags opts, char **opt_a
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
qe->handled++;
|
|
|
|
|
ast_queue_log(queuename, ast_channel_uniqueid(qe->chan), member->membername, "CONNECT", "%ld|%s|%ld", (long) time(NULL) - qe->start, ast_channel_uniqueid(peer),
|
|
|
|
|
ast_queue_log(queuename, ast_channel_uniqueid(qe->chan), member->membername, "CONNECT", "%ld|%s|%ld", (long) (time(NULL) - qe->start), ast_channel_uniqueid(peer),
|
|
|
|
|
(long)(orig - to > 0 ? (orig - to) / 1000 : 0));
|
|
|
|
|
|
|
|
|
|
blob = ast_json_pack("{s: s, s: s, s: s, s: i, s: i}",
|
|
|
|
|
"Queue", queuename,
|
|
|
|
|
"Interface", member->interface,
|
|
|
|
|
"MemberName", member->membername,
|
|
|
|
|
"HoldTime", (long) time(NULL) - qe->start,
|
|
|
|
|
"HoldTime", (long) (time(NULL) - qe->start),
|
|
|
|
|
"RingTime", (long)(orig - to > 0 ? (orig - to) / 1000 : 0));
|
|
|
|
|
queue_publish_multi_channel_blob(qe->chan, peer, queue_agent_connect_type(), blob);
|
|
|
|
|
|
|
|
|
@ -7898,7 +7898,7 @@ check_turns:
|
|
|
|
|
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);
|
|
|
|
|
qe.pos, qe.opos, (long) (time(NULL) - qe.start));
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -7964,7 +7964,7 @@ check_turns:
|
|
|
|
|
record_abandoned(&qe);
|
|
|
|
|
reason = QUEUE_TIMEOUT;
|
|
|
|
|
res = 0;
|
|
|
|
|
ast_queue_log(qe.parent->name, ast_channel_uniqueid(qe.chan),"NONE", "EXITWITHTIMEOUT", "%d|%d|%ld", qe.pos, qe.opos, (long) time(NULL) - qe.start);
|
|
|
|
|
ast_queue_log(qe.parent->name, ast_channel_uniqueid(qe.chan),"NONE", "EXITWITHTIMEOUT", "%d|%d|%ld", qe.pos, qe.opos, (long) (time(NULL) - qe.start));
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -7993,7 +7993,7 @@ stop:
|
|
|
|
|
record_abandoned(&qe);
|
|
|
|
|
ast_queue_log(args.queuename, ast_channel_uniqueid(chan), "NONE", "ABANDON",
|
|
|
|
|
"%d|%d|%ld", qe.pos, qe.opos,
|
|
|
|
|
(long) time(NULL) - qe.start);
|
|
|
|
|
(long) (time(NULL) - qe.start));
|
|
|
|
|
res = -1;
|
|
|
|
|
} else if (qcontinue) {
|
|
|
|
|
reason = QUEUE_CONTINUE;
|
|
|
|
@ -8001,7 +8001,7 @@ stop:
|
|
|
|
|
}
|
|
|
|
|
} else if (qe.valid_digits) {
|
|
|
|
|
ast_queue_log(args.queuename, ast_channel_uniqueid(chan), "NONE", "EXITWITHKEY",
|
|
|
|
|
"%s|%d|%d|%ld", qe.digits, qe.pos, qe.opos, (long) time(NULL) - qe.start);
|
|
|
|
|
"%s|%d|%d|%ld", qe.digits, qe.pos, qe.opos, (long) (time(NULL) - qe.start));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|