Konfigurace DNS pro ENUM doménu

Popsaný postup funguje spolehlivě v BIND verze 9.

Uvažujme, že pro telefonní číslo +420.123456789 registrujeme doménu 9.8.7.6.5.4.3.2.1.0.2.4.e164.arpa. Pro doménu připravíme DNS záznam doplněný NAPTR (Naming Autority PoinTeR) záznamy.

$TTL 3D

@  IN  SOA   ns1.example.com.    root.ns1.example.com. (
     199609203 ; Serial
     28800     ; Refresh
     7200      ; Retry
     604800    ; Expire
     86400     ; Minimum TTL
   )
@  IN   NS      ns1.example.com.
@  IN   NS      ns2.example.com.

$ORIGIN 9.8.7.6.5.4.3.2.1.0.2.4.e164.arpa.
  ;; order preference flags service            regexp                    replacement
  NAPTR 10 101        "u"   "E2U+sip"          "!^.*$!sip:me@proxy.sipserver.com!" . 
  NAPTR 10 102        "u"   "E2U+h323"         "!^.*$!h323:me@h323server.com!"     .
  NAPTR 10 103        "u"   "E2U+email:mailto" "!^.*$!mailto:me@emailserver.com!"  .

Uvedený příklad naznačuje, že preferovaný způsob kontaktování domény 9.8.7.6.5.4.3.2.1.0.2.4.e164.arpa. je protokolem SIP, poté protokolem H323 a až nakonec pomocí e-mailu. Pořadí je určováno hodnotama v polích order a preference, přičemž větší váhu má hodnota v poli order.

Příznak "u" v poli flag znamená, že výstupem regularního nahrazení bude URI požadované služby.

Hodnota v poli service obsahuje rozpoznávací značku - pro e164.arpa. domény je to E2U (E164 to URI), dále pak jméno samotné služby - to se skládá z typu a podtypu. Z historických důvodů toto není dodrženo u E2U+sip a E2U+h323. Seznam služeb naleznete v dokumentu http://www.iana.org/assignments/enum- services.

Pole regexp obsahuje regulární nahrazení, které popisuje převod tel. čísla na URI služby. Znak "!" je použit jako oddělovač regulárního výrazu.

Pole replacement je další pole, které může být využito pro převod. S flagem "u" se toto pole nepoužívá.

Další NAPTR záznamy mohou vypadat takto:

$ORIGIN 9.8.7.6.5.4.3.2.1.0.2.4.e164.arpa.
  ;; order preference flags service          regexp                    replacement
  NAPTR 10 104        "u"   "E2U+voice:tel"  "!^.*$!tel:+420123456789!" .
  NAPTR 20 100        "u"   "E2U+web:https"  "!^.*$!https://www.greatsite.com/!" .
  NAPTR 20 101        "u"   "E2U+web:http"   "!^.*$!http://www.greatsite.com/!"  .
  NAPTR 30 100        "u"   "E2U+sms:mailto" "!^.*$!mailto:me@emailserver.com!"  .
  NAPTR 30 101        "u"   "E2U+sms:tel"    "!^.*$!tel:+420123456789!"          .
  NAPTR 40 100        "u"   "E2U+mms:mailto" "!^.*$!mailto:me@emailserver.com!"  .
  NAPTR 40 101        "u"   "E2U+mms:tel"    "!^.*$!tel:+420123456789!"          .

Ústřední motiv NAPTR záznamů - možnost regularního nahrazování - oceníte zejména při správě celého rozsahu telefonních čísel. Řekněme, že je nutné nadefinovat SIP adresy pro všechna telefonní čísla podnikové sítě v rozsahu +420123456000 až +420123456999. Pro tento rozsah byla zaregistrována doména 6.5.4.3.2.1.0.2.4.e164.arpa. Jediný potřebný NAPTR záznam pak může vypadat např. takto:

$ORIGIN 6.5.4.3.2.1.0.2.4.e164.arpa.
  ;; order preference flags service   regexp                      replacement
  NAPTR 10 100        "u"   "E2U+sip" "!^.*(...)$!sip:\\\\1@sipserver.com!" .

Telefonní čísla budou podle příkladu převáděna na SIP adresy následovně: +420123456000 na sip:000@sipserver.com, +420123456001 na sip:001@sipserver.com atd.

Reference: