From 88fb11d10b4b0558926e1562eb78d0c611f34a5e Mon Sep 17 00:00:00 2001 From: "Kevin P. Fleming" Date: Fri, 10 Nov 2006 16:34:04 +0000 Subject: [PATCH] reflect addition/removal of dynamic queue members in queue_log, so that people using dialplan replacement for AgentCallbackLogin can still track login/logout (issue #7736, reported/patched by whoiswes but this commit was written by me and covers all three paths for AQM/RQM) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@47432 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- apps/app_queue.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/apps/app_queue.c b/apps/app_queue.c index 4b61f55650..f938533567 100644 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -3123,6 +3123,7 @@ static int rqm_exec(struct ast_channel *chan, void *data) switch (remove_from_queue(args.queuename, args.interface)) { case RES_OKAY: + ast_queue_log(args.queuename, chan->uniqueid, args.interface, "REMOVEMEMBER", "%s", ""); ast_log(LOG_DEBUG, "Removed interface '%s' from queue '%s'\n", args.interface, args.queuename); pbx_builtin_setvar_helper(chan, "RQMSTATUS", "REMOVED"); res = 0; @@ -3197,6 +3198,7 @@ static int aqm_exec(struct ast_channel *chan, void *data) switch (add_to_queue(args.queuename, args.interface, args.membername, penalty, 0, queue_persistent_members)) { case RES_OKAY: + ast_queue_log(args.queuename, chan->uniqueid, args.interface, "ADDMEMBER", "%s", ""); ast_log(LOG_NOTICE, "Added interface '%s' to queue '%s'\n", args.interface, args.queuename); pbx_builtin_setvar_helper(chan, "AQMSTATUS", "ADDED"); res = 0; @@ -4162,6 +4164,7 @@ static int manager_add_queue_member(struct mansession *s, struct message *m) switch (add_to_queue(queuename, interface, membername, penalty, paused, queue_persistent_members)) { case RES_OKAY: + ast_queue_log(queuename, "MANAGER", interface, "ADDMEMBER", "%s", ""); astman_send_ack(s, m, "Added interface to queue"); break; case RES_EXISTS: @@ -4192,6 +4195,7 @@ static int manager_remove_queue_member(struct mansession *s, struct message *m) switch (remove_from_queue(queuename, interface)) { case RES_OKAY: + ast_queue_log(queuename, "MANAGER", interface, "REMOVEMEMBER", "%s", ""); astman_send_ack(s, m, "Removed interface from queue"); break; case RES_EXISTS: @@ -4270,6 +4274,7 @@ static int handle_queue_add_member(int fd, int argc, char *argv[]) switch (add_to_queue(queuename, interface, membername, penalty, 0, queue_persistent_members)) { case RES_OKAY: + ast_queue_log(queuename, "CLI", interface, "ADDMEMBER", "%s", ""); ast_cli(fd, "Added interface '%s' to queue '%s'\n", interface, queuename); return RESULT_SUCCESS; case RES_EXISTS: @@ -4332,6 +4337,7 @@ static int handle_queue_remove_member(int fd, int argc, char *argv[]) switch (remove_from_queue(queuename, interface)) { case RES_OKAY: + ast_queue_log(queuename, "CLI", interface, "REMOVEMEMBER", "%s", ""); ast_cli(fd, "Removed interface '%s' from queue '%s'\n", interface, queuename); return RESULT_SUCCESS; case RES_EXISTS: