1ENUM
ENUMENUM Technical issues / DNS Technical issues / DNS
Patrik FältströmPatrik Fältström
Area Director, Applications Area, IETFArea Director, Applications Area, [email protected]@cisco.com
2ENUM
AgendaAgenda
• Background
• Problem we want to solve
• Technical solution
• Conclusion
3ENUM
BackgroundBackground
3ENUM
4ENUM
The Domain Name SystemThe Domain Name System
• It is a distributed database
• It is a protocol
• Often the two get mixed up
5ENUM
DNS as distributed databaseDNS as distributed database
Central server,“root server”Server for
“com”
Server for“se”
Server for“jp”
Client
Localresolver
6ENUM
192.168.1.11
192.168.1.11
Querya.paf.se?
Ask “paf.se”!
Querya.paf.se?
Ask “se”!Query
a.paf.se?
Querya.paf.se?
RecursionRecursion
Localresolver
Root-server
Server“se”
Server“paf.se”
7ENUM
Domains and zonesDomains and zones
bbbb
sesesese
nsnsnsns
aaaacccc
"root""root""root""root"
nsnsnsns
nsnsnsns
zone "a.se."zone "a.se."
domain "a.se."domain "a.se."
domain/zone "b.a.se."domain/zone "b.a.se."
8ENUM
DelegationsDelegations
Root serverse. IN NS ns.nic-se.se
ns.nic-se.se. IN A 192.168.0.1
ns.nic-se.sens.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.1ns.a.se. IN A 192.168.1.1ns.c.se. IN A 192.168.3.1
ns.a.sea.se. IN NS ns.c.se.
b.a.se. IN NS ns.b.se.ns.a.se. IN A 192.168.1.1ns.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
9ENUM
E.164 numbersE.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
10ENUM
Structure of E.164Structure of E.164
1-3 digits
CC NDC
N digits Max (15-N) digits
SN
National (significant) number
International public telecommunicationNumber for geographical areas
• Structure to use for geographic areas
11ENUM
Problem we want to solveProblem we want to solve
11ENUM
12ENUM
Problem statements 1(2)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?
13ENUM
Problem statements 2(2)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?
14ENUM
Technical solutionTechnical solution
14ENUM
15ENUM
Solution in shortSolution 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
16ENUM
ExampleExample
•$ORIGIN 4.3.2.1.7.9.8.6.4.e164.arpa.
IN NAPTR 10 10 "U" "sip+E2U""!^.*$!sip:[email protected]!"
IN NAPTR 20 10 "U" "ldap+E2U""!^.*$!mailto:[email protected]!"
17ENUM
Why DNS?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
18ENUM
Step 1Step 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 theNAPTR algorithm
19ENUM
Step 1 ExplanationStep 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)
20ENUM
Step 2Step 2
• Lookup NAPTR RR’s in DNS, and apply NAPTR/ENUM algorithm
• 4.3.2.1.7.9.8.6.4.e164.arpa.
• !^.*$!mailto:[email protected]!!^+46(.*)$!ldap://ldap.telco.se/cn=0\1!
• Use rewrite rules using regular expressions which operate on the E.164 number (+468971234)
21ENUM
Regular expressionsRegular 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>
22ENUM
Step 2 in detailStep 2 in detail
• $ORIGIN 4.3.2.1.7.9.8.6.4.e164.arpa.
• IN NAPTR 10 10 “U” “mailto+E2U” “!^.*$!mailto:[email protected]!”
• 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
23ENUM
ENUM DNS HierarchyENUM DNS Hierarchy
e164.arpa
6.4.e164.arpa
4.3.2.1.7.9.8.6.4.e164.arpa
7.9.8.6.4.e164.arpa
Alternative 1Alternative 2
24ENUM
+46-8-976123+46-8-976123
Root servere164.arpa. IN NS. ns.ripe.netns.ripe.net. IN A 193.0.0.193
ns.ripe.nete164.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
ns.e164.se6.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 …….
25ENUM
DNS HierarchyDNS 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
26ENUM
Registry/registrarRegistry/registrar
Root server
Server for .comVerisign Global Registry
Server for .seNIC-SE AB
Registrars for .comToday 77
Registrar for .comNetwork Solutions
Registrar for .comActive ISP
Registrar for .cominterQ Incorporated
Registrar for .seTele2
Registrars for .seToday 227
27ENUM
ConclusionConclusion
27ENUM
28ENUM
“Call setup”
ENUM example flow/usageENUM example flow/usage
Sipsip:[email protected]
Query4.3.2.1.7.9.8.6.4.e164.arpa?
Dial+468971234
DNS-Server
Sip proxySip proxy
Responsesip:[email protected]
29ENUM
ENUM and VoIPENUM 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)
30ENUM
ENUM in Universal MessagingENUM 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)
31ENUM
ENUM in Internet FaxENUM 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
32ENUM
Detailed example of FaxDetailed 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.
33ENUM
From RFC 2916From 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.
34ENUM
Status as of Jan 10, 2001 (done)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
35ENUM
Status as of Jan 10, 2001 (not done)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
36ENUM
ResourcesResources
• 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: [email protected]