[Asterisk-Users] Distributed ACD Queues

Matt Florell astmattf at gmail.com
Thu Jun 15 09:48:38 MST 2006


Hello,

We are doing distributed ACD with Asterisk, but not using Asterisk
Queues. It proved near impossible when we tried to get it to work so
we wrote our own multi-server queue system into VICIDIAL. Been using
it for over 2 years now in production. Not as full-featured as
Asterisk Queues on the server side for inbound, but it works well
across multiple servers even with agents and trunks on separate
servers.

http://astguiclient.sourceforge.net/vicidial.html

MATT---

On 6/15/06, Douglas Garstang <dgarstang at oneeighty.com> wrote:
>
>
> It seems that I am having a heck of a time explaining my attempts at
> distributing ACD Queues to the list. Here's one little problem, that's only
> a piece of the puzzle.
>
> dundi.conf:
> 180q =>
> global_dundi_q_pbx1,100,IAX,dundi1:${SECRET}@${IPADDR}/${NUMBER},nopartial
> 180q =>
> global_dundi_q_pbx2,200,IAX,dundi2:${SECRET}@${IPADDR}/${NUMBER},nopartial
> 180q =>
> global_dundi_q_pbx3,300,IAX,dundi3:${SECRET}@${IPADDR}/${NUMBER},nopartial
>
> extensions.conf(PBX1):
> [global_dundi_q_pbx1]
> include => one_queue_acd
> [global_dundi_q_pbx2]
> [global_dundi_q_pbx3]
>
>
> extensions.conf(PBX2):
> [global_dundi_q_pbx1]
>
> [global_dundi_q_pbx2]
> include => one_queue_acd
> [global_dundi_q_pbx3]
>
>
> extensions.conf(PBX3):
> [global_dundi_q_pbx1]
>
> [global_dundi_q_pbx2]
> [global_dundi_q_pbx3]
> include => one_queue_acd
>
> [one_queue_acd]
> exten => 2944000,1,....
>
> Our polycom phones are registering to a primary Asterisk system. It's
> ESSENTIAL that queue calls for a given company go to the SAME box as the
> phones are registered to. Queues won't work correctly if they're are split
> between servers.
>
> If a phone registered to pbx1 wants to call the queue at 2944000, the call
> comes into pbx1. If I do a dundi lookup on that number on the console I get
> this:
>
> hestia*CLI> dundi lookup 2944000 at 180q
>   1.   200
> IAX2/dundi2:cx8tTjXAoQaPfr9V+C6EWw at xxx.187.142.204/oe_main
> (EXISTS)
>      from 00:0e:0c:a1:90:82, expires in 0 s
>   2.   300
> IAX2/dundi3:zGFQTD6qixAkSNVpQkviQw at xxx.187.142.232/oe_main
> (EXISTS)
>      from 00:0e:0c:a1:92:6f, expires in 0 s
> DUNDi lookup completed in 63 ms
>
> If I do the dundi lookup in the dialplan, all I get is
> "IAX2/dundi2:cx8tTjXAoQaPfr9V+C6EWw at xxx.187.142.204/oe_main"
> with no weight. DUNDi never returns local matches (with a weight of 100 in
> this case). which is a problem. The result I get from the DUNDi lookup in
> the dialplan is a string that points to the SECONDARY server. I don't want
> to send the call to the secondary server!!!
>
> I could first do a local lookup with ChanIsAvail and look in the correct
> context (global_dundi_q_pbx1 etc) to see if the number is local first.
> However, this is tricky as we're trying to maintain a common dialplan
> between all our servers. I'd therefore have to probe the system by executing
> an external command and pulling the hostname or something just so I know
> which context to look in.
>
> I'm guessing no one has tried to distribute acd queues before...
>
>
>
>
>
>
>
>
>
> _______________________________________________
> --Bandwidth and Colocation provided by Easynews.com --
>
> Asterisk-Users mailing list
> To UNSUBSCRIBE or update options visit:
>
> http://lists.digium.com/mailman/listinfo/asterisk-users
>
>
>



More information about the asterisk-users mailing list