Skip to main content
dns

SRV Lookup

SRV Lookup helps you query service location (srv) records, for authoritative DNS validation, resolver checks, and faster troubleshooting.

Enter a service domain (e.g., _sip._tcp.example.com)

SRV LookupLoad balancing arrows fan out toward multiple service targets.

Advertisement · Anuncio

Advertisement · Anuncio

Technical Analysis & Guide

What It Does

SRV Lookup resolves a service-location name in the form _service._proto.domain and lists every server offering that service with its priority, weight, port and target host, sorted by priority. It is how SIP phones, XMPP servers, Active Directory clients, mail autoconfiguration and some game clients discover where to connect without hard-coded hostnames or ports.

Illustration of dns concept

Why It Matters

  • →VoIP registration: SIP trunks and softphones look up _sip._tcp, _sip._udp or _sips._tcp; a wrong port or target leaves phones unregistered with no obvious error.
  • →Federation: XMPP servers find each other through _xmpp-server._tcp, so a missing record silently breaks chat federation between domains.
  • →Directory services: Windows machines locate domain controllers with _ldap._tcp.dc._msdcs and _kerberos records; broken SRV data means failed logons and group policy.
  • →Failover by design: Priority and weight let you send traffic to a primary site and spill over to a backup without a load balancer.
  • →Client autoconfiguration: Mail clients can discover submission and IMAP endpoints through RFC 6186 records, and Outlook can use _autodiscover._tcp.

How to Read Results

  • priority: Lower value wins. Clients must try all targets with the lowest priority before moving to the next level; rows are already sorted by this field.
  • weight: Relative share among records with the same priority. Weights 60 and 40 send roughly 60 percent and 40 percent of new sessions; 0 means no preference.
  • port: TCP or UDP port where the service listens on the target, e.g. 5060 for SIP, 5269 for XMPP server-to-server, 389 for LDAP, 443 for Autodiscover.
  • name: The target host. It must have A or AAAA records and must not be a CNAME. A target of a single dot means the service is deliberately unavailable.
  • Status warn, no SRV records: The name has no SRV data. Check the underscores, the service label and whether you used _tcp or _udp correctly.
  • Status fail: The lookup itself errored (for example an invalid name or resolver failure), which is different from simply having no records.

Technical Background

The SRV record (type 33) is specified in RFC 2782. Its owner name encodes both the service and the transport: _service._proto.name, where the service label comes from the IANA Service Name and Transport Protocol Port Number Registry and the protocol label is usually _tcp or _udp. The RDATA carries four fields, giving a zone line such as _sip._tcp.example.com. 3600 IN SRV 10 60 5060 sip1.example.com. that reads as priority 10, weight 60, port 5060, target sip1.example.com. Because the port is in DNS, a provider can move a service to a non-standard port without reconfiguring every client.

Selection follows a two-stage algorithm. Clients first group records by priority and use only the lowest group that has reachable targets. Within that group they choose randomly in proportion to weight, so 10 60 and 10 40 split load roughly 60/40, while a record at priority 20 is only used if every priority-10 target fails. A weight of 0 should be used when there is no load-balancing preference, and RFC 2782 says such records get a very small chance of selection when mixed with weighted ones. The target must be a host name with address records, never an alias, and a target of "." is an explicit statement that the service is not offered at that domain.

Common real-world names illustrate the pattern. SIP uses _sip._udp, _sip._tcp and _sips._tcp (TLS, typically port 5061), discovered through the procedure of RFC 3263. XMPP clients look up _xmpp-client._tcp (port 5222) and servers federate via _xmpp-server._tcp (port 5269), per RFC 6120. Active Directory registers dozens of records such as _ldap._tcp.dc._msdcs.corp.example.com (port 389) and _kerberos._udp.corp.example.com (port 88), which Windows clients use to find a domain controller in their site. Mail clients may use RFC 6186 names like _submission._tcp (587) and _imaps._tcp (993), and Microsoft Outlook can fall back to _autodiscover._tcp pointing at a host on port 443.

SRV is not used by web browsers for HTTP; the newer SVCB and HTTPS records (RFC 9460) fill that role with similar priority semantics plus parameters such as ALPN and IP hints. When troubleshooting SRV, separate DNS from connectivity: once this lookup confirms the right target and port, test that the port is open on each target, that TLS certificates match the target name expected by the protocol, and that internal-only records (such as Active Directory locators) are not leaking into public DNS where they reveal internal host names.

Common Errors and How to Fix Them

ProblemRecord created as sip._tcp.example.com or _sip.tcp.example.com and clients never find it.
FixBoth labels need a leading underscore: _sip._tcp.example.com. In many panels the host field should be _sip._tcp only, because the zone name is appended automatically.
ProblemSRV target points to a CNAME, e.g. a provider alias.
FixRFC 2782 requires the target to have A/AAAA records. Point the SRV at the provider's real host name, or create your own A/AAAA record for the target.
ProblemPriority and weight swapped, so all traffic goes to the backup server.
FixThe field order is priority, weight, port, target. Give the primary the lowest priority (10) and the backup a higher one (20); use weight only to split between equals.
ProblemPanel inserted the IP address as the target.
FixSRV targets must be host names. Create an A record such as sip1.example.com and use that name as the target.
ProblemInternal Active Directory SRV records are visible in public DNS.
FixHost the AD zone on internal DNS only (split horizon) or use a dedicated internal subdomain such as corp.example.com that is not delegated publicly.

Frequently Asked Questions

What is the format of an SRV record?

The owner name is _service._proto.domain, and the data has four fields: priority, weight, port and target. For example, _sip._tcp.example.com. 3600 IN SRV 10 50 5060 sip.example.com. means SIP over TCP is offered by sip.example.com on port 5060 with priority 10 and weight 50.

What is the difference between priority and weight in SRV?

Priority decides order: clients always use the lowest priority value first and only move to higher values when all those targets fail. Weight decides proportion among records that share the same priority, so two servers with weights 70 and 30 receive roughly 70 and 30 percent of connections.

Do web browsers use SRV records?

No. Browsers do not look up SRV for HTTP or HTTPS. Use A/AAAA records, or the newer HTTPS record defined in RFC 9460, which provides priority-based endpoint selection, alternative ports and protocol hints for web traffic. SRV remains common for SIP, XMPP, LDAP, Kerberos and some games.

Which SRV records does Microsoft 365 need?

Current Microsoft 365 guidance has changed over time as Skype for Business was retired, so check the DNS records listed in your admin center for your tenant. Historically, _sip._tls and _sipfederationtls._tcp were required, and Outlook can still use an _autodiscover._tcp SRV in some setups.

Why does my SRV lookup return nothing?

Most often the name is malformed: a missing underscore, _tcp instead of _udp, or the zone name duplicated by the DNS panel. It can also mean the service is published under a different label, such as _sips._tcp for TLS-only SIP. Confirm the exact name in the vendor documentation.

Academic Documentation

Protocol context and primary references

REST API Documentation

v1.0
GET /api/tools/srv-lookup
					curl -X POST https://epcybertools.com/api/tools/srv-lookup \
  -H "Content-Type: application/json" \
  -d '{"domain":"_xmpp-server._tcp.google.com"}'
				
					{
  "success": true,
  "results": [
    { "test": "Sample Check", "status": "pass", "message": "All clear" }
  ]
}
				
Rate Limit: 100 requests / 15 minutes

Usage Examples

			# SIP over TCP

dig SRV _sip._tcp.example.com +short

# XMPP server-to-server federation

dig SRV _xmpp-server._tcp.example.com +short
		
100-Day Max Lifespan
155d 5h 18m 21s
PQC Migration Target
1178d 5h 18m 21s