[OpenSIPS-Users] Load Balancer module for REGISTER as well as INVITE?
Bogdan-Andrei Iancu
bogdan at opensips.org
Wed Mar 20 13:57:53 CET 2013
Hi Tuomas,
In your script, I would try to handle the case when a back server (a
destination in dispatcher) is down and re-route to the other available
destination - use failure route with the ds_next_dst() in order to do
serial forking in case of failure.
Regards,
Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com
On 03/20/2013 01:48 AM, Tuomas Kaikkonen wrote:
>
> Trying dispatcher:
>
> mysql> select * from dispatcher;
>
> +----+-------+---------------------------------------+-------+--------+-------+-------------+
>
> | id | setid | destination | flags | weight
> | attrs | description |
>
> +----+-------+---------------------------------------+-------+--------+-------+-------------+
>
> | 1 | 1 | sip:WWW.WWW.WWW.WWW:5060;transport=udp | 0 |
> 1 | | |
>
> | 2 | 1 | sip:XXX.XXX.XXX.XXX:5060;transport=udp | 0 | 1
> | | |
>
> +----+-------+---------------------------------------+-------+--------+-------+-------------+
>
> The WWW and XXX are IP addresses in my actual database, just scrubbing
> them for posting to this mailing group.
>
> My opensips.cfg route for the dispatching opensips is this:
>
> route{
>
> if ( !mf_process_maxfwd_header("10") )
>
> {
>
> send_reply("483","To Many Hops");
>
> exit;
>
> };
>
> if ( !ds_select_dst("1", "0") ) {
>
> send_reply("500","Unable to route");
>
> exit;
>
> }
>
> t_relay();
>
> }
>
> The database is shared by the three opensips servers. When I try to
> register my client with the SIP domain as the IP address of the
> dispatching OpenSIPs server as the SIP proxy on the client, the
> registration request times out. I do NOT see the destination OpenSIPs
> servers getting the REGISTER at all.
>
> I see in tcpdump the client's register is received, then the
> dispatching OpenSIPs sends it to one of the two OpenSIPs servers
> configured in the dispatcher table, but when it is sending them the IP
> packets Source IP is marked as 192.168.1.1 -- which is NOT the
> internal or public IP address of this system. Somehow the OpenSIPs
> dispatcher will overwrite the source IP with "192.168.1.1" -- is there
> a configuration that I should have to make it use its advertised_address?
>
> Tuomas Kaikkonen
>
> Software Developer | Twisted Pair Solutions
>
> 3131 Elliott Ave, Suite 200, Seattle, WA 98121
>
> Tel: (206) 812-0732
>
> *From:*users-bounces at lists.opensips.org
> [mailto:users-bounces at lists.opensips.org] *On Behalf Of *Tuomas Kaikkonen
> *Sent:* Tuesday, March 19, 2013 10:43 AM
> *To:* Bogdan-Andrei Iancu; OpenSIPS users mailling list
> *Subject:* Re: [OpenSIPS-Users] Load Balancer module for REGISTER as
> well as INVITE?
>
> Bogdan,
>
> What I am trying to do is this: Have two or more OpenSIPs servers
> with each having their own rtpproxy server. The database is shared
> over ssh tunnel so it looks to each server as they are using a local
> database. The goal is to make the service scalable so that we can add
> more OpenSIPs hosts as the need comes. Also we want to have the system
> detect if a server has failed and not direct calls/registers to that
> server. All the servers are in a cloud system (which does not provide
> Multicast, only Unicast), and they will have both public IP and
> internal IP associated with them. The problem with the shared database
> is that the location table has the socket column storing the Internal
> IP of the OpenSIPs server who did the REGISTER of the SIP client with.
> I need to relay all INVITE/BYE/CANCEL requests via that server. I have
> no UDP load balancer to balance the SIP requests, and having the RTP
> Proxy proxy all audio packets is an extra burden to the design. Our
> clients register with only one SIP server, there is no configuration
> to register with a primary and secondary SIP proxy.
>
> What we worry about is putting one OpenSIPs server acting as a load
> balancer or dispatcher, is that we'd be then again dependent on one
> OpenSIPs server. That dispatching / load balancing OpenSIPs server
> should be also backed up by a fail over server. I've looked into some,
> mostly academic, papers on how they did their load balancing and fail
> over.
>
> Tuomas Kaikkonen
>
> Software Developer | Twisted Pair Solutions
>
> 3131 Elliott Ave, Suite 200, Seattle, WA 98121
>
> Tel: (206) 812-0732
>
> *From:*Bogdan-Andrei Iancu [mailto:bogdan at opensips.org]
> <mailto:[mailto:bogdan at opensips.org]>
> *Sent:* Tuesday, March 19, 2013 8:01 AM
> *To:* OpenSIPS users mailling list
> *Cc:* Tuomas Kaikkonen
> *Subject:* Re: [OpenSIPS-Users] Load Balancer module for REGISTER as
> well as INVITE?
>
> Hi Tuomas,
>
> The LB modules is only for CALLs - it understands by +1 load only a
> call. You cannot use it for REGISTERs....Anyhow REGISTERs and INVITEs
> are as apples and onions :)...so you cannot put them in the same basket.
>
> if you could provide more details on what you are trying to achieve,
> maybe I can advice you on the best balancing option (like maybe using
> dispatcher module)
>
> Regards,
>
> Bogdan-Andrei Iancu
> OpenSIPS Founder and Developer
> http://www.opensips-solutions.com
>
>
> On 03/18/2013 07:56 PM, Tuomas Kaikkonen wrote:
>
> Can the Load Balancer module be configured to balance REGISTERs as
> well as the INVITES so that the above mentioned setup would work? OR
> is the Load Balancer module just useful for balancing RTP Proxy /
> media server resources for INVITEs?
>
> I'm new to the Load Balancer module of OpenSIPs. I am running OpenSIPs
> stable branch 1.7 -- just by looking examples from the documentation
> it looks like INVITE load balancing is supported.
>
> Tuomas Kaikkonen
>
>
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org <mailto: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/20130320/6e32d02f/attachment.htm>
More information about the Users
mailing list