GRP26xx - DNS SRV Guide

  • Updated on October 23, 2021

SRV records (Service records) are names in DNS (Domain Name System) allowing to locate servers for specific service, by providing hostname, port number, weight and priority information in response to a DNS lookup request.

DNS SRV can be used to discover the SIP server domain, in order to get registered to make and receive calls and can be also used to identify a backup SIP server domain in the event the primary server fails, providing high availability with no service interruption.

A SIP client configured with a domain name as SIP server (example: grandstream.com), if DNS lookup is using “A Record”, the response from the DNS server will include a single IP address for this domain. While if this domain offers different servers for the same service (SIP), DNS SRV can help to provide hostnames, port number, weight and priority for each server, allowing SIP client to connect to the first available server (depending on priority and weight). In addition, Grandstream products support DNS SRV/NAPTR, NAPTR records are used in conjunction with SRV records to discover available services (SIP, email, web, FTP…) in a specific domain, and provide DNS SRV records as response to use for DNS lookup.

The following flow shows DNS interaction between Grandstream products and DNS server:

Figure 1: DNS Interaction

GRP26xx series include, GRP261x and GRP260x series, GRP2624 and GRP2634 models.

DNS-SRV

DNS-SRV Format

The format for a DNS SRV lookup is the following:

_Service._Proto.Name TTL Class SRV Priority Weight Port Target

FieldsDescription

Service

The name of the service to resolve (http, sip, ldap…).

Protocol

The protocol used by this service (udp or tcp).

Name

The domain name of the wanted service

TTL

The time interval that the resource record may be cached before the source of the information should again be consulted.

Class

Specify the type of the Resource record it can be:

  • IN: The Internet class
  • CS: The CSNET class (Obsolete – used only for examples in some obsolete RFCs)
  • CH: The CHAOS class
  • HS: Hesiod [Dyer 87]

Priority

A client attempt to contact the target host with the lowest-numbered priority it can reach, target hosts with the same priority will be tried in an order defined by the weight field. The range is 0-65535

Weight

It specifies a relative weight for entries with the same priority. Larger weight will get high priority of being selected. The range of this number is 0-65535.

Port

The port on this target host of this service. The range is 0-65535.

Target

The domain name of the target host. This entry should return one or more address records for this name.

Table 1: DNS-SRV Fields Description

Configuring DNS-SRV On GRP26XX

GRP2614 is used in this guide as example for the configuration.

  1. Enter account credentials under “Accounts 🡪 Account X 🡪 General Settings”.

In this example: “SIP Server” is “grandstream.com” and “Outbound proxy” is “test.grandstream.com”.

Figure 2: GRP261x, GRP2624 and GRP2634 SIP Configuration

  1. Set “DNS Mode” to “SRV” under “Accounts 🡪 Account X 🡪 Network Settings
Figure 3: GRP261x, GRP2624 and GRP2634 Network Settings

For the GRP260X, you can find “ Network settings” tab, under “Accounts 🡪 Account X 🡪 General Settings”, and the option “ Outbound Proxy” is available under the Network settings section.

Graphical user interface, application

Description automatically generated
Figure 4: GRP260x SIP Configuration

A screenshot of a computer

Description automatically generated
Figure 5 : GRP260x Network Settings

The table below explains available options related to DNS configuration:

FieldDescription

DNS Mode

This parameter controls how the search appliance looks up IP addresses for hostnames. There are four modes: A Record, SRV, NAPTR/SRV, Use Configured IP. The default setting is “A Record“. If the user wishes to locate the server by DNS SRV, the user may select “SRV” or “NAPTR/SRV“. If “Use Configured IP” is selected, please fill in the three fields below:

  • Primary IP.
  • Backup IP 1.
  • Backup IP 2.

If SIP server is configured as domain name, phone will not send DNS query, but use “Primary IP” or “Backup IP x” to send SIP message if at least one of them are not empty. Phone will try to use “Primary IP” first. After 3 tries without any response, it will switch to “Backup IP x”, and then it will switch back to “Primary IP” after 3 re-tries. If SIP server is already an IP address, phone will use it directly even “User Configured IP” is selected.

DNS SRV Fail-over Mode

The option will decide which IP is going to be used in sending SIP packets after IPs for SIP server host are resolved with DNS SRV.

Default

If the option is set with “default”, it will again try to send register messages to one IP at a time, and the process repeats.

Saved one until DNS TTL

If the option is set with “Saved one until DNS TTL”, it will send register messages to the previously registered IP first. If no response, it will try to send one at a time for each IP. This behavior lasts as long as DNS TTL (time-to-live) is up.

Saved one until no responses

If the option is set with “Saved one until no responses”, it will send register messages to the previously registered IP first, but this behavior will persist until the registered server does not respond.

Table 2: Phone DNS Settings

DNS-SRV Lookup

In order to Register account in the above example, the phone will try to resolve the domain “test.grandstream.com”, therefore:

  • The phone will send a SRV lookup for “test.grandstream.com”.
  • The DNS server will reply with a list of FQDN’s with different weight and priorities.
  • The phone will issue an A record query for all the FQDNs (Fully qualifies domain names) starting from the one with the lowest priority number.
  • The DNS server will send back the IP addresses associated with those FQDNs.
  • The phone will then send SIP REGISTER request to the IP address associated with the lowest priority number returned by the SRV lookup.

Registration Process

If the primary SIP server where the phone is registered (192.168.10.13) fails, the phone act as follow:

  • After the register expiration, the phone will send 3 SIP REGISTER requests to the primary server, and won’t get a reply.
  • The phone will consider the server not available and then send a REGISTER request to the backup server (192.168.10.12).
Figure 6: Registration Process

Once the primary server returns to normal, after the register expiration the phone will send again REGISTER request to the primary server.

The same REGISTER process is applied for INVITE and BYE messages.

Figure 7: SRV Lookup

DNS NAPTR/SRV

DNS NAPTR/SRV Format

NAPTR resource records are used to replace compact, regular expressions with a replacement field that may well be a pointer to another rule, its DNS-type code is 35.

The format of an NAPTR record is as follows:

Domain TTL Class Type Order Preference Flags Service Regexp Replacement

FieldsDescription

Domain

The domain name to which this resource record refers

TTL

Specify the time interval that the resource record may be cached before the source of the information should again be consulted.

Class

Specify the type of the Resource record it can be:

  • IN: The Internet class
  • CS: The CSNET class (Obsolete – used only for examples in some obsolete RFCs)
  • CH: The CHAOS class
  • HS: Hesiod [Dyer 87]

Type

DNS type code for NAPTR is 35

Order

Specify the order in which the NAPTR records need to be processed, low numbers are processed before high numbers.

Preference

Specifies the order in which NAPTR records with the same “Order” values need to be processed. records are processed from lower preference numbers to higher preference numbers.

Flags

Indicate what happens next after this lookup, at this time 4 flags are defined.

  • The “S” flag indicates that the next lookup should be an SRV lookup.
  • The “A” flag indicates that the next step is a DNS A, AAAA, A6 record lookup.
  • The “U” flag means that the next step is not a DNS lookup but that the output of the Regexp field is an URI that adheres to the ‘absoluteURI’.
  • The “P” flag indicates that the remainder of the lookup are defined by the application that uses the NAPTR.

Service

Specifies the services available in this domain. The replacement field is used to get to this service. It can also specify the protocol used to communicate with the server that offers this service. In SIP, three services are defined along with their resolution services (resolution services are defined after the “+” sign):

  • SIPS+D2T”: Secure SIP, TLS over TCP.
  • SIP+D2T”: SIP over TCP.
  • SIPS+D2S”: Secure SIP, TLS over SCTP.
  • SIP+D2S”: SIP over SCTP.
  • SIP+D2U”:SIP over UDP.

Regexp

Carries a substitution expression that is applied to the original domain name in order to construct a new domain name for the next lookup.

Replacement

The next name used to query a DNS. This could be another NAPTR, SRV or A record. In SIP the replacement fields are SRV RRs and hence the flag field is set to “S”.

Table 3: DNS-NAPTR/SRV Fields Description

DNS NAPTR/SRV Lookup

the DNS settings can be found under “Accounts 🡪 Account X 🡪 Network Settings”.

Figure 8: Network Settings NAPTR/SRV

Using the GRP260X, the DNS settings can be found under “Accounts 🡪 Account X 🡪 General Settings” and scroll down to the Network Settings section.

Using the example in Figure 1, in order to register the account, the phone will make the following lookup:

  • The phone will send a NAPTR lookup for the domain “test.grandstream.com”.
  • The server will return back a NAPTR record reply that contain the next step for the lookup.
  • The phone will send an SRV lookup for using parameters returned on the NAPTR record.
  • The DNS server will reply with a list of FQDN’s with different weight and priorities.
  • The phone will issue an A record query for all the FQDNs starting from the one with the lowest priority number.
  • The DNS server will send back the IP addresses associated with those FQDNs.
  • The phone will then send SIP REGISTER request to the IP address associated with the lowest priority number returned by the SRV lookup.
Figure 9: DNS NAPTR/SRV Lookup

The registration process is the same as described previously on SRV section.

DNS Server Configuration

A trial Version of Simple DNS Plus is used as DNS server in this example.

In order to configure Simple DNS with SRV and NAPTR records please follow those steps:

  1. Download and install Simple DNS plus from this link: SimpleDNSPlus.
  2. Open Simple DNS Plus and Click on Records to start configuration.
C:\Users\Soukaina\Desktop\123.png
Figure 10: Configure Records
  1. Create a new Primary Zone.
C:\Users\Soukaina\Desktop\232.png
Figure 11: New Zone
  1. The following window will be prompt, select Forward Zone and Click “Next”.
Figure 12: Forward Zone
  1. Enter the name of your zone which is “grandstream.com” in this example, then click on “Finish”.
Figure 13: Zone Name

Once the zone is created successfully, start creating the records as shown in the following figure:

  1. Right Click on the zone created which is “grandstream.com” then select “Other New Records” and click on “NAPTR-record”, this will create our NAPTR record.
Figure 14: New NAPTR Record
  1. Fill the information related to the NAPTR record and click “OK” as shown below.
  1. Create SRV records by clicking on “grandstream.com” zone, then select “Other New Records” and click on “SRV-record”, this will create our NAPTR record.
Figure 16: New SRV Record
  1. Fill the information related to the SRV record and click “OK” as shown below.
Figure 17: SRV Record
  1. Click on “grandstream.com” zone to Create SRV records, then select “Other New Records” and select “SRV-record”, this will create our NAPTR record.
Figure 18: New A Record
  1. Fill the information related to the A record and click “OK” as shown below.
Figure 19: A Record

Once all the Records are created, click on Save Zone as shown below to save the zone and finish the Server configuration.

C:\Users\Soukaina\Desktop\1235498.png
Figure 20: Save Settings

Was this article helpful?

Related Articles

Need Support?
Can’t find the answer you’re looking for? Don’t worry we’re here to help!
Contact Support

Leave a Comment

We use cookies in order to give you the best possible experience on our website. By continuing to use this site, you agree to our use of cookies.
Accept