[OpenSIPS-Users] Queue management system and load balancer.

Brett Nemeroff brett at nemeroff.com
Fri Jul 17 06:23:21 CEST 2009


Sure,I think this is a real need with plenty of demand. But it's not a
solution that a proxy alone can fix, which is what OpenSIPs is.

There are likely ways to do it. I do a distributed queue system using
libcurl with a PERL/MySQL backend to track the call's position. I perform a
call loop on each session where it checks the position and delivers the call
if X condition exists; else it plays music for Y seconds and then checks
again and again..

I'm sure you can build something like this. Chances are you could probably
even do it with sems or a hybrid solution with */FS. However, you'd probably
be happier with a proper queue designed entirely in a media server like
Freeswitch.

Good luck! Let us know if you do it in OpenSIPs. :)


-Brett


On Thu, Jul 16, 2009 at 10:59 AM, Grygoriy Dobrovolskyy <
g.dobrovolskyy at gmail.com> wrote:

> Good day everyone, i would like to discuss about load_balancer module and a
> way i really need to use opensips. Load balancer is a great tool, in my case
> resource are agents. In my project i need to receive all incoming calls and
> load balance them to 5 destinations with X agents. The number of agents is
> changing. We were able to create a script which is reading the number of
> agents logged in, and transfer that data to mysql opensips table. Let's say
> we do it every 5 min. The problem i am facing is simple to explain; What
> should we do when there are no agents ? I can not dispatch to same servers
> as it will break the system. Bogdan suggested to pass them to some other
> server with fr_inv_timer set to 10 for example, that server generate early
> media, when timer goes off we check if there are resources, and do same
> again if there are none. It will work if i don't get too much calls. The
> main problem occurs when there are 50 calls waiting and fresh call coming
> in. It is impossible to guarantee that the first call which came it will be
> served first, and this is what exactly i am trying to achieve. I am staring
> to think about some kind a tag system, which tags each call forwarded call
> to "waiting queue" and a some way of re inviting the call "first in line"
> when i have a free resource. Is there any way in this world to do that ? I
> am open to any propositions with any hardware&software involved. Of cource i
> would like that one day opensips is able to do that by himself. Am i alone
> in that demand ? Do we need actually a more advanced opensips call
> management module ? maybe with any other product (*/FS) interaction ?
>
> Looking to hear from you.
>
> Grygoriy Dobrovolskyy.
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.opensips.org/pipermail/users/attachments/20090716/33c83525/attachment-0001.htm 


More information about the Users mailing list