[Asterisk-cvs] asterisk/apps app_queue.c,1.118,1.119

markster at lists.digium.com markster at lists.digium.com
Sat Jan 29 16:41:04 CST 2005


Update of /usr/cvsroot/asterisk/apps
In directory mongoose.digium.com:/tmp/cvs-serv26606/apps

Modified Files:
	app_queue.c 
Log Message:
Add more manager events in queue (if enabled) (bug #3454)


Index: app_queue.c
===================================================================
RCS file: /usr/cvsroot/asterisk/apps/app_queue.c,v
retrieving revision 1.118
retrieving revision 1.119
diff -u -d -r1.118 -r1.119
--- app_queue.c	25 Jan 2005 06:10:19 -0000	1.118
+++ app_queue.c	29 Jan 2005 22:42:40 -0000	1.119
@@ -1557,6 +1557,14 @@
 				/* Agent must have hung up */
 				ast_log(LOG_WARNING, "Agent on %s hungup on the customer.  They're going to be pissed.\n", peer->name);
 				ast_queue_log(queuename, qe->chan->uniqueid, peer->name, "AGENTDUMP", "%s", "");
+				if (ast_test_flag(qe->parent, QUEUE_FLAG_EVENTWHENCALLED)) {
+					manager_event(EVENT_FLAG_AGENT, "AgentDump",
+							"Queue: %s\r\n"
+							"Uniqueid: %s\r\n"
+							"Channel: %s\r\n"
+							"Member: %s\r\n",
+						queuename, qe->chan->uniqueid, peer->name, member->interface);
+				}
 				ast_hangup(peer);
 				return -1;
 			}
@@ -1594,6 +1602,15 @@
  			ast_channel_sendurl( peer, url );
  		}
 		ast_queue_log(queuename, qe->chan->uniqueid, peer->name, "CONNECT", "%ld", (long)time(NULL) - qe->start);
+		if (ast_test_flag(qe->parent, QUEUE_FLAG_EVENTWHENCALLED)) {
+			manager_event(EVENT_FLAG_AGENT, "AgentConnect",
+					"Queue: %s\r\n"
+					"Uniqueid: %s\r\n"
+					"Channel: %s\r\n"
+					"Member: %s\r\n"
+					"Holdtime: %ld\r\n",
+				queuename, qe->chan->uniqueid, peer->name, member->interface, (long)time(NULL) - qe->start);
+		}
 		strncpy(oldcontext, qe->chan->context, sizeof(oldcontext) - 1);
 		strncpy(oldexten, qe->chan->exten, sizeof(oldexten) - 1);
 		time(&callstart);
@@ -1613,8 +1630,30 @@
 			ast_queue_log(queuename, qe->chan->uniqueid, peer->name, "TRANSFER", "%s|%s", qe->chan->exten, qe->chan->context);
 		} else if (qe->chan->_softhangup) {
 			ast_queue_log(queuename, qe->chan->uniqueid, peer->name, "COMPLETECALLER", "%ld|%ld", (long)(callstart - qe->start), (long)(time(NULL) - callstart));
+			if (ast_test_flag(qe->parent, QUEUE_FLAG_EVENTWHENCALLED)) {
+				manager_event(EVENT_FLAG_AGENT, "AgentComplete",
+						"Queue: %s\r\n"
+						"Uniqueid: %s\r\n"
+						"Channel: %s\r\n"
+						"Member: %s\r\n"
+						"HoldTime: %ld\r\n"
+						"TalkTime: %ld\r\n"
+						"Reason: caller\r\n",
+						queuename, qe->chan->uniqueid, peer->name, member->interface, (long)(callstart - qe->start), (long)(time(NULL) - callstart));
+			}
 		} else {
 			ast_queue_log(queuename, qe->chan->uniqueid, peer->name, "COMPLETEAGENT", "%ld|%ld", (long)(callstart - qe->start), (long)(time(NULL) - callstart));
+			if (ast_test_flag(qe->parent, QUEUE_FLAG_EVENTWHENCALLED)) {
+				manager_event(EVENT_FLAG_AGENT, "AgentComplete",
+						"Queue: %s\r\n"
+						"Uniqueid: %s\r\n"
+						"Channel: %s\r\n"
+						"HoldTime: %ld\r\n"
+						"TalkTime: %ld\r\n"
+						"Reason: agent\r\n",
+					queuename, qe->chan->uniqueid, peer->name, (long)(callstart - qe->start), (long)(time(NULL) - callstart));
+			}
+
 		}
 
 		if(bridge != AST_PBX_NO_HANGUP_PEER)




More information about the svn-commits mailing list