Page MenuHomePhabricator

Provisioning: DNS
AG Projects RTC Platforms (Provisioning Guides)

This guide describes the provisioning functions for DNS.

DNS Zones

The SIP Proxy is configured to serve domains that must be reachable over the Internet. The SIP devices must support RFC3263 (Locating SIP Services), namely support for DNS SRV lookups for SIP services. Each SIP domain configured in the SIP Proxy must have DNS zone configured on a DNS server responsable for that domain. When using the platform built-in DNS servers and DNS management you must create the proper DNS zones and records for each SIP domain.

To enable the use of an Internet domain for SIP you must provision in the DNS zone the following records:

example.com.           300  IN  NAPTR   20 0 "s" "SIP+D2U" "" _sip._udp.example.com.
_sip._udp.example.com. 300  IN  SRV     0  0 5060 sip.example.com.

Replace example.com with your own domain and add an A record pointing sip.example.com to the IP address of the SIP Proxy.

SOAP/XML functions

  • DnsPortaddZone()
  • DnsPortupdateZone()
  • DnsPortdeleteZone()
  • DnsPortgetZone()
  • DnsPortgetZones()
  • DnsPortaddRecord()
  • DnsPortaddFancyRecord()
  • DnsPortupdateRecord()
  • DnsPortupdateFancyRecord()
  • DnsPortdeleteRecord()
  • DnsPortdeleteFancyRecord()
  • DnsPortgetRecord()
  • DnsPortgetFancyRecord()
  • DnsPortgetRecords()
  • DnsPortgetFancyRecords()

DNZ zone attributes:

<complexType name="DnsZone"><sequence>
        <element name="name" nillable="false" type="xsd:string"/>
        <element name="ttl" nillable="true" type="xsd:nonNegativeInteger"/>
        <element name="nameservers" nillable="true" type="ngnpro:StringArray"/>
        <element name="email" nillable="true" type="xsd:string"/>
        <element name="serial" nillable="true" type="xsd:int"/>
        <element name="refresh" nillable="true" type="xsd:int"/>
        <element name="retry" nillable="true" type="xsd:int"/>
        <element name="expire" nillable="true" type="xsd:int"/>
        <element name="minimum" nillable="true" type="xsd:int"/>
        <element name="customer" nillable="true" type="xsd:integer"/>
        <element name="reseller" nillable="true" type="xsd:integer"/>
        <element name="changeDate" nillable="true" type="xsd:string"/>
        <element name="info" nillable="true" type="xsd:string"/>
    </sequence>
</complexType>

When using AG Projects hosted platform you must select and use for DNS delegation the following name servers:

  1. ns1.dns-hosting.info
  2. ns2.dns-hosting.info

Graphical client

CDRToolAccountsDNS zones

book-general-sip-platform-ngnpro-dns-zones (383×1 px, 87 KB)

Click on each zone to edit its properties.

book-general-sip-platform-ngnpro-dns-zone (622×1 px, 64 KB)

DNS Records

Each DNS zones has one or more records. For every SIP domain served by the platform you must create the following DNS records:

Example for:

  • SIP domain: sipdomain.com
  • SIP Proxy hostname configured for the platform: sip.example.com
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; DNS records specified by RFC 3263 (Locating SIP services) ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; SIP communications using UDP transport
sipdomain.com.             IN NAPTR  10 0 "S" "SIP+d2u" "" _sip._udp.sipdomain.com.
_sip._udp.sipdomain.com.   IN SRV    0  0 5060 sip.example.com.

SOAP/XML functions

  • DnsPortaddRecord()
  • DnsPortupdateRecord()
  • DnsPortdeleteRecord()
  • DnsPortgetRecord()
  • DnsPortgetRecords()

DNS record attributes:

<complexType name="DnsRecord"><sequence>
        <element name="id" nillable="true" type="xsd:integer"/>
        <element name="zone" nillable="true" type="xsd:string"/>
        <element name="name" nillable="true" type="xsd:string"/>
        <element name="type" nillable="true" type="ngnpro:DnsRecordType"/>
        <element name="ttl" nillable="true" type="xsd:unsignedInt"/>
        <element name="value" nillable="true" type="xsd:string"/>
        <element name="priority" nillable="true" type="xsd:unsignedShort"/>
        <element name="owner" nillable="true" type="xsd:integer"/>
        <element name="customer" nillable="true" type="xsd:integer"/>
        <element name="reseller" nillable="true" type="xsd:integer"/>
        <element name="changeDate" nillable="true" type="xsd:string"/>
    </sequence>
</complexType>

DNS record types:

<simpleType name="DnsRecordType"><xsd:restriction base="xsd:string">
        <xsd:enumeration value="A"/>
        <xsd:enumeration value="AAAA"/>
        <xsd:enumeration value="CNAME"/>
        <xsd:enumeration value="MX"/>
        <xsd:enumeration value="NAPTR"/>
        <xsd:enumeration value="NS"/>
        <xsd:enumeration value="SRV"/>
        <xsd:enumeration value="TXT"/>
        <xsd:enumeration value="PTR"/>
        <xsd:enumeration value="LOC"/>
    </xsd:restriction>
</simpleType>

Graphical client

CDRToolAccountsDNS records

book-general-sip-platform-ngnpro-dns-records (432×1 px, 107 KB)

Click on each record to edit its attributes.

book-general-sip-platform-ngnpro-dns-record (428×1 px, 49 KB)

Next Steps

Continue by: