[asterisk-dev] [Code Review] app_queue log membername when state_interface is set for ADDMEMBER and REMOVEMEMBER events.
jamuel
reviewboard at asterisk.org
Fri Jul 29 15:10:59 CDT 2011
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/1286/
-----------------------------------------------------------
(Updated July 29, 2011, 3:10 p.m.)
Review request for Asterisk Developers, Russell Bryant, Tilghman Lesher, David Vossel, rmudgett, leifmadsen, opticron, and irroot.
Changes
-------
Updated to TRUNK-330273 to take advantage of Russell's recent commit that allows avoiding using temporary objects + ao2_find() with OBJ_POINTER for the my *find_member_by_queuename_and_interface function. All included suggestions by David V and Richard M.
Summary
-------
app_queue logs the events ADDMEMBER and REMOVEMEMBER with the agent field set to the interface value rather than the membername value when a member is added with a state_interface value set. However all other member related queue events are logged with the membername when a state_interface is set. It would seem that these ADD/REMOVE MEMBER events should log the agent field in the same manner.
This patch addresses the original issue reported in https://issues.asterisk.org/jira/browse/ASTERISK-14769 by providing a queues.conf general configuration option log_membername_as-agent. Setting log_membername_as_agent = yes will cause the membername to be logged in the agent field for ADDMEMBER and REMOVEMEMBER queue events if a state_interface has been set.
The default value (log_membername_as_agent = no) does not alter the existing logging for the ADDMEMBER and REMOVEMEMBER events to maintain existing (buggy) behavior for the sake of backwards compatibility.
This addresses bug https://issues.asterisk.org/jira/browse/ASTERISK-14769.
https://issues.asterisk.org/jira/browse/https://issues.asterisk.org/jira/browse/ASTERISK-14769
Diffs (updated)
-----
http://svn.asterisk.org/svn/asterisk/trunk/apps/app_queue.c 330273
http://svn.asterisk.org/svn/asterisk/trunk/configs/queues.conf.sample 330273
Diff: https://reviewboard.asterisk.org/r/1286/diff
Testing
-------
Tested add, remove, pause, unpause via AMI, CLI, and Dialplan apps and see the correct log output to queue_log. Also tested with log_membername_as_agent omitted to insure backward compatibility for those queues.conf that might not be updated for this new option.
Sample test plan (add and remove)
---------------------------------
set log_membername_as_agent = yes in queues.conf
AMI:
====
Action: QueueAdd
Queue: 4152000400
Interface: Local/4152000501 at from-internal/n
Penalty: 0
Paused: 0
MemberName: Edward Frank
Action: QueueRemove
Queue: 4152000400
Interface: Local/4152000501 at from-internal/n
Action: QueueAdd
Queue: 4152000400
Interface: Local/4152000501 at from-internal/n
Action: QueueRemove
Queue: 4152000400
Interface: Local/4152000501 at from-internal/n
CLI:
====
> queue add member Local/4152000501 at from-internal/n to 4152000400 penalty 0 as "Edward Frank" state_interface Sip/SOFTJPS
> queue remove member Local/4152000501 at from-internal/n from 4152000400
> queue add member Local/4152000501 at from-internal/n to 4152000400
> queue remove member Local/4152000501 at from-internal/n from 4152000400
Dialplan:
=========
[from-test]
exten => 1234,1,AddQueueMember(4152000400,Local/4152000501 at from-internal/n,0,,Edward Davis,Sip/SOFTJPS)
exten => 1234,n,RemoveQueueMember(4152000400,Local/4152000501 at from-internal/n)
exten => 1234,n,Hangup()
exten => 5678,1,AddQueueMember(4152000400,Local/4152000501 at from-internal/n,0)
exten => 5678,n,RemoveQueueMember(4152000400,Local/4152000501 at from-internal/n)
exten => 5678,n,Hangup()
Rinse and repeat with log_membername_as_agent = no
Repeat with log_membername_as_agent omitted.
Thanks,
jamuel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20110729/1c2b6cb4/attachment-0001.htm>
More information about the asterisk-dev
mailing list