Hi,
I will try to summarise different load balancing solution and I hope
that you will correct my mistake to have a good point of view of all
solution.
Thanks in advance.
1. Solution with DNS SRV allows making Load Balancing (on phone side)
but need phones that support this function.
1.1: Explanation
In your DNS, you can set DNS SRV entry like this:
------------------------------------------------------------------
|sipserver1.bigu.edu. 43200 IN A 10.0.0.21
|sipserver2.bigu.edu. 43200 IN A 10.0.0.22
|;
|_sip._udp.bigu.edu. 43200 IN SRV 0 0 5060
sipserver1.bigu.edu.
|_sip._udp.bigu.edu. 43200 IN SRV 0 0 5060
sipserver2.bigu.edu.
-------------------------------------------------------------------
In your phone, you set in proxy SIP: "bigu.edu". The DNS will see that
it's a request SIP in UDP and will return 1/2 times in this order:
-
sipserver1.bigu.edu.
-
sipserver2.bigu.edu.
Phone understanding DNS SRV, will use the first line and if it doesn't
work, will use the second one.
The phone witch not understands the DNS SRV will always use the first
line even if it doesn't work.
Conclusion (C/c): It's a load balancing on phone side and so, if you
can't choose phone model, it's not a solution (like IP centrex).
To solve this problem, we have to use a load balancing on network side
OR server side.
2. Solution with HA (Heart Beat) it's a solution on server side.
1.1 Explanation
This solution is a fail over architecture. You will set a VIP (virtual
IP address) for two servers. The server 1 will have this VIP and handle
all the traffic. The second server will listen to the "heart" of the
first server and it's something going wrong, it will take the VIP.
C/c: This solution will not load balance traffic, and half of computer
will not be used.
3. [Correct this part please] LVS (linux virtual Server) is a solution
to load balance traffic but it's not SIP aware. You can use it for TCP
connection but for SIP, it's very hard.
However, you can set a load balancing on IP source, and so, each phone
will see only one server.
More than this, the LVS solution will not try to know if Asterisk OR SER
is alive but try to know if the server is alive. (most of the time, only
the service going down, not the whole server ...)
C/c: The LVS is not a good solution. This can help but the reactivity is
very bad.
4. RTPproxy with SER
RTPproxy with Ser is use for failover and not load balancing,
so, it's the same conclusion as HA.
5. MediaProxy with SERs.
I'm really not sure, but I thing that we have to use only SER
servers and the loadbalancer have to be a registrar server ??????
C/c: can you conclude...
6. The ultimate solution...
I'm looking for a solution with SER (or something else) in
loadbalancer and multiple Asterisk server behind it witch will do all
SIP function (REGISTRAR, ...).
This kind of architecture has to support NATed phones.
Thanks to read this and thanks for your help,
Thomas Deillon