dect
/
asterisk
Archived
13
0
Fork 0

Adding two new queue log events. The ADDMEMBER event is logged when

a dynamic realtime queue member is added to the queue, and the 
REMOVEMEMBER event is logged when a dynamic realtime member is
removed. Since no calling channel is associated with these events
the string "REALTIME" is placed where the channel's unique id is
normally placed.

(closes issue #12774)
Reported by: atis
Patches:
      queue_log_rt_members.patch uploaded by atis (license 242)



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@120166 f38db490-d61c-443f-a65b-d21fe96a405b
This commit is contained in:
mmichelson 2008-06-03 21:22:52 +00:00
parent d8c22bd877
commit 33d1d68d0d
2 changed files with 8 additions and 0 deletions

View File

@ -481,6 +481,11 @@ Queue changes
position announced if their position is less than what is specified by announce-position-limit.
If announce-position is set to "more" then callers beyond the position specified by announce-position-limit
will be told that their are more than announce-position-limit callers waiting.
* Two new queue log events have been added. An ADDMEMBER event will be logged
when a realtime queue member is added and a REMOVEMEMBER event will be logged
when a realtime queue member is removed. Since there is no calling channel associated
with these events, the string "REALTIME" is placed where the channel's unique id
is typically placed.
MeetMe Changes
--------------

View File

@ -1358,6 +1358,7 @@ static void rt_handle_member_record(struct call_queue *q, char *interface, const
m->realtime = 1;
ast_copy_string(m->rt_uniqueid, rt_uniqueid, sizeof(m->rt_uniqueid));
add_to_interfaces(m->state_interface);
ast_queue_log(q->name, "REALTIME", m->interface, "ADDMEMBER", "%s", "");
ao2_link(q->members, m);
ao2_ref(m, -1);
m = NULL;
@ -1542,6 +1543,7 @@ static struct call_queue *find_queue_by_name_rt(const char *queuename, struct as
mem_iter = ao2_iterator_init(q->members, 0);
while ((m = ao2_iterator_next(&mem_iter))) {
if (m->dead) {
ast_queue_log(q->name, "REALTIME", m->interface, "REMOVEMEMBER", "%s", "");
ao2_unlink(q->members, m);
remove_from_interfaces(m->state_interface);
q->membercount--;
@ -1649,6 +1651,7 @@ static void update_realtime_members(struct call_queue *q)
mem_iter = ao2_iterator_init(q->members, 0);
while ((m = ao2_iterator_next(&mem_iter))) {
if (m->dead) {
ast_queue_log(q->name, "REALTIME", m->interface, "REMOVEMEMBER", "%s", "");
ao2_unlink(q->members, m);
remove_from_interfaces(m->state_interface);
q->membercount--;