NAPTR
   HOME

TheInfoList



OR:

A Name Authority Pointer (NAPTR) is a type of
resource record The Domain Name System (DNS) is a hierarchical and distributed naming system for computers, services, and other resources in the Internet or other Internet Protocol (IP) networks. It associates various information with domain names assigned t ...
in the
Domain Name System The Domain Name System (DNS) is a hierarchical and distributed naming system for computers, services, and other resources in the Internet or other Internet Protocol (IP) networks. It associates various information with domain names assigned t ...
of the Internet. NAPTR records are most commonly used for applications in
Internet telephony Voice over Internet Protocol (VoIP), also called IP telephony, is a method and group of technologies for the delivery of voice communications and multimedia sessions over Internet Protocol (IP) networks, such as the Internet. The terms Internet t ...
, 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.


Rationale

Uniform Resource Names (
URNs An urn is a vase, often with a cover, with a typically narrowed neck above a rounded body and a footed pedestal. Describing a vessel as an "urn", as opposed to a vase or other terms, generally reflects its use rather than any particular shape or ...
) 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 In computer networking, a hostname (archaically nodename) is a label that is assigned to a device connected to a computer network and that is used to identify the device in various forms of electronic communication, such as the World Wide Web. Hos ...
, 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 A domain name is a string that identifies a realm of administrative autonomy, authority or control within the Internet. Domain names are often used to identify services provided through the Internet, such as websites, email services and more. As ...
and suggest to clients the protocols available for communication with the mapped resource. Each NAPTR record contains a service name, a set of flags, a
regular expression A regular expression (shortened as regex or regexp; sometimes referred to as rational expression) is a sequence of characters that specifies a search pattern in text. Usually such patterns are used by string-searching algorithms for "find" ...
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 RFC2915 and RFC3403.


Example

A common use for NAPTR records is in Session Initiation Protocol, where it is used to route telephony sessions over the IP networks. For example, the SIP URN 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: $ORIGIN 4.3.2.1.5.5.5.0.0.8.1.e164.arpa. IN NAPTR 100 10 "U" "E2U+sip" "!^.*$!sip:customer-service@example.com!" . IN NAPTR 102 10 "U" "E2U+email" "!^.*$!mailto:information@example.com!" . 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 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 systematica ...
string indicating that the record can be used in telephone number-to-SIP-URI queries. The client applies the regular expression ''!^.*$!sip:customer-service@example.com!'', which replaces its entire URN ''tel:+1-800-555-1234'' with ''sip:customer-service@example.com''. The flag ''U'' indicates that the replacement string is a SIP URN, and that no further rules should be applied. To resolve SIP URN, the client performs a second NAPTR lookup—on ''example.com'', yielding: $ORIGIN example.com. IN NAPTR 100 10 "S" "SIP+D2U" "!^.*$!sip:customer-service@example.com!" _sip._udp.example.com. IN NAPTR 102 10 "S" "SIP+D2T" "!^.*$!sip:customer-service@example.com!" _sip._tcp.example.com. 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 URN, this time with the domain name ''_sip._udp.example.com''. The flag ''S'' indicates that the resulting domain name points to a
SRV record A Service record (SRV 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 iRFC 2782 and its type code is 33. Some Internet protoco ...
. The client thus finishes with ''_sip._udp.example.com'', for which it can then fetch a SRV record to initiate a telephony call.


Support

NAPTR implementations generally also implement
EDNS Extension Mechanisms for DNS (EDNS) is a specification for expanding the size of several parameters of the Domain Name System (DNS) protocol which had size restrictions that the Internet engineering community deemed too limited for increasing fun ...
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.


References

{{reflist, 30em DNS record types