[asterisk-users] Fwd: add a new queue strategy: SBR
Andrey Solovjov
solovjov at mcn.ru
Mon Apr 6 03:42:22 CDT 2009
Mark Michelson wrote:
> Caution: One shortcoming of queue member penalties is that they are not
> taken into account if a queue member of a low penalty does not answer a
> call. Say for instance that the queue application determines that there
> are two members available to answer an incoming call. One member has
> penalty 1 and the other has penalty 2. If the member with penalty 1 does
> not answer the call, the queue application still considers that member
> to be available the next time that it tries to reach a member. The
> member with penalty 2 will only be tried if the queue application can
> determine *before the call is placed* that the member with penalty 1 is
> unavailable.
>
> Mark Michelson
>
>
There is a patch http://bugs.digium.com/view.php?id=9165 which creates
new strategy xrrmemory. It tries to call the member with higher penalty
if queue member of a lower penalty does not answer the call.
Unfortunately disclaimer was not submitted and this patch was suspended.
We use this patch successfully in production and in fact this is the
most popular strategy for many of our clients. It allows to create one
queue and you can manage which members to call first, second and so on.
For example, you have
SIP/101,0
SIP/201,1
SIP/202,1
SIP/301,2
First queue will try to call SIP/101, then SIP/201, then SIP/202 (or
SIP/202, SIP/201), and then SIP/301, after that it will call again
SIP/101 and so on. You can also create simple linear strategy with
dynamic members and they will be called in the order YOU set and not the
order they are added to queue (current linear strategy).
I know this can be done using QUEUE_MAX_PENALTY variable but you will
need no enter queue and leave queue many times.
This patch was written when the creator worked for our company so I can
resubmit the code with license if it's interesting.
Andrew
More information about the asterisk-users
mailing list