Index: apps/app_queue.c =================================================================== --- apps/app_queue.c (revision 77849) +++ apps/app_queue.c (working copy) @@ -2410,7 +2410,7 @@ { 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]=""; @@ -2528,6 +2528,7 @@ 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) @@ -2863,7 +2864,8 @@ } 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" @@ -2873,9 +2875,10 @@ "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)); Index: doc/tex/queuelog.tex =================================================================== --- doc/tex/queuelog.tex (revision 77849) +++ doc/tex/queuelog.tex (working copy) @@ -56,13 +56,14 @@ The configuration has been reloaded (e.g. with asterisk -rx reload) -\textbf{CONNECT(holdtime|bridgedchanneluniqueid)} +\textbf{CONNECT(holdtime|bridgedchanneluniqueid|ringtime)} The caller was connected to an agent. Hold time represents the amount of time the caller was on hold. The bridged channel unique ID contains the unique ID of the queue member channel that is taking the call. This is useful when trying to link recording filenames to a particular -call in the queue. +call in the queue. Ringtime represents the time the agents phone number +was ringing prior to get answered. \textbf{ENTERQUEUE(url|callerid)}