Hello Dhaval (and others),

As far as I can tell, realtime queue will not solve my problem. I can 
statically define the same queue with the same members on two machines as well. 
I was planning to use realtime anyway. The issue is the actual queueing of the 
incoming calls.

Let’s say I define the queue "IT-support" with members Local/100 and Local/101 
on both machines. The first call comes in and is distributed by Kamailio to 
Asterisk A, and answered by 100. The next call comes in to Asterisk B, and is 
answered by 101. At this point, both members are busy. Call 3 now comes in and 
is sent to Asterisk A, where it waits for a free member. Call 4 comes in and is 
also sent to Asterisk A, as is Call 5. Then call 6 is sent to Asterisk B. At 
this point 100 finishes his call and becomes free. Which call is delivered to 
100? As far as I can tell, that’s a 50/50 chance between call 3 and call 6. 
This is not correct behaviour! Call 6 should wait until calls 3, 4 and 5 (from 
the other server) have all been delivered.

In the example above: When call 3 comes in, Asterisk A may even try to deliver 
it to 101, who gets call waiting indication. He will now have two simultaneous 
calls from the same queue!

I have not found any way to share information about calls waiting in the queue, 
wait times, member states and so on between the two servers.

Unless you guys know of a way, I think I'm going to have to ask the customer to 
change their design to master-slave (with failover) instead of load-balanced.

With kind regards,
Pan

> Hello Pan,
> 
> You can user DB for this just make real time configuration of Queue and make
> all asterisk server connected to Same DB if more load then use replication
> for different server on DB, also So that Quque name should be same for all
> server and asterisk can call same agent.
> 
> you didnot mentioned that which purpose youwere use queue other wise i can
> give answer in better way.
> 
> regards
> Dhaval
> 
> On Fri, Jan 7, 2011 at 5:08 PM, Pan B. Christensen <pan at ibidium.no> wrote:
>
>>  Hello,
>>
>> I have been asked to implement the following design:
>>
>> Load-balanced Kamailio servers handling registrations and routing.
>> Load-balanced asterisk feature servers handling voicemail and other things
>> Kamailio cannot do. Plus several load-balanced gateways, but they are not
>> relevant to my question.
>>
>> All this is working fine.
>>
>> I've now been asked to start implementing calling queues, and my question
>> is this:
>> How can I implement the same queue on multiple Asterisk servers?
>>
>> Let's say that 10 people call the same queue. These calls would then
>> currently be distributed 5 to Asterisk A and 5 to Asterisk B. How can I make
>> Asterisk A respect the 5 people queued on the other server and vice versa?
>>
>> Will the customer need to change their design to make the feature servers
>> master-slave with failover instead of load-balanced?
>>
>> Mvh
>> Pan
--
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
               http://www.asterisk.org/hello

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to