DNS & SRV Records Required for Geo-Redundant Setup

In order to set up a geo-redundant configuration, it is necessary to create DNS A records and SRV records. This article outlines the specific A records and SRV records that will need to be created.

DNS A Records

Assuming two Core servers with DNS A records of:

Name
core1.acmecorp.com
core2.acmecorp.com

 

SRV Records

Note the following when using this article:

TTL means time to live. 

Priority v. Weight
We do not recommend changing weight for an SRV record because that will cause additional load on the server as it bounces traffic back and forth. Use priority instead. This still applies the load balancing concept, and still enables a failover, but it lessens the load on the server.

SRV DNS Records for UDP

Two new SRV DNS records for UDP Registrations:

# _service._proto.name. TTL class SRV Priority Weight Port Target
_sip._udp.core1.acmecorp.com. 86400 IN SRV 10 10 5080 core1.acmecorp.com.
_sip._udp.core1.acmecorp.com. 86400 IN SRV 20 10 5080 core2.acmecorp.com.
_sip._udp.core2.acmecorp.com. 86400 IN SRV 10 10 5080 core2.acmecorp.com.
_sip._udp.core2.acmecorp.com. 86400 IN SRV 20 10 5080 core1.acmecorp.com.

SRV DNS Records for TCP

Two new SRV DNS records for TCP Registrations:

# _service._proto.name. TTL class SRV Priority Weight Port Target
_sip._tcp.core1.acmecorp.com. 86400 IN SRV 10 10 5080 core1.acmecorp.com.
_sip._tcp.core1.acmecorp.com. 86400 IN SRV 20 10 5080 core2.acmecorp.com.
_sip._tcp.core2.acmecorp.com. 86400 IN SRV 10 10 5080 core2.acmecorp.com.
_sip._tcp.core2.acmecorp.com. 86400 IN SRV 20 10 5080 core1.acmecorp.com.

SRV DNS Records for TLS

Two new SRV DNS records for TLS Registrations:

# _service._proto.name. TTL class SRV Priority Weight Port Target
_sip._tls.core1.acmecorp.com. 86400 IN SRV 10 10 5082 core1.acmecorp.com.
_sip._tls.core1.acmecorp.com. 86400 IN SRV 20 10 5082 core2.acmecorp.com.
_sip._tls.core2.acmecorp.com. 86400 IN SRV 10 10 5082 core2.acmecorp.com.
_sip._tls.core2.acmecorp.com. 86400 IN SRV 20 10 5082 core1.acmecorp.com.

Some devices use the _sips service header with TLS instead of _sip:

# _service._proto.name. TTL class SRV Priority Weight Port Target
_sips._tls.core1.acmecorp.com. 86400 IN SRV 10 10 5082 core1.acmecorp.com.
_sips._tls.core1.acmecorp.com. 86400 IN SRV 20 10 5082 core2.acmecorp.com.
_sips._tls.core2.acmecorp.com. 86400 IN SRV 10 10 5082 core2.acmecorp.com.
_sips._tls.core2.acmecorp.com. 86400 IN SRV 20 10 5082 core1.acmecorp.com.

Some devices use the _sips service header with TCP instead of _sip:

# _service._proto.name. TTL class SRV Priority Weight Port Target
_sips._tcp.core1.acmecorp.com. 86400 IN SRV 10 10 5082 core1.acmecorp.com.
_sips._tcp.core1.acmecorp.com. 86400 IN SRV 20 10 5082 core2.acmecorp.com.
_sips._tcp.core2.acmecorp.com. 86400 IN SRV 10 10 5082 core2.acmecorp.com.
_sips._tcp.core2.acmecorp.com. 86400 IN SRV 20 10 5082 core1.acmecorp.com.
  • Reverse (PTR records) DNS entries MUST be set for all servers.
  • SPF records must be set for all core servers. See your domain and email provider for more details

Once you have completed all of these configuration steps you can check if this was done correctly using our SRV Checker that can be found at https://devops.netsapiens.com/srvchecker/srvcheck2.php

Wildcard DNS Alias Records (OPTIONAL)

Wildcard DNS alias records are only used for an older and deprecated redundancy method called dual-reg. This method is still supported but it was superseded by SRV Active/Active methods. Unless your systems are still using legacy devices with legacy configuration, it should not be needed and it is better to not configure it.

If you will be configuring this option choose either two Wildcard CNAME or two Wildcard A records.  This may depend on what the DNS Server or Hosting Provider allows.

*Name. class Record Type Target
*.core1.acmecorp.com. IN CNAME core1.acmecorp.com.
*.core2.acmecorp.com. IN CNAME core2.acmecorp.com.