NAPTR record

Last updated

A Name Authority Pointer (NAPTR) is a type of resource record in the Domain Name System of the Internet. [1] [2]

Contents

NAPTR records are most commonly used for applications in Internet telephony, for example, in the mapping of servers and user addresses in the Session Initiation Protocol (SIP). The combination of NAPTR records with Service Records (SRV) allows the chaining of multiple records to form complex rewrite rules which produce new domain labels or uniform resource identifiers (URIs).

The DNS type code for the NAPTR record is 35. [1]

Rationale

Uniform Resource Names (URNs) are a subset of Uniform Resource Identifiers (URIs) used for abstract identifiers, such as a person's name or their telephone number. For URNs to be meaningful, they must be mapped to a concrete resource of some sort. Uniform Resource Locators (URLs) are often used to describe such resources, such as a computer hostname, or a local file.

The NAPTR record aids in the standardization of URNs. NAPTR records map between sets of URNs, URLs and plain domain names and suggest to clients the protocols available for communication with the mapped resource. [3] Each NAPTR record contains a service name, a set of flags, a regular expression rule, an order value, a preference and a replacement pattern. Multiple records can be chained together in a cascade to rewrite URIs in deterministic ways. These cascading rules have been standardized in RFC   2915 and 3403.

Example

A common use of NAPTR records is by the Session Initiation Protocol, which routes telephony sessions over IP networks. For example, the URI for the US telephone number 1-800-555-1234 might be tel:+1-800-555-1234 and its domain name 4.3.2.1.5.5.5.0.0.8.1.e164.arpa. A SIP client querying that name might receive:

<nowiki> $ORIGIN 4.3.2.1.5.5.5.0.0.8.1.e164.arpa.INNAPTR10010"U""E2U+sip""!^.*$!sip:customer-service@example.com!".INNAPTR10210"U""E2U+email""!^.*$!mailto:information@example.com!".</nowiki>

The first record has an order value of 100, which is lower than 102 and therefore has precedence. Its preference of 10 is unimportant as there are no other rules with order 100. The service name E2U+sip is an ENUM string indicating that the record can be used in telephone number-to-SIP-URI queries. [4] The client applies the regular expression !^.*$!sip:customer-service@example.com!, which replaces its entire URI tel:+1-800-555-1234 with sip:customer-service@example.com . The flag U indicates that the replacement string is a SIP URI, and that no further rules should be applied.

To resolve the SIP URI, the client performs a second NAPTR lookupon example.com, yielding:

<nowiki> $ORIGIN example.com.INNAPTR10010"S""SIP+D2U""!^.*$!sip:customer-service@example.com!"_sip._udp.example.com.INNAPTR10210"S""SIP+D2T""!^.*$!sip:customer-service@example.com!"_sip._tcp.example.com.</nowiki>

As in the first example, the client picks the first record because it has the lowest order value. The regular expression rule replaces the query URI, this time with the domain name _sip._udp.example.com. The flag S indicates that the resulting domain name points to a SRV record. The client thus finishes with _sip._udp.example.com, for which it can then fetch an SRV record to initiate a telephony call.

Support

VendorProductNAPTR support?
ISC BIND Yes
CZ.NIC Knot DNS Yes
Cisco Systems CNR Yes
Daniel J. Bernstein djbdns generic record, or patch
BlueCat Networks Integrity Yes
EfficientIP SOLIDserverYes
Google Google Cloud DNS Yes [5]
Infoblox Infoblox Trinzic ApplianceYes
Microsoft Windows Server 2003 DNS ServerNo
Microsoft Windows Server 2008 R2 DNS ServerYes
Microsoft Azure DNS No
NS1mDNS and DDIYes
PowerDNS/Open-Xchange PowerDNS Yes
NLnet Labs NSD Yes
Amazon Web Services Amazon Route 53 Yes
Sam Trenholme MaraDNS version 1.4 on [6]
Unixservice, LLC. unxsBind Yes
Simon Kelley Dnsmasq Yes
F5 Networks F5 Networks BIG-IP DNSYes
OVH DNSYes
DNS.com 51DNS DNSNo
Citrix Systems NetScaler GSLBYes
Cloudflare Cloudflare Authoritative DNS Yes

NAPTR implementations generally also implement EDNS as responses returning multiple NAPTR records are usually larger than the normal 512 byte packet size limit and would otherwise require a less efficient fallback to TCP, rather than UDP, for the transport protocol.

Services

Below are some Voice over IP services and products that require or support NAPTR records.

OrganisationService/ProductNAPTR Support?
Snom Snom VoIP Phones Yes
Yealink  [ zh ] Yealink Phones Yes

NAPTR records are also used by non-SIP services. Notable roaming services using NAPTR for route signposting are listed below:

OrganisationService/ProductNAPTR required?Reason
eduroam eduroamYesFor routing non-ccTLD realms [7]
Wireless Broadband Alliance OpenRoamingYesby design [8]

Related Research Articles

The Domain Name System (DNS) is a hierarchical and distributed name service that provides a naming system for computers, services, and other resources on the Internet or other Internet Protocol (IP) networks. It associates various information with domain names assigned to each of the associated entities. Most prominently, it translates readily memorized domain names to the numerical IP addresses needed for locating and identifying computer services and devices with the underlying network protocols. The Domain Name System has been an essential component of the functionality of the Internet since 1985.

The Session Initiation Protocol (SIP) is a signaling protocol used for initiating, maintaining, and terminating communication sessions that include voice, video and messaging applications. SIP is used in Internet telephony, in private IP telephone systems, as well as mobile phone calling over LTE (VoLTE).

A Uniform Resource Identifier (URI), formerly Universal Resource Identifier, is a unique sequence of characters that identifies an abstract or physical resource, such as resources on a webpage, mail address, phone number, books, real-world objects such as people and places, concepts. URIs are used to identify anything described using the Resource Description Framework (RDF), for example, concepts that are part of an ontology defined using the Web Ontology Language (OWL), and people who are described using the Friend of a Friend vocabulary would each have an individual URI.

<span class="mw-page-title-main">E.164</span> ITU-T Recommendation for telephone numbering

E.164 is an international standard, titled The international public telecommunication numbering plan, that defines a numbering plan for the worldwide public switched telephone network (PSTN) and some other data networks.

Telephone number mapping is a system of unifying the international telephone number system of the public switched telephone network with the Internet addressing and identification name spaces. Internationally, telephone numbers are systematically organized by the E.164 standard, while the Internet uses the Domain Name System (DNS) for linking domain names to IP addresses and other resource information. Telephone number mapping systems provide facilities to determine applicable Internet communications servers responsible for servicing a given telephone number using DNS queries.

Zero-configuration networking (zeroconf) is a set of technologies that automatically creates a usable computer network based on the Internet Protocol Suite (TCP/IP) when computers or network peripherals are interconnected. It does not require manual operator intervention or special configuration servers. Without zeroconf, a network administrator must set up network services, such as Dynamic Host Configuration Protocol (DHCP) and Domain Name System (DNS), or configure each computer's network settings manually.

A Uniform Resource Name (URN) is a Uniform Resource Identifier (URI) that uses the urn scheme. URNs are globally unique persistent identifiers assigned within defined namespaces so they will be available for a long period of time, even after the resource which they identify ceases to exist or becomes unavailable. URNs cannot be used to directly locate an item and need not be resolvable, as they are simply templates that another parser may use to find an item.

A Service record is a specification of data in the Domain Name System defining the location, i.e., the hostname and port number, of servers for specified services. It is defined in RFC 2782, and its type code is 33. Some Internet protocols such as the Session Initiation Protocol (SIP) and the Extensible Messaging and Presence Protocol (XMPP) often require SRV support by network elements.

STUN is a standardized set of methods, including a network protocol, for traversal of network address translator (NAT) gateways in applications of real-time voice, video, messaging, and other interactive communications.

The Dynamic Delegation Discovery System (DDDS) is an algorithm for applying string transformation rules to application-unique strings to extract specific syntax elements. It is used for finding information, such as authoritative domain name servers, for Uniform Resource Identifiers and Uniform Resource Names. An earlier specification applied only to URNs, and was called the Resolver Discovery Service (RDS).

The name invalid is reserved by the Internet Engineering Task Force (IETF) as a domain name that may not be installed as a top-level domain in the Domain Name System (DNS) of the Internet.

The SIP URI scheme is a Uniform Resource Identifier (URI) scheme for the Session Initiation Protocol (SIP) multimedia communications protocol. A SIP address is a URI that addresses a specific telephone extension on a voice over IP system. Such a number could be a private branch exchange or an E.164 telephone number dialled through a specific gateway. The scheme was defined in RFC 3261.

<span class="mw-page-title-main">Michael Mealling</span>

Michael Mealling is co-founder of Pipefish Inc, and was the cofounder, Chief Financial Officer (CFO) and Vice President of Business Development of Masten Space Systems, CEO of Refactored Networks, long time participant within the IETF, a Space Frontier Foundation Advocate, and a former director of the Moon Society. He operates a blog site called Rocketforge and has been interviewed twice on The Space Show and twice on SpaceVidcast.

PKI Resource Query Protocol (PRQP) is an Internet protocol used for obtaining information about services associated with an X.509 Certificate Authority. It is described by RFC 7030 published on October 23, 2013. PRQP aims to improve Interoperability and Usabilities issues among PKIs, helping finding services and data repositories associated with a CA. Messages communicated via PRQP are encoded in ASN.1 and are usually communicated over HTTP.

Amazon Route 53 is a scalable and highly available Domain Name System (DNS) service. Released on 5 December 2010, it is part of Amazon.com's cloud computing platform, Amazon Web Services (AWS). The name is a possible reference to U.S. Routes, and "53" is a reference to the TCP/UDP port 53, where DNS server requests are addressed.

DNS-based Authentication of Named Entities (DANE) is an Internet security protocol to allow X.509 digital certificates, commonly used for Transport Layer Security (TLS), to be bound to domain names using Domain Name System Security Extensions (DNSSEC).

The Session Initiation Protocol (SIP) is the signaling protocol selected by the 3rd Generation Partnership Project (3GPP) to create and control multimedia sessions with multiple participants in the IP Multimedia Subsystem (IMS). It is therefore a key element in the IMS framework.

A uniform resource locator (URL), colloquially known as an address on the Web, is a reference to a resource that specifies its location on a computer network and a mechanism for retrieving it. A URL is a specific type of Uniform Resource Identifier (URI), although many people use the two terms interchangeably. URLs occur most commonly to reference web pages (HTTP/HTTPS) but are also used for file transfer (FTP), email (mailto), database access (JDBC), and many other applications.

In the Domain Name System, a Uniform Resource Identifier (URI) record is a means for publishing mappings from hostnames to URIs.

References

  1. 1 2 Mealling, M; Daniel, R (September 2000). The Naming Authority Pointer (NAPTR) DNS Resource Record. Network Working Group. doi: 10.17487/RFC2915 . RFC 2915.Proposed Standard. Obsoleted by RFC  3401, 3402, 3403, 3404. Updates RFC  2168.
  2. Mealling, M (October 2002). Dynamic Delegation Discovery System (DDDS), Part Three: The Domain Name System (DNS) Database. Network Working Group. doi: 10.17487/RFC3403 . RFC 3403.Proposed Standard. Obsoletes RFC  2915, 2168.
  3. Sollins, K (January 1998). Architectural Principles of Uniform Resource Name Resolution. Network Working Group. doi: 10.17487/RFC2276 . RFC 2276.Informational. Updated by RFC  3401.
  4. van der Berg, Rudolf (2010-01-13). "ENUM: Dragging telephone numbers into the Internet Age". Ars Technica.
  5. "Records format (JSON)". CloudDNS Documentation. Retrieved 2018-04-25.
  6. "Updating MaraDNS" . Retrieved 2009-01-17.
  7. "Advisory: NAPTR records - Improving Efficiency of International Authentication through utilisation of RadSec at National Level". Jisc community. 3 October 2012.
  8. "What is OpenRoaming (Radiator Software), Slide 9" (PDF). 3 October 2022.