Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
NAPTR record
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
A '''Name Authority Pointer''' ('''NAPTR''') is a type of [[Domain Name System#resource record|resource record]] in the [[Domain Name System]] of the Internet.{{Ref RFC|2915}}{{Ref RFC|3403}} 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 identifier]]s (URIs). The DNS type code for the NAPTR record is 35.{{Ref RFC|2915}} == Rationale == Uniform Resource Names ([[Uniform Resource Name|URNs]]) are a subset of Uniform Resource Identifiers ([[URI]]s) 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 ([[URL]]s) 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.{{Ref RFC|2276}} 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 system (mathematics)|deterministic]] ways. These cascading rules have been standardized in {{IETF RFC|2915|3403|leadout=and}}. == 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: {{sxhl|2=zone|<nowiki> $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!" . </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.<ref>{{cite web|title = ENUM: Dragging telephone numbers into the Internet Age|first = Rudolf|last = van der Berg|date = 2010-01-13|website = Ars Technica|url = https://arstechnica.com/business/news/2010/01/enum-dragging-telephone-numbers-into-the-internet-age.ars|access-date = 2017-06-14|archive-date = 2012-01-15|archive-url = https://web.archive.org/web/20120115181527/http://arstechnica.com/business/news/2010/01/enum-dragging-telephone-numbers-into-the-internet-age.ars|url-status = live}}</ref> The client applies the regular expression {{code|!^.*$!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 lookup—on ''example.com'', yielding: {{sxhl|2=zone|<nowiki> $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. </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 == {| class="wikitable" |- ! Vendor ! Product ! NAPTR support? |- | [[Internet Systems Consortium|ISC]] | [[BIND]] | {{yes}} |- | [[CZ.NIC]] | [[Knot DNS]] | {{yes}} |- | [[Cisco Systems]] | [[Cisco Network Registrar|CNR]] | {{yes}} |- | [[Daniel J. Bernstein]] | [[djbdns]] | {{yes|generic record, or patch}} |- | [https://www.bluecatnetworks.com/ BlueCat Networks] | [https://bluecatnetworks.com/adaptive-dns/bluecat-integrity/ Integrity] | {{yes}} |- | [https://www.efficientip.com/ EfficientIP] | SOLIDserver | {{yes}} |- | [[Google]] |[[Google Cloud Platform|Google Cloud DNS]] | {{yes}}<ref>{{cite web|title=Records format (JSON)|url=https://cloud.google.com/dns/records/json-record|website=CloudDNS Documentation|accessdate=2018-04-25|archive-date=2019-12-15|archive-url=https://web.archive.org/web/20191215032113/https://cloud.google.com/dns/records/json-record|url-status=live}}</ref> |- | [[Infoblox]] | [[Infoblox]] Trinzic Appliance | {{yes}} |- | [[Microsoft]] | [[Windows Server 2003]] DNS Server | {{no}} |- | [[Microsoft]] | [[Windows Server 2008 R2]] DNS Server | {{yes}} |- | [[Microsoft]] | [[Microsoft Azure|Azure DNS]] | {{no}} |- | NS1 | mDNS and DDI | {{yes}} |- | [[PowerDNS]]/[[Open-Xchange]] | [[PowerDNS]] | {{yes}} |- | [[NLnet Labs]] | [[NSD]] | {{yes}} |- | [[Amazon Web Services]] | [[Amazon Route 53]] | {{yes}} |- | Sam Trenholme | [[MaraDNS]] | {{yes|version 1.4 on<ref>{{cite web|url = http://maradns.org/tutorial/update.html#1.3|title = Updating MaraDNS|accessdate = 2009-01-17|archive-date = 2009-02-21|archive-url = https://web.archive.org/web/20090221035933/http://maradns.org/tutorial/update.html#1.3|url-status = dead}}</ref>}} |- | Unixservice, LLC. | [[mysqlBind|unxsBind]] | {{yes}} |- | Simon Kelley | [[Dnsmasq]] | {{yes}} |- | [[F5 Networks]] | [[F5 Networks]] BIG-IP DNS | {{yes}} |- | [[OVH]] | DNS | {{yes}} |- | [[DNS.com]] | [[51DNS]] DNS | {{no}} |- |- | [[Citrix Systems]] | [[NetScaler]] GSLB | {{yes}} |- | [[Cloudflare]] | [[Cloudflare#Authoritative_DNS| 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. {| class="wikitable" |- ! Organisation ! Service/Product ! NAPTR Support? |- |- | [[Snom]] | [[Snom VoIP Phones]] | {{yes}} |- |- | {{Ill|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: {| class="wikitable" |- ! Organisation ! Service/Product ! NAPTR required? ! Reason |- | [[eduroam]] | eduroam | {{yes}} | For routing non-ccTLD realms<ref>{{Cite web |title=Advisory: NAPTR records - Improving Efficiency of International Authentication through utilisation of RadSec at National Level |date=3 October 2012 |url=https://community.jisc.ac.uk/library/janet-services-documentation/advisory-improving-efficiency-international-authentication |website=Jisc community |access-date=8 May 2024 |archive-date=12 April 2024 |archive-url=https://web.archive.org/web/20240412135143/https://community.jisc.ac.uk/library/janet-services-documentation/advisory-improving-efficiency-international-authentication |url-status=live }}</ref> |- | [[Wireless Broadband Alliance]] | OpenRoaming | {{yes}} | by design<ref>{{Cite web |title=What is OpenRoaming (Radiator Software), Slide 9 |date=3 October 2022 |url=https://radiatorsoftware.com/wp-content/uploads/openroaming-2022-10-03.pdf |access-date=2024-05-08 |archive-date=2024-05-08 |archive-url=https://web.archive.org/web/20240508101014/https://radiatorsoftware.com/wp-content/uploads/openroaming-2022-10-03.pdf |url-status=live }}</ref> |- |} == References == {{reflist|30em}} [[Category:DNS record types]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Cite web
(
edit
)
Template:Code
(
edit
)
Template:IETF RFC
(
edit
)
Template:Ill
(
edit
)
Template:No
(
edit
)
Template:Ref RFC
(
edit
)
Template:Reflist
(
edit
)
Template:Sxhl
(
edit
)
Template:Yes
(
edit
)