What are SIP DNS SRV records?
Let’s say your name is Al and you work for a company called Acme Corp. Your company has recently signed up for a corporate VoIP phone system and you’re given a SIP address, Al@acme.com. In an ideal world, your friends and colleagues who are also familiar with VoIP know that they can dial Al@acme.com to reach you wherever you have a device registered.
How does this work?
Dialing by domain names allows you to have a public SIP address that follows you much like your email address would. It doesn’t really matter where you are or what device you use; as long as you’re ‘logged in’ (registered), SIP communications will be redirected to your current location.
A Domain Name Server (DNS) SRV record for SIP does the same thing as a mail exchange record for email. When someone calls you at Al@acme.com, the SRV record tells their SIP phone to do so by connecting to the domain belonging to your VoIP phone system (SIP) provider. This does two things for SIP providers and SIP users:
1. Greater stability
From the RFC:
“The SRV RR allows administrators to use several servers for a single domain, to move services from host to host with little fuss, and to designate some hosts as primary servers for a service and others as backups.”
If for some reason the ‘host’ with the highest priority cannot be reached, the SIP phone or proxy trying to reach the user within the domain will attempt to reach the next host defined within the SRV record.
2. Allows SIP users to get their own domains for their SIP addresses, regardless of the domain of their SIP provider
We refer to this as SIP service or SIP hosting, and it’s a feature of an OnSIP account. OnSIP runs several SIP proxy servers, which can handle SIP users in multiple domains just like a mail server handles e-mail for multiple domains.
SIP DNS SRV record settings
To use OnSIP's SIP hosting, the zone file in the DNS SRV records of the user’s domain (acme.com) needs to point to sip.onsip.com. Calls to the user's domain will then be automatically redirected to an OnSIP SIP proxy. Here is what the DNS SRV record looks like:
- Service: SIP
- Protocol: UDP
- Name: acme.com (your domain name goes here)
- Port: 5060
- Target: sip.onsip.com
- TTL: 1 hour
Example DNS SRV record
The following is an SRV DNS Lookup of sip.voice.google.com. As you can see below, the query returns 5 hostnames for inbound SIP traffic to that domain.
Google Voice UDP Record
$ dig _sip._udp.sip.voice.google.com SRV ; <<>> DiG 9.6.0-APPLE-P2 <<>> _sip._udp.sip.voice.google.com SRV ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8463 ;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 4, ADDITIONAL: 9 ;; QUESTION SECTION: ;_sip._udp.sip.voice.google.com. IN SRV ;; ANSWER SECTION: _sip._udp.sip.voice.google.com. 86400 IN SRV 20 1 5060 alt1.voice-sip.l.google.com. _sip._udp.sip.voice.google.com. 86400 IN SRV 10 1 5060 voice-sip.l.google.com. _sip._udp.sip.voice.google.com. 86400 IN SRV 50 1 5060 alt4.voice-sip.l.google.com. _sip._udp.sip.voice.google.com. 86400 IN SRV 30 1 5060 alt2.voice-sip.l.google.com. _sip._udp.sip.voice.google.com. 86400 IN SRV 40 1 5060 alt3.voice-sip.l.google.com. ;; AUTHORITY SECTION: google.com. 146471 IN NS ns3.google.com. google.com. 146471 IN NS ns2.google.com. google.com. 146471 IN NS ns1.google.com. google.com. 146471 IN NS ns4.google.com. ;; ADDITIONAL SECTION: alt1.voice-sip.l.google.com. 300 IN A 18.104.22.168 voice-sip.l.google.com. 300 IN A 22.214.171.124 alt4.voice-sip.l.google.com. 300 IN A 126.96.36.199 alt2.voice-sip.l.google.com. 300 IN A 188.8.131.52 alt3.voice-sip.l.google.com. 300 IN A 184.108.40.206 ns1.google.com. 342957 IN A 220.127.116.11 ns2.google.com. 342957 IN A 18.104.22.168 ns3.google.com. 319271 IN A 22.214.171.124 ns4.google.com. 342957 IN A 126.96.36.199 ;; Query time: 18 msec ;; SERVER: 188.8.131.52#53(184.108.40.206) ;; WHEN: Fri Mar 11 18:01:49 2011 ;; MSG SIZE rcvd: 494