[asterisk-commits] qwell: trunk r77879 - in /trunk: apps/app_queue.c doc/tex/queuelog.tex

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Wed Aug 1 15:05:14 CDT 2007


Author: qwell
Date: Wed Aug  1 15:05:13 2007
New Revision: 77879

URL: http://svn.digium.com/view/asterisk?view=rev&rev=77879
Log:
Add the Ring time in the CONNECT on the queue_log and on the Manager event AgentConnect

Closes issue #10349, patch by eliel

Modified:
    trunk/apps/app_queue.c
    trunk/doc/tex/queuelog.tex

Modified: trunk/apps/app_queue.c
URL: http://svn.digium.com/view/asterisk/trunk/apps/app_queue.c?view=diff&rev=77879&r1=77878&r2=77879
==============================================================================
--- trunk/apps/app_queue.c (original)
+++ trunk/apps/app_queue.c Wed Aug  1 15:05:13 2007
@@ -2460,7 +2460,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]="";
@@ -2583,6 +2583,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)
@@ -2918,7 +2919,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"
@@ -2928,9 +2930,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));

Modified: trunk/doc/tex/queuelog.tex
URL: http://svn.digium.com/view/asterisk/trunk/doc/tex/queuelog.tex?view=diff&rev=77879&r1=77878&r2=77879
==============================================================================
--- trunk/doc/tex/queuelog.tex (original)
+++ trunk/doc/tex/queuelog.tex Wed Aug  1 15:05:13 2007
@@ -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 queue members phone
+was ringing prior to being answered.
 
 \textbf{ENTERQUEUE(url|callerid)}
 




More information about the asterisk-commits mailing list