[asterisk-dev] [Code Review] Allow to set the wrapuptime per queue member, and disable the wrapuptime for the next call or increase its value as requested.

Mark Michelson mmichelson at digium.com
Tue Apr 14 18:25:47 CDT 2009


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.digium.com/r/222/#review696
-----------------------------------------------------------



/trunk/apps/app_queue.c
<http://reviewboard.digium.com/r/222/#comment1798>

    You need to be sure to ao2_ref(mem, -1) here.
    
    After seeing this, I see there are a bunch of these missing in app_queue.



/trunk/apps/app_queue.c
<http://reviewboard.digium.com/r/222/#comment1792>

    Instead of having two separate headers which are mutually exclusive, you could instead have one header. If the user gives a + or - before the number, then interpret this as a relative offset of the member's current wrapuptime. If not, treat it as an absolute wrapuptime.



/trunk/apps/app_queue.c
<http://reviewboard.digium.com/r/222/#comment1789>

    I think all of these ast_strlen_zero calls should be !ast_strlen_zero.


- Mark


On 2009-04-14 15:09:45, Eliel Sardañons wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviewboard.digium.com/r/222/
> -----------------------------------------------------------
> 
> (Updated 2009-04-14 15:09:45)
> 
> 
> Review request for Asterisk Developers.
> 
> 
> Summary
> -------
> 
> The idea is to allow to configure the wrapuptime for each member of a queue, and allow to disable the wrapuptime or increase it for the next call.
> There is a manager action (the documentation is missing) called QueueWrapuptime (I would like to call it QueueMemberWrapuptime, but penalty is also called QueuePenalty [??]), the action takes four params:
> Interface: <required>
> Queue: <optional>
> Static: <required>
> {Offset | Absolute}: <required>
> 
> If a queue is passed, only the member in that queue is updated, if it is not specified, all the members with interface 'Interface' will be updated.
> You can use 'Offset' or 'Absolute' to change the wrapuptime. Offset will increase or decrease the wrapuptime instead of replacing it with your value.
> Example (the agent wants more time):
> Action: QueueWrapuptime
> Interface: Agent/1000
> Static: 0
> Offset: 60
> 
> Or The user wants to disable the wrapuptime for the next call:
> Action: QueueWrapuptime
> Interface: Agent/1000
> Static: 0
> Absolute: 0
> 
> The 'Static' parameter will tell the action to persist the new wrapuptime in the member configuration (in memory) and will be used for all the future calls. If 'Static' is 0 the wrapuptime will be changed only for the next call.
> 
> 
> There is a CLI command 'queue set wrapuptime <value> on <member> [in <queue>] [static]'.
> 
> 
> Diffs
> -----
> 
>   /trunk/apps/app_queue.c 188447 
>   /trunk/include/asterisk/cli.h 188447 
>   /trunk/main/cli.c 188447 
> 
> Diff: http://reviewboard.digium.com/r/222/diff
> 
> 
> Testing
> -------
> 
> Minor developer testing.
> 
> More testing will be needed before commit.
> 
> 
> Thanks,
> 
> Eliel
> 
>




More information about the asterisk-dev mailing list