[Asterisk-cvs] asterisk/apps app_queue.c,1.132,1.133

markster at lists.digium.com markster at lists.digium.com
Sun Apr 10 21:12:09 CDT 2005


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

Modified Files:
	app_queue.c 
Log Message:
Add option to mask certain high frequency events (bug #3707)


Index: app_queue.c
===================================================================
RCS file: /usr/cvsroot/asterisk/apps/app_queue.c,v
retrieving revision 1.132
retrieving revision 1.133
diff -u -d -r1.132 -r1.133
--- app_queue.c	9 Apr 2005 18:58:44 -0000	1.132
+++ app_queue.c	11 Apr 2005 02:04:08 -0000	1.133
@@ -275,6 +275,7 @@
 		unsigned int timeoutrestart:1;
 		unsigned int announceholdtime:2;
 		unsigned int strategy:3;
+		unsigned int maskmemberstatus:1;
 	int announcefrequency;          /* How often to announce their position */
 	int roundingseconds;            /* How many seconds do we round to? */
 	int holdtime;                   /* Current avg holdtime, based on recursive boxcar filter */
@@ -424,17 +425,19 @@
 			if (!strcasecmp(sc->dev, cur->interface)) {
 				if (cur->status != sc->state) {
 					cur->status = sc->state;
-					manager_event(EVENT_FLAG_AGENT, "QueueMemberStatus",
-						"Queue: %s\r\n"
-						"Location: %s\r\n"
-						"Membership: %s\r\n"
-						"Penalty: %d\r\n"
-						"CallsTaken: %d\r\n"
-						"LastCall: %ld\r\n"
-						"Status: %d\r\n"
-						"Paused: %d\r\n",
-					q->name, cur->interface, cur->dynamic ? "dynamic" : "static",
-					cur->penalty, cur->calls, cur->lastcall, cur->status, cur->paused);
+					if (!q->maskmemberstatus) {
+						manager_event(EVENT_FLAG_AGENT, "QueueMemberStatus",
+							"Queue: %s\r\n"
+							"Location: %s\r\n"
+							"Membership: %s\r\n"
+							"Penalty: %d\r\n"
+							"CallsTaken: %d\r\n"
+							"LastCall: %ld\r\n"
+							"Status: %d\r\n"
+							"Paused: %d\r\n",
+						q->name, cur->interface, cur->dynamic ? "dynamic" : "static",
+						cur->penalty, cur->calls, cur->lastcall, cur->status, cur->paused);
+					}
 				}
 			}
 			cur = cur->next;
@@ -765,17 +768,19 @@
 	while(cur) {
 		if (member == cur) {
 			cur->status = status;
-			manager_event(EVENT_FLAG_AGENT, "QueueMemberStatus",
-				"Queue: %s\r\n"
-				"Location: %s\r\n"
-				"Membership: %s\r\n"
-				"Penalty: %d\r\n"
-				"CallsTaken: %d\r\n"
-				"LastCall: %ld\r\n"
-				"Status: %d\r\n"
-				"Paused: %d\r\n",
-					q->name, cur->interface, cur->dynamic ? "dynamic" : "static",
-					cur->penalty, cur->calls, cur->lastcall, cur->status, cur->paused);
+			if (!q->maskmemberstatus) {
+				manager_event(EVENT_FLAG_AGENT, "QueueMemberStatus",
+					"Queue: %s\r\n"
+					"Location: %s\r\n"
+					"Membership: %s\r\n"
+					"Penalty: %d\r\n"
+					"CallsTaken: %d\r\n"
+					"LastCall: %ld\r\n"
+					"Status: %d\r\n"
+					"Paused: %d\r\n",
+				q->name, cur->interface, cur->dynamic ? "dynamic" : "static",
+				cur->penalty, cur->calls, cur->lastcall, cur->status, cur->paused);
+			}
 			break;
 		}
 		cur = cur->next;
@@ -2667,6 +2672,8 @@
 							q->leavewhenempty = QUEUE_EMPTY_NORMAL;
 						else
 							q->leavewhenempty = 0;
+					} else if (!strcasecmp(var->name, "eventmemberstatus")) {
+						q->maskmemberstatus = !ast_true(var->value);
 					} else if (!strcasecmp(var->name, "eventwhencalled")) {
 						q->eventwhencalled = ast_true(var->value);
 					} else if (!strcasecmp(var->name, "reportholdtime")) {




More information about the svn-commits mailing list