ENUM Technical issues / DNS Patrik Fältström Area Director, Applications Area, IETF paf@cisco.com
Agenda Background Problem we want to solve Technical solution Conclusion
Background ENUM 3
The Domain Name System It is a distributed database It is a protocol Often the two get mixed up
DNS as distributed database Central server, “root server” Server for “com” Server for “se” Local resolver Client Server for “jp”
Recursion Root-server Query a.paf.se? Ask “se”! Server “se” Query Ask “paf.se”! Query a.paf.se? Query a.paf.se? 192.168.1.11 192.168.1.11 Local resolver Server “paf.se”
Domains and zones "root" se a c b ns ns ns zone "a.se." domain "a.se." domain/zone "b.a.se." b ns ns ns
Delegations Root server ns.nic-se.se se. IN NS ns.nic-se.se ns.nic-se.se. IN A 192.168.0.1 ns.nic-se.se ns.se. IN NS ns.nic-se.se. a.se. IN NS ns.a.se. c.se. IN NS ns.c.se. ns.nic-se.se. IN A 192.168.0.1 ns.a.se. IN A 192.168.1.1 ns.c.se. IN A 192.168.3.1 ns.a.se a.se. IN NS ns.c.se. b.a.se. IN NS ns.b.se. ns.a.se. IN A 192.168.1.1 ns.b.se. IN A 192.168.2.1 ns.c.se. c.se. IN NS ns.c.se. ns.c.se. IN A 192.168.3.1 ns.b.a.se. b.a.se. IN N S ns.b.a.se. ns.b.a.se. IN A 192.168.3.1
E.164 numbers Allocation at CC level by the ITU, SG2/WP1/2 (from an IETF perspective) E.164 provides the number structure and functionality of numbers used for international public telecommunicationsHierarchically allocated
Structure of E.164 Structure to use for geographic areas CC NDC SN 1-3 digits N digits Max (15-N) digits National (significant) number International public telecommunication Number for geographical areas
Problem we want to solve ENUM 11
Problem statements 1(2) How do network elements find services on the Internet if you only have a telephone (E.164) number? How can subscribers (as opposed to carriers) define their preferences for incoming communications? How can we (IETF/ITU) enable new services while enabling competition, consumer choice and consumer protection?
Problem statements 2(2) How can consumers, carriers and new players have equal access to these new opportunities? How do we (IETF/ITU) make this simple and easy to use without reinventing the wheel?
Technical solution ENUM 14
Solution in short Put telephone numbers* in the global domain name system, DNS ENUM Working Group created to solve the problem of using the DNS for: Domainname in [Numbers reformatted as domain names] URI out [mailto, sip, tel, http or other URI scheme] Solution was to use NAPTR records * Maybe not in the original E.164 format
Example $ORIGIN 4.3.2.1.7.9.8.6.4.e164.arpa. IN NAPTR 10 10 "U" "sip+E2U" "!^.*$!sip:spam@paf.se!" IN NAPTR 20 10 "U" "ldap+E2U" "!^.*$!mailto:spam@paf.se!"
Why DNS? It’s there It works… It’s global… It scales… It’s fast… It’s open… Grandfather existing DNS delegation mechanisms, which looks like delegation in E.164 world ENUM enabled DNS provides a low cost, shared SCP-like infrastructure for IP infrastructure ENUM facilitates PSTN/IP convergence
Step 1 Take an E.164 number and create a fully qualified domain name in a single highly defined and structured domain +46-8-971234 +468971234 4.3.2.1.7.9.8.6.4.e164.arpa. The input to the NAPTR algorithm
Step 1 Explanation Each digit becomes a definable and distributed “zone” in DNS terms Delegation can (doesn’t have to) happen at every digit, including at last digit Zones such as country codes, area codes or primary delegated blocks of numbers can be delegated as well as individual numbers DNS defines authoritative nameservers for NAPTR/service resource records (RR’s)
Step 2 Lookup NAPTR RR’s in DNS, and apply NAPTR/ENUM algorithm 4.3.2.1.7.9.8.6.4.e164.arpa. !^.*$!mailto:spam@paf.se! !^+46(.*)$!ldap://ldap.telco.se/cn=0\1! Use rewrite rules using regular expressions which operate on the E.164 number (+468971234)
Regular expressions For ENUM, the NAPTR regexp field may yield an (unchanged) URL !<regexp>!<string>! “Match <regexp> on original E.164, and apply rewrite rule <string>” ^ - Match beginning $ - Match end . - Match any character .* - Match any number of any character () - Grouping, \n in <string> is replaced with group number ‘n’ in <regexp>
Step 2 in detail $ORIGIN 4.3.2.1.7.9.8.6.4.e164.arpa. IN NAPTR 10 10 “U” “mailto+E2U” “!^.*$!mailto:spam@paf.se!” IN NAPTR 20 10 “U” “ldap+E2U” “!^+46(.*)$!ldap://ldap.telco.se/cn=0\1” Note that no line break should be in the records
ENUM DNS Hierarchy Alternative 2 Alternative 1 e164.arpa 6.4.e164.arpa
+46-8-976123 ns.ripe.net e164.arpa. IN NS ns.ripe.net. 6.4.e164.arpa. IN NS ns.e164.se. ns.ns.e164.se. IN A 192.168.0.1 Root server e164.arpa. IN NS. ns.ripe.net ns.ripe.net. IN A 193.0.0.193 ns.e164.se 6.4.e164.arpa IN NS ns.e164.se. 7.9.8.6.4.e164.se. IN NS e164.telco.se. e164.telia.se. IN A 192.168.1.1 e164.telco.se. 7.9.8.6.4.e164.se. IN NS e164.telco.se. 3.2.1.6.7.9.8.6.4.e164.arpa. IN NS ns.eservice.net. ns.eservice.net. 3.2.1.6.7.9.8.6.4.e164.arpa. IN NS eservice.net. 3.2.1.6.7.9.8.6.4.e164.arpa. IN NAPTR …….
DNS Hierarchy Strictly delegated One authoritative server for each name, and only one Have led to the registry/registrar model One responsible registry, but many registrars which talk with customers
Verisign Global Registry Registry/registrar Root server Server for .com Verisign Global Registry Registrars for .com Today 77 Registrar for .com Network Solutions Active ISP interQ Incorporated Server for .se NIC-SE AB Registrar for .se Tele2 Registrars for .se Today 227
Conclusion ENUM 27
ENUM example flow/usage DNS-Server Query 4.3.2.1.7.9.8.6.4.e164.arpa? Response sip:spam@paf.se “Call setup” Dial +468971234 Sip sip:spam@paf.se Sip proxy Sip proxy
ENUM and VoIP ENUM allows VoIP proxies and servers to find each other Intra and inter domain call setup Only for declaring ability to accept certain applications ENUM is an opt-in system (also on country code level)
ENUM in Universal Messaging IETF Voice Profile for Internet Mail ENUM enables carrier and enterprise voice mail systems to find each other, interoperate and exchange messages Linkage to directory gives access to “spoken name” as well as authenticated access to sensitive information (privacy)
ENUM in Internet Fax IETF RFC 2305 / ITU-T Rec. T.37 ENUM enables internet aware fax machines to find each other, interoperate and exchange messages
Detailed example of Fax Person X wants to send a fax to Person Y; she knows Y's E.164 number. Person Y has many IP applications tied to her own (Y's) E.164 number. Device C became responsible for delivering the fax. Device C is Internet Aware, is ENUM-enhanced, can do SMTP and SIP, but can't do H.323 yet. Device C does a DNS query on the E.164 number. Device C discovers from the response that Person Y prefers real-time to store-and-forward fax delivery, likes SIP and H.323 equally, and has SMTP, too. Device C tries SIP first. If SIP fails, Device C does not try H.323. Instead, Device C then tries SMTP. Note: Device C uses ENUM in its application selection logic. ENUM is an enabler and not the same sort of thing as SMTP, SIP, H.323, voice/fax/data, etc.
From RFC 2916 4. IANA Considerations This memo requests that the IANA delegate the E164.ARPA domain following instructions to be provided by the IAB. Names within this zone are to be delegated to parties according to the ITU recommendation E.164. The names allocated should be hierarchic in accordance with ITU Recommendation E.164, and the codes should assigned in accordance with that Recommendation. Delegations in the zone e164.arpa (not delegations in delegated domains of e164.arpa) should be done after Expert Review, and the IESG will appoint a designated expert.
Status as of Jan 10, 2001 (done) Base spec published as RFC 2916 e164.arpa delegated to RIPE-NCC ITU SG2/WP1/2 liaison statement: Member state can inform ITU on entry of numbers in DNS, provision of E.164 information
Status as of Jan 10, 2001 (not done) Delegation of domains below e164.arpa to managing entities that are appointed by member states National issues
Resources NAPTR Resource Records (RFC 2915) http://www.ietf.org/rfc/rfc2915.txt ENUM Specification (RFC 2916) http://www.ietf.org/rfc/rfc2916.txt Liaison Statement (RFC 3026) http://www.ietf.org/rfc/rfc3026.txt IAB on need for unique root (RFC 2826) http://www.ietf.org/rfc/rfc2826.txt IAB Statement on ARPA http://www.iab.org/iab/DOCUMENTS/statement-on-infrastructure-domains.txt My email address: paf@cisco.com