[asterisk-dev] [Code Review]: app_queue log membername when state_interface is set for ADDMEMBER and REMOVEMEMBER events.

jamuel reviewboard at asterisk.org
Wed Jul 13 14:46:01 CDT 2011



> On July 12, 2011, 7:34 p.m., Tilghman Lesher wrote:
> > http://svn.asterisk.org/svn/asterisk/trunk/apps/app_queue.c, lines 2175-2179
> > <https://reviewboard.asterisk.org/r/1286/diff/6/?file=17455#file17455line2175>
> >
> >     Just one (perhaps stupid) question.  In the ast_queue_log facility, the final arguments are a format string and an argument, for carrying extra information.  Why are we modifying one of the primary arguments, instead of adding an extra argument to the tail of the queue log entry?  Wouldn't it make sense that somebody is going to want BOTH the interface AND the membername?

I was attempting to make the queue_log's add/remove events "behave" like the other events that log membername instead of interface.  Do you think this patch should be the other way around? I'd vote for making these two event types conform with the behavior of the rest (for the sake of simplicity and maintaining the most backward compatible behavior).


- jamuel


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/1286/#review3863
-----------------------------------------------------------


On July 12, 2011, 5:12 p.m., jamuel wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/1286/
> -----------------------------------------------------------
> 
> (Updated July 12, 2011, 5:12 p.m.)
> 
> 
> Review request for Asterisk Developers, Tilghman Lesher, leifmadsen, opticron, and irroot.
> 
> 
> 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
> -----
> 
>   http://svn.asterisk.org/svn/asterisk/trunk/apps/app_queue.c 327949 
>   http://svn.asterisk.org/svn/asterisk/trunk/configs/queues.conf.sample 327949 
> 
> 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/20110713/804c8449/attachment-0001.htm>


More information about the asterisk-dev mailing list