Load Balancing using FreeSwitch

1,228 views
Skip to first unread message

Vali

unread,
Jul 11, 2011, 2:25:58 PM7/11/11
to uni...@googlegroups.com
Hi All,

few days ago, Rodolfo Rodrigues de Araujo e-mailed me with question about load balancing UniMRCPv2 server. He did not succeed using OpenSips and I have developed simple load balancer built upon FreeSwitch. It has not been tested under heavy load, but on the first sight it seems to work fine.

I think it might be useful for more of you, so I decided to publish it as an attachment to this post. Please note this is an untested concept unsuitable for production use. And poorly commented. Any comments, fixes and suggestions are welcome.

Cheers,
- Vali


PS. Past conversation with Rodrigues:

Hi Vali,

Please, send me your configuration file.
Load balancer with OpenSips is unstable, I'm getting segmentation fault in large tests.
I don't know much about voip software, maybe it is my mistake.

Thanks,

Rodolfo Rodrigues de Araujo



2011/7/11 Tomáš Valenta <tomas....@speechtech.cz>
Hi Rodolfo,

sorry for late answer, I was out of office recently.

I solved MRCPv2 load balancer using FreeSwitch. It works fine as long as you bypass media, i.e. you do not let the proxy modify SDP. Check offer sent by MRCP client before proxy and the offer arriving to the server after the proxy, it should be identical.

I have no experience with OpenSips, but I can provide you with my FS scripts/dialplan/configuration if you are interested.

Cheers,
- Vali


Dne 28.6.2011 16:08, Rodolfo Rodrigues napsal(a):

Hi!

I read your post in
http://groups.google.com/group/unimrcp/tree/browse_frm/month/2010-12?_done=%2Fgroup%2Funimrcp%2Fbrowse_frm%2Fmonth%2F2010-12%3F&
<http://groups.google.com/group/unimrcp/tree/browse_frm/month/2010-12?_done=%2Fgroup%2Funimrcp%2Fbrowse_frm%2Fmonth%2F2010-12%3F&>
about load balancer and UniMRCP.

Now, I'm working in a load balancer to UniMRCP using OpenSips. The
UniMRCP servers already receive SIP connections but it doesn't receive
MRCP requests.
Could you help me, please?
Should I put RTPproxy or sth?

Regards,

Rodolfo Rodrigues de Araujo




MRCPv2FS.zip

Christopher Rienzo

unread,
Jul 11, 2011, 5:17:35 PM7/11/11
to uni...@googlegroups.com

mod_distributor is also available to do round robin distribution.


--
You received this message because you are subscribed to the Google Groups "UniMRCP" group.
To view this discussion on the web visit https://groups.google.com/d/msg/unimrcp/-/_6ktIcnzbSQJ.
To post to this group, send email to uni...@googlegroups.com.
To unsubscribe from this group, send email to unimrcp+u...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/unimrcp?hl=en.

Rodolfo Araujo

unread,
Jul 11, 2011, 10:53:14 PM7/11/11
to uni...@googlegroups.com
Thanks Vali!

OpenSips is working fine now. 
But I think that is very interesting share knowledge. 
I will try freeswitch too.

Regards,

Rodolfo Araujo

Vali

unread,
Jul 13, 2011, 4:46:05 PM7/13/11
to uni...@googlegroups.com
Thanks, Chris, for info, I did not know about mod_distributor. Unfortunately it does not care about current number of sessions.

Limit (http://wiki.freeswitch.org/wiki/Limit) might serve better.

Vali

unread,
Jul 13, 2011, 4:56:43 PM7/13/11
to uni...@googlegroups.com
Rodolfo, you are welcome.

I am glad you mentioned sharing knowledge. Can you provide OpenSips configuration of the balancer? I would prefer OpenSips over FS as it is a huge piece of software, too complex for just a simple balancer. Unfortunately AFAIK OpenSips is UNIX-only software, right? Currently we have to use Windows for our solution.

Thanks,
- Vali

Arsen Chaloyan

unread,
Jul 15, 2011, 3:42:09 PM7/15/11
to uni...@googlegroups.com
Hi Vali,

Thanks for sharing this with us.

I have been asked several times for such a solution. There is a
certain demand in the MRCP load balancer for large deployments. So,
the topic sounds very interesting to me and might be indeed quite
useful for many of us.
The idea of using a typical stateful SIP proxy as the load balancer
looks good. The solution built on top of FreeSWITCH should work fine
as a simple load balancer. However additionally, the load balancer
should ideally be capable of tracking the MRCP resources (synth,
recog, verif,..) being negotiated and used; queering the capabilities
of MRCP servers, etc. Perhaps this wouldn't be a simple task
anymore...

Anyway, I'd like to thank you once again for your input to the project.
Cheers,

> --
> You received this message because you are subscribed to the Google Groups
> "UniMRCP" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/unimrcp/-/_6ktIcnzbSQJ.
> To post to this group, send email to uni...@googlegroups.com.
> To unsubscribe from this group, send email to
> unimrcp+u...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/unimrcp?hl=en.
>

--
Arsen Chaloyan
Author of UniMRCP
http://www.unimrcp.org

Reply all
Reply to author
Forward
0 new messages