Provisioning: DNSAG 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
- DnsPort → addZone()
- DnsPort → updateZone()
- DnsPort → deleteZone()
- DnsPort → getZone()
- DnsPort → getZones()
- DnsPort → addRecord()
- DnsPort → addFancyRecord()
- DnsPort → updateRecord()
- DnsPort → updateFancyRecord()
- DnsPort → deleteRecord()
- DnsPort → deleteFancyRecord()
- DnsPort → getRecord()
- DnsPort → getFancyRecord()
- DnsPort → getRecords()
- DnsPort → getFancyRecords()
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:
- ns1.dns-hosting.info
- ns2.dns-hosting.info
Graphical client
CDRTool → Accounts → DNS zones
Click on each zone to edit its properties.
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
- DnsPort → addRecord()
- DnsPort → updateRecord()
- DnsPort → deleteRecord()
- DnsPort → getRecord()
- DnsPort → getRecords()
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
CDRTool → Accounts → DNS records
Click on each record to edit its attributes.
Next Steps
Continue by:
- learning about Main Entities used in Provisioning; or
- learning about Provisioning: Emergency Numbers; or
- learning about Provisioning: ENUM; or
- learning about Provisioning: PSTN; or
- learning about Provisioning: SIP; or
- learning about Provisioning: Trusted Peers; or
- learning about Provisioning: User Notifications; or
- learning about Provisioning: Voicemail; or
- going back to Provisioning Introduction.