Dear all,
we would like to do loadbalancing and failover with SRV in our multi-SER setup.
I.e. ser-1 gets a call and can forward the call to either ser-2 or ser-3. There's a DNS SRV record that points to both, ser-2 and ser-3 (same weight, same priority). On ser-1, I use the SRV name to forward calls to.
Now I'd like ser-1 to distribute calls according to weight and priority, i.e. 50% to ser-2 and 50% to ser-3. But it doesn't, it keeps sending to ser-2 (the first entry in the SRV record's list).
Also, if say ser-2 goes down, I'd like ser-1 to notice that and only ever try to send subsequent requests to ser-2 until <something> happens (e.g. until the SRV record TTL expires).
I found a one-year old message in the archives stating that neither of this is possible (unless I use a DNS A record that points to multiple IP addresses, but that's not what I want).
Is it meanwhile possible with the current SER software ?
thanks Markus
Markus,
I'm not sure I fully understand. Are you trying to essentially load balance by using SRV records in DNS?
Those two aren't really the same thing. You'd need some sort of gateway software/hardware that keeps track of current state of the sub server processes in order to determine at any given point which is up and which is down... PLUS it sounds like you want to make it so that each is assigned a weight.
SER doesn't really have the ability to do that on its own. You could probably MAKE it do that with some very creative scripting and/or database queries... but it wouldn't be pretty.
It would be easier to use an actual load balancer/load balancing software to accept initial connections and forward those accordingly.
For instance, if you want SER1 to forward calls to EITHER SER2 or SER3, then you would have SER1 point to a load-balanced virtual server. Some other software would handle the load balancing and SER would be unaware that it wasn't pointing to a normal server. This could be done pretty easily using linux virtual server or some such and it wouldn't require any special setup in SER.
N.
On Tue, 27 Sep 2005 10:31:43 +0200, Markus Storm wrote
Dear all,
we would like to do loadbalancing and failover with SRV in our multi- SER setup.
I.e. ser-1 gets a call and can forward the call to either ser-2 or ser-3. There's a DNS SRV record that points to both, ser-2 and ser-3 (same weight, same priority). On ser-1, I use the SRV name to forward calls to.
Now I'd like ser-1 to distribute calls according to weight and priority, i.e. 50% to ser-2 and 50% to ser-3. But it doesn't, it keeps sending to ser-2 (the first entry in the SRV record's list).
Also, if say ser-2 goes down, I'd like ser-1 to notice that and only ever try to send subsequent requests to ser-2 until <something> happens (e.g. until the SRV record TTL expires).
I found a one-year old message in the archives stating that neither of this is possible (unless I use a DNS A record that points to multiple IP addresses, but that's not what I want).
Is it meanwhile possible with the current SER software ?
thanks Markus
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
I suggest you guys search for load balancing/failover and LVS at google (site:mail.iptel.org). This topic has been thoroughly covered. A basic load balancing system (with some limitations for example for NATed devices) can be set up using the dispatcher module. And LVS needs to be patched to handle call-id stickiness. And you can simulate path using a secondary location table to store the other SERs' locations, so you know where to forward. Currently, there are no complete load balancing/failover reference setups. Andreas Granig is currently working on a complete setup. This involves quite a lot of changes to the code. Please refer to the serdev list for a very recent thread on this setup. g-)
----- Original Message ----- From: "sip" sip@arcdiv.com To: "Markus Storm" markus.storm@telefonica.de; serusers@lists.iptel.org Cc: serusers-bounces@lists.iptel.org Sent: Tuesday, September 27, 2005 12:34 PM Subject: Re: [Serusers] use of SRV records for failover
Markus,
I'm not sure I fully understand. Are you trying to essentially load balance by using SRV records in DNS?
Those two aren't really the same thing. You'd need some sort of gateway software/hardware that keeps track of current state of the sub server processes in order to determine at any given point which is up and which is down... PLUS it sounds like you want to make it so that each is assigned a weight.
SER doesn't really have the ability to do that on its own. You could probably MAKE it do that with some very creative scripting and/or database queries... but it wouldn't be pretty.
It would be easier to use an actual load balancer/load balancing software to accept initial connections and forward those accordingly.
For instance, if you want SER1 to forward calls to EITHER SER2 or SER3, then you would have SER1 point to a load-balanced virtual server. Some other software would handle the load balancing and SER would be unaware that it wasn't pointing to a normal server. This could be done pretty easily using linux virtual server or some such and it wouldn't require any special setup in SER.
N.
On Tue, 27 Sep 2005 10:31:43 +0200, Markus Storm wrote
Dear all,
we would like to do loadbalancing and failover with SRV in our multi- SER setup.
I.e. ser-1 gets a call and can forward the call to either ser-2 or ser-3. There's a DNS SRV record that points to both, ser-2 and ser-3 (same weight, same priority). On ser-1, I use the SRV name to forward calls to.
Now I'd like ser-1 to distribute calls according to weight and priority, i.e. 50% to ser-2 and 50% to ser-3. But it doesn't, it keeps sending to ser-2 (the first entry in the SRV record's list).
Also, if say ser-2 goes down, I'd like ser-1 to notice that and only ever try to send subsequent requests to ser-2 until <something> happens (e.g. until the SRV record TTL expires).
I found a one-year old message in the archives stating that neither of this is possible (unless I use a DNS A record that points to multiple IP addresses, but that's not what I want).
Is it meanwhile possible with the current SER software ?
thanks Markus
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
Hi, i was searching a way to do the same thing but using the Linux virtual server i didn't found a way to let the virtual server to continue to send to the same SER all the UDP packet related to a specific call. It should have a module to check the CallID header and mantain a table on which SER is managing it for all packet (INVITE,TRYING,RINGING,OK,BYE and so on). The other solution may be to use TCP SIP but i don't like it and not so much clients have support for it. Let me know if you found a good way to do it. Bye Marcello
----- Original Message ----- From: "sip" sip@arcdiv.com To: "Markus Storm" markus.storm@telefonica.de; serusers@lists.iptel.org Cc: serusers-bounces@lists.iptel.org Sent: Tuesday, September 27, 2005 12:34 PM Subject: Re: [Serusers] use of SRV records for failover
Markus,
I'm not sure I fully understand. Are you trying to essentially load balance by using SRV records in DNS?
Those two aren't really the same thing. You'd need some sort of gateway software/hardware that keeps track of current state of the sub server processes in order to determine at any given point which is up and which is down... PLUS it sounds like you want to make it so that each is assigned a weight.
SER doesn't really have the ability to do that on its own. You could probably MAKE it do that with some very creative scripting and/or database queries... but it wouldn't be pretty.
It would be easier to use an actual load balancer/load balancing software to accept initial connections and forward those accordingly.
For instance, if you want SER1 to forward calls to EITHER SER2 or SER3, then you would have SER1 point to a load-balanced virtual server. Some other software would handle the load balancing and SER would be unaware that it wasn't pointing to a normal server. This could be done pretty easily using linux virtual server or some such and it wouldn't require any special setup in SER.
N.
On Tue, 27 Sep 2005 10:31:43 +0200, Markus Storm wrote
Dear all,
we would like to do loadbalancing and failover with SRV in our multi- SER setup.
I.e. ser-1 gets a call and can forward the call to either ser-2 or ser-3. There's a DNS SRV record that points to both, ser-2 and ser-3 (same weight, same priority). On ser-1, I use the SRV name to forward calls to.
Now I'd like ser-1 to distribute calls according to weight and priority, i.e. 50% to ser-2 and 50% to ser-3. But it doesn't, it keeps sending to ser-2 (the first entry in the SRV record's list).
Also, if say ser-2 goes down, I'd like ser-1 to notice that and only ever try to send subsequent requests to ser-2 until <something> happens (e.g. until the SRV record TTL expires).
I found a one-year old message in the archives stating that neither of this is possible (unless I use a DNS A record that points to multiple IP addresses, but that's not what I want).
Is it meanwhile possible with the current SER software ?
thanks Markus
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
lvs can't, there are other kludge solutions like dispatcher, dns-srv etc, but not perfect solution, has been discussed alot of times on list
Iqbal
Marcello Lupo wrote:
Hi, i was searching a way to do the same thing but using the Linux virtual server i didn't found a way to let the virtual server to continue to send to the same SER all the UDP packet related to a specific call. It should have a module to check the CallID header and mantain a table on which SER is managing it for all packet (INVITE,TRYING,RINGING,OK,BYE and so on). The other solution may be to use TCP SIP but i don't like it and not so much clients have support for it. Let me know if you found a good way to do it. Bye Marcello
----- Original Message ----- From: "sip" sip@arcdiv.com To: "Markus Storm" markus.storm@telefonica.de; serusers@lists.iptel.org Cc: serusers-bounces@lists.iptel.org Sent: Tuesday, September 27, 2005 12:34 PM Subject: Re: [Serusers] use of SRV records for failover
Markus,
I'm not sure I fully understand. Are you trying to essentially load balance by using SRV records in DNS?
Those two aren't really the same thing. You'd need some sort of gateway software/hardware that keeps track of current state of the sub server processes in order to determine at any given point which is up and which is down... PLUS it sounds like you want to make it so that each is assigned a weight.
SER doesn't really have the ability to do that on its own. You could probably MAKE it do that with some very creative scripting and/or database queries... but it wouldn't be pretty.
It would be easier to use an actual load balancer/load balancing software to accept initial connections and forward those accordingly.
For instance, if you want SER1 to forward calls to EITHER SER2 or SER3, then you would have SER1 point to a load-balanced virtual server. Some other software would handle the load balancing and SER would be unaware that it wasn't pointing to a normal server. This could be done pretty easily using linux virtual server or some such and it wouldn't require any special setup in SER.
N.
On Tue, 27 Sep 2005 10:31:43 +0200, Markus Storm wrote
Dear all,
we would like to do loadbalancing and failover with SRV in our multi- SER setup.
I.e. ser-1 gets a call and can forward the call to either ser-2 or ser-3. There's a DNS SRV record that points to both, ser-2 and ser-3 (same weight, same priority). On ser-1, I use the SRV name to forward calls to.
Now I'd like ser-1 to distribute calls according to weight and priority, i.e. 50% to ser-2 and 50% to ser-3. But it doesn't, it keeps sending to ser-2 (the first entry in the SRV record's list).
Also, if say ser-2 goes down, I'd like ser-1 to notice that and only ever try to send subsequent requests to ser-2 until <something> happens (e.g. until the SRV record TTL expires).
I found a one-year old message in the archives stating that neither of this is possible (unless I use a DNS A record that points to multiple IP addresses, but that's not what I want).
Is it meanwhile possible with the current SER software ?
thanks Markus
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
.