Why not to use Bind and SVR records in new releases to have an option for making load balancing and high availability systems?

I was thinking of using bind nameserver and SVR dns record to make a high availability SIP system (two or more SIP servers interconnected and share the same configuration).

Why use DNS SRV records for SIP?
Dialling by domain names lets a SIP user have a single public “SIP address” which can be redirected at will to their current location. SRV records maintain stability and also opens up the possibility to use your own domain, regardless of the domain of the SIP service you are using.

A Domain Name Server (DNS) SRV record helps connecting to a SIP user in a similar way that an MX record helps email delivery.
In a DNS zone, you can specify multiple SIP proxies. If the proxy with the highest priority is not reachable, the SIP ua or proxy that tries to reach a user within the domain tries the next proxy defined in the zone with a SRV record (round robin).

Each device listed in a DNS SRV record has an associated weight and priority. By adjusting the weight and priority of routes, system administrators can tailor the capacity and redundancy behavior of the SIP proxy server to their routing needs.
It is important to verify that a SIP client specifically supports DNS SRV records.


DNS configuration example for mysipdomain.com:

$ORIGIN mysipdomain.com.
@ SOA ns1.mysipdomain.com. root.mysipdomain.com. (
1995032001 3600 3600 604800 86400 )
; ------------------------------------
; sample dns configuration by pilovis
;-------------------------------------
;
; Section for authoritative nameservers
;
NS ns1.mysipdomain.com.
NS ns2.nselsewhere.com.
;
; Section for load balancing
;
; in this example for service sip give 3 requests to main.mysipdomain.com for each 1 given
; to secondary.mysipdomain.com
; note you can use SRV 0 1 for both to have 50% load balancing
_sip._udp.mysipdomain.com SRV 0 1 5060 main.mysipdomain.com. SRV 0 1 5060 main.mysipdomain.com.
SRV 0 3 5060 secondary.mysipdomain.com.
;
; Section for redundancy
;
; if any of the above main servers don’t answer, failover to backup voip server
SRV 1 0 5060 backup.mysipdomain.com.
;
; note the svr record format is
; _service._proto.name TTL class SRV priority weight port target
; you may also use as target your external SIP provider domain
; - notes -
; TTL is time to live of the record in client dns cache and could be omitted
; when TTL expire the client purges the local dns cache and makes another dns query to the
; authoritative DNS server so if the main server is up again it will restart handling the SIP service
; class field is always IN
; priority is the the priority of the target host, lower value means more preferred
; weight is A relative weight for records with the same priority
; port is the TCP or UDP port on which the service is to be found
; target is the the canonical hostname of the machine providing the service
;
;
; section for A records - name to IP address resolution
;
; please note you need an A record for each host you set an SRV for
; except for external domains that are already resolved by their nameservers
;
ns1.mysipdomain.com. IN A 10.0.0.1
main.mysipdomain.com. IN A 10.0.0.3
secondary.mysipdomain.com. IN A 10.0.0.4
backup.mysipdomain.com. IN A 10.0.0.5
;
; in this specific example you do not need an A record for ns2.nselsewhere.com.
; since it’s an external domain already resolved
; but if the secondary dns it is within your domain then you need the A record here


An option with a specific module in a future FreePBX release would be a very nice feature.

P.S.: sorry if my technical English is not perfect, I’m Italian.
I hope you can understand.

BIND9 configuration file /var/lib/bind/mysipdomain.com.hosts:

$ttl 38400
mysipdomain.com. IN SOA ns1.mysipdomain.com. postmaster.mysipdomain.com. (
2011120212
10800
3600
604800
38400 )
mysipdomain.com. IN NS ns1.mysipdomain.com.
mysipdomain.com. IN NS ns2.nselsewhere.com.
mysipdomain.com. IN A xxx.xxx.xxx.xxx
mysipdomain.com. IN MX 10 mail.mysipdomain.com.
mail.mysipdomain.com. IN A xxx.xxx.xxx.xxx
ns1.mysipdomain.com. IN A xxx.xxx.xxx.xxx
main.mysipdomain.com. IN A xxx.xxx.xxx.xxx
secondary.mysipdomain.com. IN A xxx.xxx.xxx.xxx
backup.mysipdomain.com. IN A xxx.xxx.xxx.xxx
_sip._udp.mysipdomain.com. 8640 IN SRV 0 1 5060 main.mysipdomain.com.
_sip._udp.mysipdomain.com. 8640 IN SRV 0 3 5060 secondary.mysipdomain.com.
_sip._udp.mysipdomain.com. 8640 IN SRV 1 0 5060 backup.mysipdomain.com.