IPTEL Working Group R.Brandner
Internet-Draft Siemens
L.Conroy
Siemens
R.Stastny
OeFEG
Expires: August, 2003 February 24th, 2003
'The "enum:" URI scheme'
draft-brandner-enum-uri-01.txt
Status of this Memo
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-Drafts
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on August 24, 2003.
Copyright Notice
Copyright (C) The Internet Society (2002). All Rights Reserved.
Abstract
This document specifies the "enum:" URI scheme. This URI is intended for
use where a resource address can be returned by evaluating the URI value
using the ENUM DDDS application. Syntactically, it uses a subset of the
format defined for the "tel:" URI scheme.
1. Introduction
The tel: URI is specified in RFC2806bis [1]. This holds a telephone
number and optional parameters. It can be used to initiate a telephone
call to the number it holds as its value, or may be used within a SIP
session setup (e.g. it may be used in the from: or to: fields of a SIP
Invite message; see RFC3261 [2] for more details). The "tel:" URI does
not specify whether or not an ENUM [3] query should be made prior to
initiating a call; thus a "tel:" client may or may not generate a
request to the ENUM infrastructure.
It is convenient to have a URI that appears very similar in format to
the "tel:" URI, but with which a compliant client MUST generate a query
on the ENUM system. That is the role for the "enum:" URI scheme, as
specified in this document.
1.1. Expected Usage
A URI is not appropriate for all situations in which a telephone number
may be found, and this is as true for an "enum:" URI as a "tel:" URI.
Some situations where URIs can't be used are:
- Call delivered to a Media Gateway has a Destination Number only.
- PSTN Signaling System No.7 messages have Source and Destination
Numbers or Digits; they do not have URIs.
- In the interface to a telephone, normally the user enters a
destination 'phone number or identifier, not a URI
The "enum:" URI is expected to find use on Web Pages and in email
signatures, for example. Whilst it would be possible to publish the URIs
that were generated by the NAPTRs (NAPTRs are defined in [4]) stored
within ENUM, this would miss the selectivity by enumservice that ENUM
provides, and could easily lead to a lack of synchronization between the
various URI values.
As a URI, in principle it may appear anywhere that another URI might.
However, its use in other services such as in H.323 or SIP systems (for
example, in the To: field of a SIP Invite message) is NOT recommended
here - such use would at least require further consideration and may
well require further standardization.
An "enum:" URI can appear as the constructed value that is the result of
ENUM processing (as can any other URI).
1.2. Document Content
The syntax for this URI-scheme is covered in the next section. The
subsequent section covers the expected client behavior, whilst section
4 covers the security and privacy issues associated with this scheme,
and this is followed by the IANA considerations for this document.
2. Syntax for the "enum:" URI scheme
The syntax of this scheme is a subset of that defined for the "tel:"
scheme defined in RFC2806bis. In particular, the local-number form is
excluded, and the global-number form excludes the optional
isdn-subaddress parameter.
enum-uri = enum-uritoken enumref
enum-uritoken = "enum:"
enumref = global-number-part
(global-number-part as defined in RFC2806bis)
3. Expected Client Behavior
This URI scheme encloses a value in the form of an E.164 telephone
number. The intention is that a client MUST use this E.164 number to
generate a query to the ENUM infrastructure in order to evaluate this
URI.
The essential difference between this URI scheme and the "tel:" scheme
is that, in this case, the client MUST generate an ENUM query to resolve
the resource, whilst in the case of the "tel:" scheme, the client may
generate such a query or instead directly set up a phone call to the
"tel:" URI value using a local or shared GSTN connection - its behavior
in this is undefined.
3.1. URI parameters
This URI scheme does not use parameters - its sole purpose is to be
passed to an ENUM client processor. The E.164 number that is the URI
value is used as input to the ENUM process; no other parameters are
relevant in this case. Thus, when processing this URI, any parameters
appended to it SHOULD be ignored with the URI value being passed to an
ENUM process alone.
3.2. "enum:" URI usage within ENUM domain space
This section covers the specific case where an "enum:" URI is present as
the value constructed from processing a NAPTR "under" e.164.arpa. using
the ENUM process, and the interactions with the ENUM client application
this involves.
As a general principle, an ENUM client SHOULD NOT re-submit a query to
the ENUM system if it receives a "tel:" URI in response to its current
query. However, if an "enum:" URI is the result of ENUM processing, then
the client MUST re-submit it (i.e. use the "enum:" URI value to generate
a new ENUM query).
3.2.1. "enum:" URI - comparisons with uses of other approaches
* "enum:" versus "tel:"
The difference between "tel:" or "enum:" URIs that are generated as the
result of ENUM processing is that evaluation of the "enum:" URI MUST
initiate a re-submission of a query to the ENUM system (using the
enclosed global-number-part), whilst a client SHOULD NOT re-submit the
contents of a "tel:" URI to the ENUM infrastructure.
* "enum:" versus CNAME
An "enum:" URI differs from the use of a CNAME within a sub-domain of
e164.arpa in that a redirection to another part of the ENUM domain space
can be effected for an individual NAPTR that meets the matching
criteria. With CNAME, it is the only Resource Record for a DNS domain,
so that ALL queries would be redirected.
* "enum:" versus non-terminal NAPTR
An "enum:" URI differs from the use of the "replacement" field of a
non-terminal NAPTR in that with a replacement field the DDDS application
continues its processing, whilst an "enum:" URI is the result of a query
- it is part of a "terminal" NAPTR and allows the client application to
evaluate its requirements prior to re-submission.
The global-number-part syntax used with "enum:" URIs has certain
advantages in REGEXP processing within "terminal" NAPTRs when selective
redirection within the e164.arpa. "golden tree" is required. The URI
takes phone numbers as its value. REGEXP processing of the ENUM
Application Unique String (see [3] for details) to generate a different
phone number is more straightforward than attempting to generate a
domain name within e164.arpa. space.
Use of "enum:" URIs allows a Registrant (ENUM Subscriber) of several
ENUM domains (each associated with a different number) to redirect
queries temporarily to a single domain associated with a phone number
and so within e164.arpa. space without recourse to requesting changes to
Tier1 NS records for the domains, and to do so selectively for different
enumservice-specialised entries. This can be done using "non-terminal"
NAPTRs and explicit domain names within the e164.arpa. space. However,
experience in Trials has shown that the "reversed number" domains that
requires are not as intuitively obvious as phone numbers. Customer-
provisioning is much easier if a simple URI is to be installed; CNAMEs
and "reversed domain" replacement fields are prone to "user error".
3.2.2. Example of use of "enum:" URI in e164.arpa.
Redirection from one part of the e164.arpa. tree (associated with one
E.164 number) to another part of the tree (associated with another
number) can be difficult, particularly with variable length numbers.
For example, converting from the number +432221234567890 to the
number +4311234567890 without "hard coding" the REGEXP (or the
replacement field, in a "non-terminal" NAPTR) is not easy.
If a domain name within e164.arpa is to be constructed using a REGEXP
from the ENUM Application Unique String (effectively, the input phone
number), then the digits have to be reversed; not easy and perhaps
impossible with variable length digit strings.
(i) As an alternative to constructing a domain name within e164.arpa., an
"enum:" URI could be readily constructed using simple REGEXP processing,
and re-submission of this would have a similar effect. For example,
0.9.8.7.6.5.4.3.2.1.2.2.2.3.4.e164.arpa.
IN NAPTR 10 10 "E2U+esx" "!^43222(.*)$!enum:+431\1!" .
would suffice to redirect an ENUM query of +432221234567890 to look at
the domain associated with number +4311234567890 for queries that
matched the enumservice "esx".
(ii) In fact, an identical REGEXP subsequent part could be used in any
number of different e164.arpa. domains to map from one area of the tree
to another. Thus, exactly the same REGEXP field (in fact, the same
NAPTR content) within another domain under 2.2.2.3.4.e164.arpa. could
be used to redirect a query to "its" equivalent number. Thus:
9.0.1.2.3.4.5.6.7.8.2.2.2.3.4.ea64.arpa.
IN NAPTR 10 10 "E2U+esx" "!^43222(.*)$!enum:+431\1!" .
would redirect an ENUM query of +432228765432109 to look at the domain
associated with number +4318765432109 for queries that matched the
enumservice "esx".
(iii) Finally, this is how an "enum:" URI might be used in a "wildcard"
Resource Record. Note that the use of DNS wildcards is NOT recommended
here; this merely shows how a wildcard MIGHT be used with an "enum:"
URI.
2.2.2.3.4.e164.arpa.
* IN NAPTR 10 10 "E2U+esx" "!^43222(.*)$!enum:+431\1!" .
The intention here would be to redirect queries on any number "under"
the area code +43-222 to the area code +43-1, for any ENUM query that
matched the enumserevice "esx". This of course assumes that there are
NO Resource Records "under" 2.2.2.3.4.e164.arpa.
Note that a similar affect might be achieved by the use of a DNAME
record. However, in that case the value returned would depend on
whether or not the extended DNS option flags were set in the query,
and the target suffix used in the DNAME Resource Record would be a
"reversed domain".
4. Security Issues
Our initial thought is that the "enum:" URI has no more security and
privacy implications above any other use of ENUM. Also, it has similar
privacy implications to the use of a "tel:" URI.
Publication of an "enum:" URI, for example within a Web page, DOES
indicate that there is an ENUM entry with this value as a key. This
exposes some information, but as this can be found out anyway by the
expedient of performing a test ENUM query, it is not seen as being
important.
5. IANA Considerations
This document specifies a URI scheme. To ensure that this URI scheme
value does not collide with other uses, it is necessary to register this
token.
Thus this requests that this document be considered a specification for
the 'enum:' URI scheme, and that a registration be made for this use.
6. Acknowledgments
Jon Peterson gave constructive comments on the "enum:" URI.
7. History
Version - 0 , issued June 2002
- Initial version.
Version - 1 , issued February 2003
- removed reference to ENUM 'es' URI parameter
- added recommendation to ignore any included parameters
- removed reference to combination of 'es' parameter values with
client selection
8. References
[1] H. Schulzrinne, A. Vaha-Sipila,
"URIs for Telephone Calls",
draft-antti-RFC2806bis-07.txt,
Work in progress, December 2002
[2] J. Rosenberg, H. Schulzrinne, G. Camarillo, A. Johnston, J.
Peterson, R. Sparks, M. Handley, E. Schooler "SIP: session initiation
protocol",
RFC3261, Internet Engineering task Force, June 2002
[3] P. Faltstrom, M. Mealling,
"The E.164 to URI DDDS Application (ENUM)",
draft-ietf-enum-rfc2916bis-3.txt,
Work in progress, January 2003
[4] M. Mealling, "Dynamic Delegation Discovery System (DDDS)
Part Three: The Domain Name System (DNS) Database",
RFC3403, Internet Engineering task Force, October 2002
9. Authors' Addresses
Rudolf Brandner
Siemens ICN
Hofmannstrasse 51
Munich
Germany
Email: <mailto:rudolf.brandner@siemens.com>
Phone: <tel:+49-89-722-51003>
URI: <http://www.siemens.de>
Lawrence Conroy
Siemens Roke Manor Research
Roke Manor
Romsey
U.K.
Email: <mailto:lwc@roke.co.uk>
Phone: <tel:+44-1794-833666>
Richard Stastny
OeFEG
Postbox 147
1103 Vienna, Austria
Email: <mailto:richard.stastny@oefeg.at>
Phone: <tel:+43-664-420-4100>
Full Copyright Statement
Copyright (C) The Internet Society (2000). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.