diff options
Diffstat (limited to 'apps/app_queue.c')
-rw-r--r-- | apps/app_queue.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/apps/app_queue.c b/apps/app_queue.c index 291c883bd..79dd301ca 100644 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -2460,7 +2460,7 @@ static int try_calling(struct queue_ent *qe, const char *options, char *announce { struct member *cur; struct callattempt *outgoing = NULL; /* the list of calls we are building */ - int to; + int to, orig; char oldexten[AST_MAX_EXTENSION]=""; char oldcontext[AST_MAX_CONTEXT]=""; char queuename[256]=""; @@ -2583,6 +2583,7 @@ static int try_calling(struct queue_ent *qe, const char *options, char *announce to = (qe->expire - now) * 1000; else to = (qe->parent->timeout) ? qe->parent->timeout * 1000 : -1; + orig = to; ring_one(qe, outgoing, &numbusies); ast_mutex_unlock(&qe->parent->lock); if (use_weight) @@ -2918,7 +2919,8 @@ static int try_calling(struct queue_ent *qe, const char *options, char *announce } else ast_log(LOG_WARNING, "Asked to execute an AGI on this channel, but could not find application (agi)!\n"); } - ast_queue_log(queuename, qe->chan->uniqueid, member->membername, "CONNECT", "%ld|%s", (long) time(NULL) - qe->start, peer->uniqueid); + ast_queue_log(queuename, qe->chan->uniqueid, member->membername, "CONNECT", "%ld|%s|%ld", (long) time(NULL) - qe->start, peer->uniqueid, + (long)(orig - to > 0 ? (orig - to) / 1000 : 0)); if (qe->parent->eventwhencalled) manager_event(EVENT_FLAG_AGENT, "AgentConnect", "Queue: %s\r\n" @@ -2928,9 +2930,10 @@ static int try_calling(struct queue_ent *qe, const char *options, char *announce "MemberName: %s\r\n" "Holdtime: %ld\r\n" "BridgedChannel: %s\r\n" + "Ringtime: %ld\r\n" "%s", queuename, qe->chan->uniqueid, peer->name, member->interface, member->membername, - (long) time(NULL) - qe->start, peer->uniqueid, + (long) time(NULL) - qe->start, peer->uniqueid, (long)(orig - to > 0 ? (orig - to) / 1000 : 0), qe->parent->eventwhencalled == QUEUE_EVENT_VARIABLES ? vars2manager(qe->chan, vars, sizeof(vars)) : ""); ast_copy_string(oldcontext, qe->chan->context, sizeof(oldcontext)); ast_copy_string(oldexten, qe->chan->exten, sizeof(oldexten)); |