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:
- RFC - 3761 The E.164 to Uniform Resource Identifiers (URI) Dynamic Delegation Discovery System (DDDS) Application (ENUM)
- RFC - 3404 Dynamic Delegation Discovery System (DDDS) Part Four: The Uniform Resource Identifiers (URI) Resolution Application
- Location of Enumservice Registrations
- Slovník pojmů na enum.nic.cz