NAPTR Records

Naming Authority Pointer (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).

A NAPTR record consists of the following fields:

  • Host - The hostname for the record, entered as either a simple, one-part name, or as a Fully Qualified Domain Name (FQDN) with or without a trailing dot.

  • Service Name - Specifies the service(s) available down the rewrite path or a protocol. This field must contain a protocol if the Flags field contains P. This field is not case-sensitive.

  • Pref - Provide an integer value between 0 – 65535 that specifies the processing preference (order) of the NAPTR records (if multiple NAPTR records have equal Order values. Low numbers are processed before higher numbers.

  • Order - Provide an integer value to determine the order in which the NAPTR records are supposed to be processed in. Low numbers are processed before higher numbers.

  • Flags: A character string consisting of a single character (from the set [A–Z0–9], that is case insensitive, and that controls aspects of rewriting and interpreting fields in the NAPTR record. Currently, the NAPTR record supports the following four flags:

    • S indicates the output of the rewrite will be an SRV record.

    • A indicates the output of the rewrite will be an A or AAAA record.

    • U indicates the output of the Regexp field is a Uniform Resource Identifier (URI) (which is used in ENUM).

    • P indicates the next step is to look for protocol-specific rules in the Services field.

  • Regexp - (“Regular Expression”) A character string containing a substitution expression applied to a client's original string, in order to construct the next domain name to lookup

  • Replacement - An FQDN of the next domain-name to query, depending on the values in the Flags field. Use the Replacement field when the Regexp is a simple replacement operation.

  • TTL - The Time to Live (TTL) for the record. You can provide this value as either an integer or an annotated value (1h = 1 hour).

    • This field is not required, and will be set to the default value if left empty.

Additional Examples:

This following NAPTR record set provides different ways to contact example.biz.

Host

Service

Order

Pref

Flags

regexp

Replacement

example.biz

sip+d2u

10

101

S

 

_sip._udp.example.biz.

example.biz

sip+d2t10

10

102

S

 

_sip._tcp.example.biz.

example.biz

e2u+email

10

103

S

 

!^.*$!mailto:info@example.biz!

 

This example is the NAPTR set for the phone number 1+202-555-1212, with a preference for SIP, then H323, and finally email.

Host

Service

Order

Pref

Flags

regexp

Replacement

2.1.2.1.5.5.5.2.0.2.1.itrs.us.

e2u+sip

10

101

U

!^.*$!sip:info@itrs.us!

 

2.1.2.1.5.5.5.2.0.2.1.itrs.us.

E2U+h323

10

102

U

!^.*$!h323:info@itrs.us!

 

2.1.2.1.5.5.5.2.0.2.1.itrs.us.

E2U+msg

10

103

U

!^.*$!mailto:info@itrs.us!