[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