[asterisk-users] Fwd: add a new queue strategy: SBR

James Sneeringer jsneerin at gmail.com
Mon Mar 9 22:01:40 CDT 2009


On Mon, Mar 9, 2009 at 5:44 PM, nik600 <nik600 at gmail.com> wrote:
> Thanks, i've tested and it works (1.4.23.1).
>
> Just 2 questions:
>
> 1) this approach seems to be an "hack" and not the implementation of a
> feature is it really used in corporate solutions?
> 2) using queue show 001 i can't see the ringing status, is that
> correct (In Use, Not in Use,Paused works now properly)?

I've never really noticed the lack of a "ringing" status. Our queue
setup has just worked, so I usually only have to use "queue show" when
there's a problem. I do know that the AMI reports the ringing status.

The Local/n solution has the added problem of not handling attended
transfers correctly. When using a Local channel with the /n flag, if
an agent performs an attended or SIP transfer, or does a 3-way call on
their own phone and then hangs up, Queue() will still consider the
agent "In Use" until the original transferred call is hung up.

> Maybe polling the device state using the SIP channel would be better,
> but as you told me this feature is available only on 1.6.x.

It was backported to 1.4.19, but the patch no longer applies cleanly
to newer versions. There were some locking changes just after that
version. If you want to give it a try, I found it at:

http://ftp.iq-labs.net/state_interface-1.4/

Then there's this:

http://reviewboard.digium.com/r/116/

The corresponding func_devstate has also been backported, but it's pretty old:

http://svncommunity.digium.com/view/russell/asterisk-1.4/func_devstate-1.4/

I got the 1.4.19 backport to compile against a 1.4.20.1 codebase, but
Asterisk would core as soon as app_queue.so loaded, so clearly I
didn't quite get it right. I eventually punted and changed my dynamic
queues to just use the actual SIP/xxxxx channel names. It's been
working fine for over a year now.

-James



More information about the asterisk-users mailing list