Thursday, March 24, 2016

DNS SRV Records - Explained

SRV (SeRVice) records allow flexibility and stability to services making use of them. Like a "general use" MX record, the SRV records relate to a particular service of the domain, like FTP or SIP, rather than a specific machine the way A or C-name records do.
Several programs are starting to make use of SRV records for VOIP.
An OnSIP customer would create an SRV record to take the place of the domain.onsip.com address given by default. With an SRV record a user with the SIP address of:
could become just:
assuming that the user can create an SRV record for acme.com.

SIP Hosting SRV Record Format

For OnSIP, when setting up a SRV record, the general settings are:
Service: SIP
Protocol: UDP
Name: acme.com (your domain name goes here)
Priority:
Weight:
Port: 5060
Target: sip.onsip.com
TTL: 1 hour

SIP SRV records in BIND

In BIND, an SRV record would look like this:
_sip._udp.acme.com. 3600 IN SRV 0 0 5060  sip.onsip.com.

Looking up SIP SRV records

To test that the SRV record has been entered correctly you need to run the dig command from a terminal window on a Unix/Linux system (including OS X).
For Windows see the nslookup command.
The following screen shot shows the command: dig _sip._udp.bytetel.com SRV(replace bytetel.com with your domain name but keep everything else there).
If everything has been set up correctly you will get a confirmation answer:
This shows that the SIP SRV record for bytetel.com points to port 5060 at sip.onsip.com.

XMPP SRV Records

You need to add two (2) SRV records to make XMPP work. Note that the protocol is TCP and that the ports are specific to the service.

XMPP SRV records in BIND

In BIND, the records look like:
_xmpp-client._tcp.acme.com. 3600 IN SRV 0 0 5222 xmpp-client.onsip.com.
_xmpp-server._tcp.acme.com. 3600 IN SRV 0 0 5269 xmpp-server.onsip.com.
You can look an example up using dig on junctionnetworks.com
$ dig _xmpp-client._tcp.junctionnetworks.com SRV
$ dig _xmpp-server._tcp.junctionnetworks.com SRV
So...
Service: XMPP-CLIENT
Protocol: TCP
Name: acme.com
Priority: 0
Weight: 0
Port: 5222
Target: xmpp-client.onsip.com
TTL: 1hour
-- and --
Service: XMPP-SERVER
Protocol: TCP
Name: acme.com
Priority: 0
Weight: 0
Port: 5269
Target: xmpp-server.onsip.com
TTL: 1hour
Ref: https://support.onsip.com/hc/en-us/articles/204567144-What-is-an-SRV-record-