NAPTR query is defined (As one of the DNS procedures) to support multiple services in a typical IP network. This is a very elaborate procedure. However, 3GPP has defined a simplified version of the same procedure which is known as S-NAPTR procedure.

Following are the steps in a typical S-NAPTR query process:

The DNS client (Application) decides on

  1. the FQDN
  2. Using FQDN,  DNS client queries for NATPR record to get the available services and the replacement string
  3. DNS client chooses the service
  4. Using the replacement string that is associated with the chosen service, the client does DNS- SRV query to get the service parameters (port no. etc.)
  1. Note 1. If the client chooses a NAPTR record with “a” flag the DNS-SRV query is not needed. Only NAPTR record with “s” needs a DNS-SRV quer
  2. Note 2. “s” flag  is used in NAPTR  record, if the interface uses some non-standard options (e.g. not standard port-no.)
  • The response may have multiple records, indicating that the chosen service is provided by multiple servers. The client chooses one of the hosts based on some criteria
  • Using the replacement variable, do DNS A / AAAA query to get the IP address
  1. Note 1. Very often DNS server will include IPv4 and IPv6 addresses of the servers in the “Additional Section” of the response. In this case, the client will not make one more DNS query to get the IP address.
  2. Note 2. ‘A’ record provides IPv4 address; ‘AAAA’ record provides IPv6 address