Summary:ASTERISK-11749: [patch] Global wrapuptime for shared members across queues
Reporter:Miguel Paolino (punkgode)Labels:
Date Opened:2008-03-28 15:17:47Date Closed:2008-03-28 17:46:19
Versions:Frequency of
Environment:Attachments:( 0) asterisk-1.4.18-app_queue.patch
( 1) global-wrapuptime-1.4.41.patch
Description:This patch provides global wrapuptimes across queues that share members with the same interface.
The module is also modified to search queues.conf for a configuration directive that enables this behavior:

global_wrapuptime= yes|[no]   (defaults to no)


Members have a wrapuptime associated with the queue it belongs. This can be a problem if the same members are logged in different queues and the amount of calls is considerable,resulting on members continually being ringed. There are workarounds that involve using local channels or monitoring the activity and pausing of shared members, but since this is an external application, with it's own delays, and drawbacks, actually it doesn't guarantee that the member won't be ringed.

The wrapuptime is a break from activity that an agent has to deal with the details of a recently finished call. Since all members have a lastcall variable that store the time when a call was last answered, it can be used to propagate wrapuptime breaks through members that share the same interfaces. Other approaches are much more efficient, but as I see it involves sharing members entities across queues and not creating new members for every queue.
With this patch, everytime a queue call is hanged, all members that share the same interface are updated, making them not eligible for ringing under a time window equal to the wrapuptime of the queues it belongs (dependent on each queue).

This could have an impact in performance, as this is a hack for a missing   functionality, but as I see it is minimal, it works for me under two callcenters
with 40 agents, 7 queues and 500 calls per day aprox.
Feedback, corrections or alternate ways of accomplishing this within app_queue are more than welcome.

Miguel Paolino <mpaolino@netgate.com.uy>
Netgate - http://www.netgate.com.uy
Comments:By: Jason Parker (jparker) 2008-03-28 16:58:16

How does this differ from the shared_lastcall option?

By: Miguel Paolino (punkgode) 2008-03-28 17:42:32

OMG, I implemented this a long time ago for 1.2 but didn't uploaded because 1.2 was deprecated. I've should have checked better. At least I'm happy to made a fair good job with the patch, it's pretty similar. Sorry for the inconvenience.

Please close bug report if you like.

By: Jason Parker (jparker) 2008-03-28 17:46:17

Thanks anyways for your contribution. :)

By: Victor Villarreal (mefhigoseth) 2011-07-31 20:44:28.440-0500

Hi Miguel!

I change your patch to work with Asterisk 1.4.41.

I think that your work it's a good implementation and may be better than the shared_lastcall one.

Thanks and best regards.