From fed9126600b9a00e58a527fc2e5be5c5a7e4e318 Mon Sep 17 00:00:00 2001
From: "Kevin P. Fleming" <kpfleming@digium.com>
Date: Fri, 10 Nov 2006 16:37:42 +0000
Subject: [PATCH] Merged revisions 47432 via svnmerge from
 https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r47432 | kpfleming | 2006-11-10 10:34:04 -0600 (Fri, 10 Nov 2006) | 2 lines

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/trunk@47434 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 c8b5a86a1c..3712a4d052 100644
--- a/apps/app_queue.c
+++ b/apps/app_queue.c
@@ -3202,6 +3202,7 @@ static int rqm_exec(struct ast_channel *chan, void *data)
 	case RES_OKAY:
 		if (option_debug)
 			ast_log(LOG_DEBUG, "Removed interface '%s' from queue '%s'\n", args.interface, args.queuename);
+		ast_queue_log(args.queuename, chan->uniqueid, args.interface, "REMOVEMEMBER", "%s", "");
 		pbx_builtin_setvar_helper(chan, "RQMSTATUS", "REMOVED");
 		res = 0;
 		break;
@@ -3276,6 +3277,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;
@@ -4365,6 +4367,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:
@@ -4395,6 +4398,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:
@@ -4473,6 +4477,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:
@@ -4535,6 +4540,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:
-- 
GitLab