[asterisk-dev] Distributed presence for distributed queue

Rajkumar S rajkumars at gmail.com
Tue Feb 24 07:19:34 CST 2009


Hi,

I am playing with distributed presence with the ultimate aim of having
distributed queue. One way that is possible is to have the queue app
check multiple devices for device state and route a call to an agent
only if all of them are free.

Let me explain in detail.

I have two queue servers q1 and q2. Both have same queue and SIP
definitions. ie both have queue"test" and SIP/1000. State of SIP/1000
is distributed and is available in both servers. I am using a snom
phone which registers to both q1 and q2. Both q servers have an
inbound context where calls land from another asterisk server via IAX
and are routed to test queue.

Now, in normal working conditions calls land in both servers. Since an
agent is logged into both servers, he can receive calls from either of
the servers. Ideally if he is attending calls from one server the
other server should see it as busy and not attempt to call him. Thus
if while using AddQueueMember I can pass two devices as  state
interface and a call is routed only if both are free, and I get a
(cheap?) distributed queue.

If either of the servers fail, I only loose the calls currently
bridged, the very next call can come via the other server.

I do not know how difficult or easy is this change, but as an admin
this would be a fantastic feature to have especially since we already
have distributed states.

thanks and much regards,

raj



More information about the asterisk-dev mailing list