One document matched: draft-ietf-enum-experiences-03.txt
Differences from draft-ietf-enum-experiences-02.txt
ENUM L. Conroy
Internet-Draft RMRL
Expires: April 19, 2006 K. Fujiwara
JPRS
October 16, 2005
ENUM Implementation Issues and Experiences
<draft-ietf-enum-experiences-03.txt>
Status of this Memo
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
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 April 19, 2006.
Copyright Notice
Copyright (C) The Internet Society (2005).
Abstract
This document captures experience in implementing systems based on
the ENUM protocol, and experience of ENUM data that have been created
by others. As such, it is advisory, and produced as a help to others
in reporting what is "out there" and the potential pitfalls in
interpreting the set of documents that specify the protocol.
Conroy & Fujiwara Expires April 19, 2006 [Page 1]
Internet-Draft ENUM Experiences October 2005
Table of Contents
1. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Character Sets and ENUM . . . . . . . . . . . . . . . . . . . 6
3.1. Character Sets - Non-ASCII considered harmful . . . . . . 6
3.2. Case Sensitivity . . . . . . . . . . . . . . . . . . . . . 9
3.3. RegExp Field Delimiter . . . . . . . . . . . . . . . . . . 9
3.4. RegExp Meta-character Issue . . . . . . . . . . . . . . . 10
4. ORDER/PRIORITY Processing . . . . . . . . . . . . . . . . . . 11
4.1. Order/Priority values - general processing . . . . . . . . 11
4.2. NAPTRs with identical ORDER/PRIORITY values . . . . . . . 13
4.3. Processing Order value across Zones . . . . . . . . . . . 14
5. Non-Terminal NAPTR Processing . . . . . . . . . . . . . . . . 16
5.1. Non-Terminal NAPTRs - necessity . . . . . . . . . . . . . 16
5.2. Non-Terminal NAPTRs - future implementation . . . . . . . 17
5.2.1. Non-Terminal NAPTRs - general . . . . . . . . . . . . 17
5.2.2. Non-Terminal NAPTRs - loop detection and response . . 17
5.3. Interpretation of RFC3403 and RFC3761 . . . . . . . . . . 18
5.3.1. Flags Field content with Non-Terminal NAPTRs . . . . . 18
5.3.2. Service Field content with Non-Terminal NAPTRs . . . . 18
5.3.3. Regular Expression and Replacement Field content
with non-terminal NAPTRs . . . . . . . . . . . . . . . 19
6. DNS record size and DNS software issue . . . . . . . . . . . . 22
7. Backwards Compatibility . . . . . . . . . . . . . . . . . . . 25
7.1. Service field syntax . . . . . . . . . . . . . . . . . . . 25
8. Security Considerations . . . . . . . . . . . . . . . . . . . 27
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 28
10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 29
11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 30
11.1. Normative References . . . . . . . . . . . . . . . . . . . 30
11.2. Informative References . . . . . . . . . . . . . . . . . . 31
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 32
Intellectual Property and Copyright Statements . . . . . . . . . . 33
Conroy & Fujiwara Expires April 19, 2006 [Page 2]
Internet-Draft ENUM Experiences October 2005
1. Terminology
This document is Advisory, and does not specify a standard of any
kind. Note that recommendations here contain the words "MUST",
"REQUIRE", "SHOULD", and "MAY". In this particular document, these
do not form a standard, and so do not hold their normative
definitions. The proposals include these terms from observation of
behaviour and for internal consistency, where Client and Server
recommendations have to match.
Conroy & Fujiwara Expires April 19, 2006 [Page 3]
Internet-Draft ENUM Experiences October 2005
2. Introduction
The ENUM protocol (RFC3761 [1]) and the Dynamic Delegation Discovery
System (DDDS, [2] [3] [4] [5] [6]) are defined elsewhere, and those
documents alone form the normative definition of the ENUM system.
Unfortunately, this document cannot provide an overview of the
specifications, so the reader is assumed to have read and understood
the complete set of ENUM normative documents.
From experience of creating ENUM data and of developing client
systems to process that data it is apparent that there are some
subtleties in the specifications that have led to different
interpretations; in addition there are common syntactic mistakes in
data currently "out there" on the Internet.
This document is intended to help others avoid the potential pitfalls
in interpreting the set of documents that specify the protocol. It
also reports the kind of data they will "find" and so how to process
the intent of the publisher of that ENUM data, regardless of the
syntax used. As such, it is in keeping with the principle evinced in
RFC791 that "In general, an implementation must be conservative in
its sending behavior, and liberal in its receiving behavior".
Note that the DDDS system is intricate and so in some places there
are several potential interpretations of the specifications. This
document proposes a suggested interpretation for some of these
points, but they are just that; suggestions.
Any ENUM implementation issue has two sides:
o the "Server" side covering the expected behaviour of the ENUM zone
provisioning system and expectations Registrants may make, and
o the "Client" side covering behaviour that has been observed and
that can be expected of the Client, together with the expectations
that an end user who requests an ENUM lookup may make.
For each of the issues, we have split the recommendations into
"Client" and "Server" proposals. In three cases, we have indicated
proposals that relate to ENUMservice specifications, rather than
implementations; these are labelled as "Spec". Also, there is one
recommendation that concerns "Middleboxes" (such as any intervening
Firewalls) rather than the DNS entities involved directly in an ENUM
query. This recommendation is labelled as "MidBox".
There are undoubtedly other issues, and developers are asked to raise
any others they find on the IETF ENUM Working group's mailing list
and/or by mail to the authors (see later for contact information).
Conroy & Fujiwara Expires April 19, 2006 [Page 4]
Internet-Draft ENUM Experiences October 2005
Finally, note that the authors are not aware of any IPR issues that
are involved in the suggestions made in this document.
Conroy & Fujiwara Expires April 19, 2006 [Page 5]
Internet-Draft ENUM Experiences October 2005
3. Character Sets and ENUM
3.1. Character Sets - Non-ASCII considered harmful
RFC3761 [1] and RFC3403 [2] specify that ENUM (and NAPTRs) support
Unicode using the UTF-8 encoding specified in RFC3629 [7]. This
raises an issue where implementations use "single byte" string
processing routines. If there are multi-byte characters within an
ENUM NAPTR, incorrect processing may well result from these non
"UTF-8 aware" systems.
The UTF-8 encoding has a "US-ASCII equivalent range", so that all
characters in US-ASCII [20] from 0x00 to 0x7F hexadecimal have an
identity map to the UTF-8 encoding; the encodings are the same. In
UTF-8, characters with Unicode code points above this range will be
encoded using more than one byte, all of which will be in the range
0x80 to 0xFF hexadecimal. Thus it is important to consider the
different fields of a NAPTR and whether or not multi-byte characters
can or should appear in them.
In addition, characters in the "non-printable" portion of US-ASCII
(0x00 to 0x1F hexadecimal, plus 0x7F hexadecimal) are "difficult".
Although NAPTRs are processed by machine, they may sometimes need to
be written in a "human readable" form. Similarly, if NAPTR content
is shown to an end user so that they may choose, it is important that
the content is "human readable". Thus it is unwise to use non-
printable characters within the US-ASCII range; the ENUM client may
have good reason to reject NAPTRs that include these characters as
they cannot be shown.
There are two numeric fields in a NAPTR; the ORDER and PREFERENCE/
PRIORITY fields. As these contain binary values, no risk is involved
as string processing should not be applied to them. The "string
based" fields are the flags, services, and RegExp fields. The
Replacement field holds a domain name encoded according to the
standard DNS mechanism [8][9]. With the introduction of
Internationalized Domain Name (IDN) support, this domain name MUST be
further encoded using Punycode [10]. As this holds a domain name
that is not subject to replacement or modification (other than
Punycode processing), it is not of concern here.
Taking the "string" fields in turn, the flags field contains
characters that indicate the disposition of the NAPTR. This may be
empty, in which case the NAPTR is "non-terminal", or it may include a
flag character as specified in RFC3761. These characters all fall
into the US-ASCII equivalent range, so multi-byte characters cannot
occur.
Conroy & Fujiwara Expires April 19, 2006 [Page 6]
Internet-Draft ENUM Experiences October 2005
The services field includes the DDDS Application identifier ("E2U")
used for ENUM, the '+' character used to separate tokens, and a set
of ENUMservice identifiers, any of which may include the ':'
separator character. In section 2.4.2 of RFC3761 these identifiers
are specified as 1*32 ALPHA/DIGIT, so there is no possibility of non-
ASCII characters in the services field.
The RegExp field is more complex. It forms a SED-like substitution
expression, defined in [2], and consists of two sub-fields:
o the POSIX Extended Regular Expression (ERE) sub-field [11]
o a replacement (repl) sub-field [2].
Additionally, RFC3403 specifies that a flag character may be
appended, but the only flag currently defined there (the 'i' case
insensitivity flag) is not appropriate for ENUM - see later in this
document.
The ERE sub-field matches against the "Application Unique String";
for ENUM, this is defined in RFC3761 to consist of digit characters,
with an initial '+' character. It is similar to a global-number-
digits production of a tel: URI, as specified in [12], but with
visual-separators removed. All of these characters fall into the US-
ASCII equivalent range of UTF-8 encoding, as do the characters
significant to the ERE processing. Thus, for ENUM, there will be no
multi-byte characters within this sub-field.
The repl sub-field can include a mixture of explicit text used to
construct a URI and characters significant to the substitution
expression, as defined in RFC3403. Whilst the latter set all fall
into the US-ASCII equivalent range of UTF-8 encoding, this might not
be the case for all conceivable text used to construct a URI.
Presence of multi-byte characters could complicate URI generation and
processing routines.
URI generic syntax is defined in [13] as a sequence of characters
chosen from a limited subset of the repertoire of US-ASCII
characters. The current URIs use the standard URI character
"escaping" rules specified in the URI generic syntax, and so any
multi-byte characters will be pre-processed; they will not occur in
the explicit text used to construct a URI within the repl sub-field.
However, the Internationalized Resource Identifier (IRI) is defined
in [14] as extending the syntax of URIs, and specifies a mapping from
an IRI to a URI. IRI syntax allows characters with multi-byte UTF-8
encoding.
Given that this is the only place within an ENUM NAPTR where such
Conroy & Fujiwara Expires April 19, 2006 [Page 7]
Internet-Draft ENUM Experiences October 2005
multi-byte encodings might reasonably be found, a simple solution is
to use the mapping method specified in section 3.1 of [14] to convert
any IRI into its equivalent URI.
This process consists of two elements; the domain part of an IRI MUST
be processed using Punycode if it has a non-ASCII domain name, and
the remainder MUST be processed using the extended "escaping" rules
specified in the IRI document if it contains characters outside the
normal URI repertoire. Using this process, there will be no non-
ASCII characters in any part of any URI, even if it has been
converted from an IRI that contains such characters.
Taking into account the existing client base, it is RECOMMENDED that:
Spec ENUMservice registrations SHOULD REQUIRE that any static
text in the repl sub-field is encoded using only characters
in the US-ASCII equivalent range that are "printable". If
any of the static text characters do fall outside this
range then they MUST be pre-processed using an IRI/
URI-specific "escape" mechanism to re-encode them only
using US-ASCII equivalent printable characters (those in
the range 0x20 to 0x7E).
At the least, it is RECOMMENDED that:
Spec Any ENUMservice registration that allows characters
requiring multi-byte UTF-8 encoding to be present in the
repl sub-field MUST have a clear indication that there may
be characters outside of the US-ASCII equivalent range.
Such an ENUMservice registration is strongly discouraged,
as the mechanisms specified in section 3.1 of [14] will
suffice.
Finally, the majority of ENUM clients in use today do not support
multi-byte encodings of UCS. This is a reasonable choice,
particularly for "small footprint" implementations, and they may not
be able to support NAPTR content that is non-printable as they need
to present the content to an end user for selection. Thus, it is
RECOMMENDED that:
Client ENUM clients MAY discard NAPTRs in which they detect
characters not in the US-ASCII "printable" range (0x20 to
0x7E hexadecimal).
ENUM zone provisioning systems should consider this. It is
RECOMMENDED that:
Conroy & Fujiwara Expires April 19, 2006 [Page 8]
Internet-Draft ENUM Experiences October 2005
Server ENUM zone provisioning systems SHOULD NOT use non-ASCII
characters in the NAPTRs they generate unless they are sure
that all ENUM clients they intend to support will be able
correctly to process them.
3.2. Case Sensitivity
The only place where NAPTR field content is case sensitive is in any
static text in the repl sub-field of the RegExp field. Everywhere
else, case insensitive processing can be used.
The case insensitivity flag ('i') may be added at the end of the
RegExp field. However, in ENUM, the ERE sub-field operates on a
string defined as the '+' character, followed by a sequence of digit
characters. Thus this flag is redundant for E2U NAPTRs, as it does
not act on the repl sub-field contents.
To avoid the confusion that this generates, It is RECOMMENDED that:
Server When populating ENUM zones with NAPTRs, provisioning
systems SHOULD NOT use the 'i' RegExp field flag, as it has
no effect and some ENUM clients don't expect it.
Client ENUM clients SHOULD NOT assume that the field delimiter is
the last character.
3.3. RegExp Field Delimiter
It is not possible to select a delimiter character that cannot appear
in one of the sub-fields. Some old clients are "hardwired" to expect
the character '!' as a delimiter.
This is used in an example in RFC3403.
It is RECOMMENDED that:
Server ENUM zone provisioning systems SHOULD use '!' (U+0021) as
their RegExp delimiter character.
Client ENUM clients MAY discard NAPTRs that do not use '!' as a
RegExp delimiter.
This cannot appear in the ERE sub-field. It may appear in the
content of some URIs, as it is a valid character (e.g.in http URLs).
Conroy & Fujiwara Expires April 19, 2006 [Page 9]
Internet-Draft ENUM Experiences October 2005
Thus, it is further RECOMMENDED that:
Server ENUM zone provisioning systems MUST ensure that, if the
RegExp delimiter is a character in the static text of the
repl sub-field, it MUST be "escaped" using the escaped-
delimiter production of the BNF specification shown in
section 3.2 of RFC3402 (e.g. "\!", U+005C U+0021).
Client ENUM clients SHOULD discard NAPTRs that have more or less
than 3 "unescaped" instances of the delimiter character
within the RegExp field.
3.4. RegExp Meta-character Issue
In ENUM, the ERE sub-field may include a literal character '+', as
the Application Unique String on which it operates includes this.
However, if it is present, then '+' must be "escaped" using a
backslash character as '+' is a meta-character in POSIX Extended
Regular Expression syntax.
The following NAPTR example is incorrect:
* IN NAPTR 100 10 "u" "E2U+sip" "!^+46555(.*)$!sip:\1@sipcsp.se!" .
This example MUST be written as:
* IN NAPTR 100 10 "u" "E2U+sip" "!^\+46555(.*)$!sip:\1@sipcsp.se!" .
Thus, it is RECOMMENDED that:
Server If present in the ERE sub-field of an ENUM NAPTR, '+' MUST
be written as "\+" (i.e. U+005C U+002B).
Conroy & Fujiwara Expires April 19, 2006 [Page 10]
Internet-Draft ENUM Experiences October 2005
4. ORDER/PRIORITY Processing
4.1. Order/Priority values - general processing
RFC3761 and RFC3403 state that the ENUM client MUST sort the NAPTRs
using the ORDER field value ("lowest value is first") and SHOULD
order the NAPTRs using the PREFERENCE/PRIORITY field value as the
minor sort term (again, lowest value first). The NAPTRs in the
sorted list must be processed in order. Subsequent NAPTRs with less
preferred ORDER values must only be dealt with once the current ones
with a "winning" ORDER value have been processed.
However, this expected behaviour is a simplification; ENUM clients
may not behave this way in practice, and so there is a conflict
between the specification and practice. For example, ENUM clients
will be incapable of using most NAPTRs as they don't support the
ENUMservice (and the URI generated by those NAPTRs). As such, they
will discard the "unusable" NAPTRs and continue with processing the
"next best" NAPTR in the list.
The end user may have pre-specified their own preference for services
to be used. Thus, an end user may specify that they would prefer to
use contacts with a "sip" ENUMservice, and then those with "email:
mailto" service, and are not interested in any other options. Thus
the sorted list as proposed by the Registrant (and published via
ENUM) may be reordered. For example, a NAPTR with a "sip"
ENUMservice may have a "losing" ORDER field value, and yet is chosen
before a NAPTR with an "h323" ENUMservice and a "winning" ORDER
value. This may occur even if the node the end user controls is
capable of handling other ENUMservices.
ENUM clients may also include the end user "in the decision loop",
offering the end user the choice from a list of possible NAPTRs.
Given that the ORDER field value is the major sort term, one would
expect a conforming ENUM client to present only those NAPTRs with a
"winning" ORDER field value as choices. However, if all the options
presented had been rejected, then the ENUM client might offer those
with the "next best" ORDER field value, and so on. As this may be
inconvenient for the end user, some clients simply offer all of the
available NAPTRs as options to the end user for their selection "in
one go".
In summary, some ENUM clients will take into account the service
field value along with the ORDER and PREFERENCE/PRIORITY field
values, and may consider the preferences of the end user.
The Registrant and the ENUM zone provisioning system he or she uses
MUST be aware of this and SHOULD NOT rely on ENUM clients taking
Conroy & Fujiwara Expires April 19, 2006 [Page 11]
Internet-Draft ENUM Experiences October 2005
account of the value of the ORDER and the PREFERENCE/PRIORITY fields.
Specifically, it is unsafe to assume that a ENUM client WILL NOT
consider another NAPTR until it has discarded one with a "winning"
ORDER value. The instruction (in RFC3403 section 4.1 and section 8)
may or may not be followed strictly by different ENUM clients for
perfectly justifiable reasons.
To avoid the risk of variable behaviour, it is RECOMMENDED that:
Server ENUM zone provisioning systems SHOULD NOT use different
ORDER values for NAPTRs within a zone.
In our experience, incorrect ORDER values in ENUM zones is a major
source of problems. Although it is by no means required, it is
further RECOMMENDED that:
Server ENUM zone provisioning systems SHOULD use a value of 100 as
the default ORDER value to be used with all NAPTRs.
As such, when populating a zone with NAPTRS, it is RECOMMENDED that:
Server A Registrant SHOULD NOT expect the ENUM client to ignore
NAPTRs with higher ORDER field values - the "winning" ones
may have been discarded.
Server A Registrant SHOULD NOT expect ENUM clients to conform to
the ORDER and PREFERENCE/PRIORITY sort order he or she has
specified for NAPTRs; end users may have their own
preferences for ENUMservices.
Client Each ENUM client MAY reorder the NAPTRs it receives ONLY to
match an explicit preference pre-specified by its end user.
Client ENUM clients that offer a list of contacts to the end user
for his or her choice MAY present all NAPTRs, not just the
ones with the highest currently unprocessed ORDER field
value.
Conroy & Fujiwara Expires April 19, 2006 [Page 12]
Internet-Draft ENUM Experiences October 2005
Server A Registrant SHOULD NOT assume which NAPTR choices will be
presented "at once".
The impact of this is that a Registrant should place into his or her
zone only contacts that he or she is willing to support; even those
with the "least preferred" ORDER and PREFERENCE/PRIORITY values may
be selected by an end user.
Finally, we have noticed a number of ENUM zones with NAPTRs that have
identical PREFERENCE/PRIORITY field values and different ORDER
values. This may be the result of an ENUM zone provisioning system
"bug" or a misunderstanding over the uses of the two fields.
To clarify, the ORDER field value is the major sort term, and the
PREFERENCE/PRIORITY field value is the minor sort term. Thus one
should expect to have a set of NAPTRs in a zone with identical ORDER
field values and different PREFERENCE/PRIORITY field values.
4.2. NAPTRs with identical ORDER/PRIORITY values
From experience, there are zones that hold discrete NAPTRs with
identical ORDER and identical PREFERENCE/PRIORITY field values. This
will lead to indeterminate client behaviour and so should not occur.
However, in the spirit of being liberal in what is allowed:
It is RECOMMENDED that:
Client ENUM clients SHOULD accept all NAPTRs with identical ORDER
and identical PREFERENCE/PRIORITY field values, and process
them in the order in which they appear in the DNS response.
(There is no benefit in further randomising the order in
which these are processed, as intervening DNS Servers may
do this already).
Conversely, populating the records with these identical values is a
mistake, and so it is RECOMMENDED that:
Server When populating ENUM zones with NAPTRs, ENUM zone
provisioning systems SHOULD NOT have more than one NAPTR
with the same ORDER and the same PREFERENCE/PRIORITY field
values in any given zone, as ENUM clients MAY reject the
response.
There is a special case in which one could derive a set of NAPTRs
with identical ORDER and identical PREFERENCE/PRIORITY fields. With
Conroy & Fujiwara Expires April 19, 2006 [Page 13]
Internet-Draft ENUM Experiences October 2005
RFC3761, it is possible to have more than one ENUMservice associated
with a single NAPTR. Of course, the different ENUMservices share the
same RegExp field and so generate the same URI. Such a "compound
ENUMservice" NAPTR could well be used to indicate, for example, a
mobile phone that supports both voice:tel and sms:tel ENUMservices.
This compound NAPTR may be reconstructed into a set of NAPTRs each
holding a single ENUMservice. However, in this case the members of
this set all hold the same ORDER and PREFERENCE/PRIORITY field
values.
In this case, it is RECOMMENDED that:
Client ENUM clients receiving "compound" NAPTRs (i.e ones with
more than one ENUMservice) SHOULD process these
ENUMservices using a "left-to-right" sort ordering, so that
the first ENUMservice to be processed will be the leftmost
one, and the last will be the rightmost one.
Server An ENUM zone provisioning system SHOULD assume that, if it
generates compound NAPTRs, the ENUMservices will normally
be processed in "left to right" order within such NAPTRs.
As a final point on ENUM client processing of "compound" NAPTRs, it
is quite possible that the client is incapable of processing one of
the ENUMservices indicated.
To clarify, it is RECOMMENDED that:
Client When an ENUM client encounters a "compound" NAPTR and
cannot process one of the ENUMservices within it, that ENUM
client SHOULD continue with the "next" ENUMservice within
this NAPTR's service field, discarding the NAPTR only if it
cannot handle any of the ENUMservices contained.
4.3. Processing Order value across Zones
Using a different ORDER field value in different zones is unimportant
for most queries. However, DDDS includes a mechanism for continuing
a search for NAPTRs in another zone by including a reference to that
other zone in a "non-terminal" NAPTR. The treatment of non-terminal
NAPTRs is covered in the next section, but if these are supported
then it does have a bearing on the way that ORDER and PREFERENCE/
PRIORITY field values are processed.
Two main questions remain from the specifications of DDDS and
Conroy & Fujiwara Expires April 19, 2006 [Page 14]
Internet-Draft ENUM Experiences October 2005
RFC3671:
o If there's a different (lower) order field value in a zone
referred to by a non-terminal NAPTR, then does this mean that the
ENUM client discards the other NAPTRs in the referring zone?
o Conversely, if the zone referred to by a non-terminal NAPTR
contains entries that have a higher ORDER field value, then does
the ENUM client ignore those?
Whilst one interpretation of section 1.3 of RFC3761 is that the
answer to both questions is "yes", this is not the way that those
examples of non-terminal NAPTRs that do exist (and those ENUM clients
that support them) seem to be designed.
Thus, to reflect the interpretation that is made by those systems
that have implemented non-terminal NAPTRs, it is RECOMMENDED that:
Server ENUM zone provisioning systems SHOULD assume that, once a
non-terminal NAPTR has been selected for processing, the
ORDER field value in a zone referred to by that non-
terminal NAPTR will be considered only within the context
of that referenced zone (i.e. the ORDER value will be used
only to sort within the referenced zone, and will not be
used in the processing of NAPTRs in the referring zone).
Client ENUM clients SHOULD consider the ORDER field value only
when sorting NAPTRs within a single zone. The ORDER field
value SHOULD NOT be taken into account when processing
NAPTRs across a multi-zone ENUM query created by a chain of
non-terminal NAPTR references.
Conroy & Fujiwara Expires April 19, 2006 [Page 15]
Internet-Draft ENUM Experiences October 2005
5. Non-Terminal NAPTR Processing
5.1. Non-Terminal NAPTRs - necessity
Consider an ENUM domainname that contains a non-terminal NAPTR
record. This non-terminal NAPTR "points to" another domain that has
a set of NAPTRs. In effect, this is similar to the non-terminal
NAPTR being replaced by the NAPTRs contained in the domain to which
it points.
It is possible to have a non-terminal NAPTR in a domain that is,
itself, pointed to by another non-terminal NAPTR. Thus a set of
domains forms a "chain", and the list of NAPTRs considered is the set
of all NAPTRs contained in all of the domains in that chain.
For an ENUM management system to support non-terminal NAPTRs, it is
necessary for it to be able to analyse, validate and (where needed)
correct not only the NAPTRs in its current ENUM domain but also those
"pointed to" by non-terminal NAPTRs in its domain. If the domains
pointed to have non-terminal NAPTRs of their own, the management
system will have to check each of the referenced domains in turn, as
their contents forms part of the result of a query on the "main" ENUM
domain. The domain content in the referenced domains may well not be
under the control of the ENUM management system, and so it may not be
possible to correct any errors in those zones. This is both complex
and prone to error in the management system design, and any reported
errors in validation may well be non-intuitive for users.
For an ENUM client, supporting non-terminal NAPTRs can also be
difficult. Processing non-terminal NAPTRs causes a set of sequential
DNS queries that can take an indeterminate time, and requires extra
resources and complexity to handle fault conditions like non-terminal
loops. The indeterminacy of response time makes ENUM supported
Telephony Applications difficult (such as in an "ENUM-aware" PBX),
whilst the added complexity and resources needed makes support
problematic in embedded devices like "ENUM-aware" mobile phones.
Given that, in principle, a non-terminal NAPTR can be replaced by the
NAPTRs in the domain to which it points, support of non-terminal
NAPTRs is not needed and non-terminal NAPTRs may not be useful.
Furthermore, most existing ENUM clients do not support non-terminal
NAPTRs and ignore them if received. To avoid interoperability
problems, some kind of acceptable requirement is needed on non-
terminal NAPTRs. Given the lack of current support and the issues
raised, we propose that one SHOULD NOT use non-terminal NAPTRs in
ENUM.
Conroy & Fujiwara Expires April 19, 2006 [Page 16]
Internet-Draft ENUM Experiences October 2005
Thus, it is RECOMMENDED that:
Server ENUM zone provisioning systems SHOULD NOT generate non-
terminal NAPTRs (i.e. NAPTRs with an empty flags field).
Client ENUM clients MAY discard non-terminal NAPTRs (i.e. they MAY
only support ENUM NAPTRs with a flags field of "U").
5.2. Non-Terminal NAPTRs - future implementation
The following specific issues need to be considered if non-terminal
NAPTRs are to be supported in the future. These issues are gleaned
from experience, and indicate the kinds of conditions that should be
considered before support for non-terminal NAPTRs is contemplated.
Note that these issues are in addition to the point just mentioned on
ENUM provisioning or management system complexity and the potential
for that management system to have no control over the zone contents
to which non-terminal NAPTRs in "its" zones refer.
5.2.1. Non-Terminal NAPTRs - general
As mentioned earlier, a non-terminal NAPTR in one zone refers to the
NAPTRs contained in another zone. The NAPTRs in the zone referred to
by the non-terminal NAPTR may have a different ORDER value from that
in the referring non-terminal NAPTR. See section 4.3 for details.
In addition, to Clarify, it is RECOMMENDED that:
Client If all NAPTRs in a domain traversed as a result of a
reference in a non-terminal NAPTR have been discarded, then
the ENUM client SHOULD continue its processing with the
next NAPTR in the "referring" zone (i.e. the one including
the non-terminal NAPTR that caused the traversal).
5.2.2. Non-Terminal NAPTRs - loop detection and response
Where a "chain" of non-terminal NAPTRs refers back to a domain
already traversed in the current query, this implies a "non-terminal
loop". To ensure consistent behaviour, it is RECOMMENDED that:
Client ENUM clients SHOULD consider processing more than 5 "non-
terminal" NAPTRs in a single ENUM query to indicate that a
loop may have been detected, and act accordingly.
Conroy & Fujiwara Expires April 19, 2006 [Page 17]
Internet-Draft ENUM Experiences October 2005
Server When populating a set of domains with NAPTRs, ENUM zone
provisioning systems SHOULD NOT configure non-terminal
NAPTRs so that more than 5 such NAPTRs will be processed in
an ENUM query.
Client Where a domain is about to be entered as the result of a
reference in a non-terminal NAPTR, and the ENUM client has
detected a potential "non-terminal loop", then the client
SHOULD discard the non-terminal NAPTR from its processing
and continue with the next NAPTR in its list.
5.3. Interpretation of RFC3403 and RFC3761
The set of specifications defining DDDS and its applications are
complex and multi-layered. This reflects the flexibility that the
system provides, but it does mean that some of the specifications
need some clarification as to their interpretation, particularly
where non-terminal rules are concerned.
5.3.1. Flags Field content with Non-Terminal NAPTRs
RFC3761, section 2.4.1 states that the only flag character valid for
use with the "E2U" DDDS Application is 'U'. The flag 'U' is defined
(in RFC3404 [5], section 4.3) thus: 'The "U" flag means that the
output of the Rule is a URI'.
RFC3761 section 2.4.1 also states that an empty flags field indicates
a non-terminal NAPTR. This is also the case for other DDDS
Application specifications, such as that specified in RFC3404; one
could well argue that this is a feature potentially common to all
DDDS Applications, and so should have been specified in RFC3402 or
RFC3403.
5.3.2. Service Field content with Non-Terminal NAPTRs
Furthermore, RFC3761 section 3.1.1 states that any ENUMservice
Specification requires definition of the URI that is the expected
output of this ENUMservice. This means that, at present, there is no
way to specify an ENUMservice that is non-terminal; such a non-
terminal NAPTR has, by definition, no URI as its expected output,
instead returning a key (DNS domain name) that is to be used in the
"next round" of DDDS processing.
This in turn means that there can be no valid (non-empty) service
Conroy & Fujiwara Expires April 19, 2006 [Page 18]
Internet-Draft ENUM Experiences October 2005
field content for a NAPTR to be used with the "E2U" DDDS application.
Section 2.4.2 of RFC3761 specifies the syntax for this field content,
and requires at least one element of type <servicespec> (i.e. at
least one ENUMservice identifier). Given that there can be no
definition of a non-terminal ENUMservice (and so no such Registered
ENUMservice identifier), this syntax cannot be met with a non-
terminal NAPTR.
A reasonable interpretation of the specifications in their current
state is that the service field must also be empty; this appears to
be the approach taken by those clients that do either process non-
terminal NAPTRs or check the validity of the fields. To ensure
consistent behaviour, it is RECOMMENDED that:
Client ENUM clients SHOULD ignore any content of the SERVICE field
when encountering a non-terminal NAPTR.
Server ENUM zone provisioning systems SHOULD ensure that the
SERVICE field of any non-terminal NAPTR is empty.
5.3.3. Regular Expression and Replacement Field content with non-
terminal NAPTRs
The descriptive text in section 4.1 of RFC3403 is intended to explain
how the fields are to be used in a NAPTR. However, the descriptions
associated with the RegExp and Replacement elements have led to some
confusion over which of these should be considered when dealing with
non-terminal NAPTRs.
RFC3403 is specific; these two elements are mutually exclusive. This
means that if the RegExp element is not empty then the Replacement
element must be empty, and vice versa. However, is does not specify
which is used with terminal and non-terminal rules.
The descriptive text of section 4.1 of RFC3403 for the NAPTR
Replacement element shows that this element holds an uncompressed
domain name. Thus it is clear that this element cannot be used to
deliver the terminal string for any DDDS application that does not
have a domain name as its intended output.
However, the first paragraph of descriptive text for the NAPTR RegExp
element has led to some confusion; it appears that the RegExp element
is to be used to find "the next domain name to lookup". This might
be interpreted as meaning that a client program processing the DDDS
Conroy & Fujiwara Expires April 19, 2006 [Page 19]
Internet-Draft ENUM Experiences October 2005
application could need to examine each non-terminal NAPTR to decide
whether the RegExp element or instead the Replacement element were to
be used to construct the key (a domain name) to be used next in non-
terminal rule processing.
Given that a NAPTR holding a terminal rule (a "terminal NAPTR") must
use the Substitution expression field to generate the expected output
of that DDDS application, the RegExp element is also used in such
rules. Indeed, unless that DDDS application has a domain name as its
output, the RegExp element is the only possibility.
Thus from the descriptive text of this section, a Replacement element
can be used only in NAPTRs holding a non-terminal rule (a "non-
terminal NAPTR") unless that DDDS Application has a domain name as
its terminal output, whilst the alternative RegExp element may be
used either to generate a domain name as the next key to be used in
the non-terminal case, or to generate the output of the DDDS
application.
Note that each DDDS Application is free to specify the set of flags
to be used with that application. This includes specifying whether a
particular flag is associated with a terminal or non-terminal rule,
and also to specify the interpretation of an empty flags field (i.e.
whether this is to be interpreted as a terminal or non-terminal rule,
and if it is terminal, then the expected output). ENUM (as specified
in section 2.4.1 of RFC3761) specifies only the 'U' flag, with an
empty flags field indicating a non-terminal NAPTR.
The general case in which a client program must check which of the
two elements to use in non-terminal NAPTR processing complicates
implementation, and this interpretation has NOT been made in current
ENUM examples "out in the wild". It would be useful to define
exactly when a client program can expect to process the RegExp
element and when to expect to process the Replacement element, if
only to improve robustness.
In keeping with current implementations, it is RECOMMENDED that a
non-terminal NAPTR with an empty flags field MUST use the (non-empty)
Replacement element to hold the domain name that forms the "next key"
output from this non-terminal rule. Thus:
Client ENUM clients receiving a non-terminal NAPTR (i.e one with
an empty Flags field) MUST treat the Replacement field as
holding the domain name to be used in the next round of the
ENUM query. An ENUM client MUST discard such a non-
terminal NAPTR if the Replacement field is empty or does
not contain a valid domain name. By definition, it follows
that the RegExp field will be empty in such a non-terminal
Conroy & Fujiwara Expires April 19, 2006 [Page 20]
Internet-Draft ENUM Experiences October 2005
NAPTR, and SHOULD be ignored by ENUM clients
Server An ENUM zone provisioning system that installs a non-
terminal NAPTR into an ENUM zone MUST ensure that the
"target" domain name is set into the Replacement field of
this NAPTR. It MUST NOT use the RegExp field in a non-
terminal NAPTR.
In the future, it would be possible to update RFC3761 (sections 3.1.1
and 2.4.1) to add a new flag to indicate a non-terminal NAPTR, and to
change the ENUMservice template to permit specification of an
ENUMservice that operates with this new flag in non-terminal NAPTRs.
In doing this, it would be possible to include a syntactically valid
non-empty Service field in such non-terminal NAPTRs. To
differentiate from the case of an empty flags field, this new flag
could also indicate that the RegExp field was to be non-empty, and to
be processed - by implication, this would mean that the Replacement
field would be empty. However, such a change would require an update
to RFC3761, and so will have to wait.
Conroy & Fujiwara Expires April 19, 2006 [Page 21]
Internet-Draft ENUM Experiences October 2005
6. DNS record size and DNS software issue
An ENUM RRset may be large. The size of an ENUM DNS response may
easily exceed the 512 octet limit for "basic" UDP-based DNS messages.
In this case, a basic DNS response will be truncated (indicated by
the "TC" flag being set to '1' in the response).
The full DNS content can be carried only in TCP, or UDP packets where
the client has indicated a suitably large packet size with EDNS0
[15].
Limiting ENUM RRSet size is not easily possible in ENUM, as the
Registrant has control of the RRSet held in his or her zone, not the
Recursive Resolver nor the ENUM client.
If the Registrant chooses to hold a large set of NAPTRs in his or her
zone, then all entities involved in ENUM, (ENUM clients, their ISP's
Recursive Resolver/cache Servers, and the Authoritative Servers that
hold ENUM RRSets) MUST support EDNS0 with a suitably large packet
size specification and/or TCP transport for DNS queries and
responses, or they cannot resolve ENUM requests.
The DNS protocol is defined in [8][9] and clarified in [16], whilst
Requirements for Internet Hosts are specified in [17].
Supporting UDP queries is mandatory, but support for TCP queries is
recommended also, and is (in effect) required as RFC1123 requires
that a DNS client discard a truncated response and retry using
another transport protocol. In effect, Authoritative Name Servers
that do not answer TCP queries after returning truncated responses
are misconfigured.
Given that an ENUM query is likely to return a large RRset that might
cause a truncated response using the standard DNS transport, lack of
EDNS0 and/or TCP support by the entities involved results in the
query's failure and a high load on Recursive Resolvers.
As the normal process for a DNS client is to make a TCP query only
once a truncated response has been received, and there may be issues
with the overall performance of the DNS when TCP is used for queries.
Support for TCP transport by Authoritative DNS servers has its own
performance impact, which can severely limit their overall capacity
to handle queries. The only other option to support typical ENUM
responses is to use EDNS0 (which does not have these performance
issues). Thus clients (both the ENUM client and any Recursive
Resolver it uses) need to support and use EDNS0, so indicating their
ability to receive larger response packets from DNS Servers. Note
Conroy & Fujiwara Expires April 19, 2006 [Page 22]
Internet-Draft ENUM Experiences October 2005
that this is not necessarily solely within the control of the ENUM
client, as it may well not have control over the Recursive Resolver
(e.g. the ISP's Cache Server) it uses and that Resolver's
capabilities.
The EDNS0 mechanism allows the querying client to indicate the size
of UDP packet that it can process. The "RFC1035-standard" size limit
is 512 bytes of DNS message payload, which has proven too small to
carry the RRSets held in a number of the zones "out there" at
present. From examination of the "problem zones", a figure of 1280
bytes appears large enough to hold the RRSets seen, and allows
responses to be returned without fragmentation over the majority of
Internet paths.
Of course, some Registrants will still try to include more data in
their RRSets than will "fit" into such a response, causing a fallback
and use of TCP transport as specified in RFC2671. Thus it is
important not only that there is a "reasonable" limit to the message
size that a client would normally expected to be able to process, but
also that zone provisioning systems should guide the Registrant in
limiting the size of the RRSets they ask to be served.
Thus, it is RECOMMENDED that (in keeping with the standards):
Server ENUM zone provisioning systems SHOULD be careful of the DNS
response size required to support the ENUM RRSet when
populating NAPTRs into a zone. It may be appropriate to
warn the Registrant that by adding more NAPTRs he or she
will slow down resolution of ENUM client queries.
Server Authoritative Servers used to host ENUM zones SHOULD
support TCP queries and MUST support EDNS0.
Client Recursive Resolvers (e.g. ISP's DNS Cache Servers) used in
ENUM queries SHOULD support TCP queries and MUST support
EDNS0.
Client ENUM clients MUST support EDNS0 queries, and MUST also
support TCP. For Performance reasons, ENUM queries SHOULD,
by default, include an OPT pseudo-resource record with an
explicit UDP payload size indication (as specified in
EDNS0) of at least 1280 bytes, to avoid extra load on
Conroy & Fujiwara Expires April 19, 2006 [Page 23]
Internet-Draft ENUM Experiences October 2005
Resolvers and delay in re-trying queries with truncated
responses using TCP. The only exception to this is where a
client has received a current indication that EDNS0 is
disabled for this query chain.
As a final comment, from our experiences a Name Server may support
TCP queries, but there may well be an intervening packet filter that
does not allow TCP traffic to pass correctly. It is unfortunately
common for people managing a firewall to block traffic to or from the
DNS TCP port without considering the impact. Thus if TCP queries do
not seem to work, it is worthwhile considering this possibility; the
Name Server may be operating correctly, but the TCP SYN or SYN-ACK
packets may be blocked, effectively disabling the Server from contact
with the World outside the firewall. An incorrect assumption is made
by some deployed packet filters that MAY affect transport of EDNS0
responses. It has been noticed that some older equipment may be
configured by default to discard UDP packets containing DNS messages
if these are more than 512 bytes in size. Since the introduction of
EDNS0 in 1999, such a configuration has been and is incorrect. Both
of these behaviours can be very hard to debug.
Thus, although it should be obvious, we RECOMMEND that:
MidBox Name Servers SHOULD support TCP queries, and MUST support
EDNS0 if they are to host ENUM data. Thus intermediate
systems such as firewalls SHOULD NOT be configured to
filter traffic to or from a Name Server; notably, these
SHOULD NOT block TCP transport for DNS queries, and MUST
NOT simply block DNS messages of greater than 512 bytes in
size without examining them for correct EDNS0 support.
Note that this may require stateful packet inspection.
Conroy & Fujiwara Expires April 19, 2006 [Page 24]
Internet-Draft ENUM Experiences October 2005
7. Backwards Compatibility
7.1. Service field syntax
RFC3761 is the current standard for the syntax for NAPTRs supporting
the ENUM DDDS application. This obsoletes the original specification
that was given in RFC2916. There has been a change to the syntax of
the services field of the NAPTR that reflects a refinement of the
concept of ENUM processing.
As defined in RFC3403, there is now a single identifier that
indicates the DDDS Application. In the obsolete specification
(RFC2915), there were zero or more "Resolution Service" identifiers
(the equivalent of the DDDS Application). The same identifier string
is defined in both RFC3761 and in the old RFC2916 specifications for
the DDDS identifier or the Resolution Service; "E2U".
Also, RFC3761 defines at least one but potentially several
ENUMservice sub-fields; in the obsolete specification, only one
"protocol" sub-field was allowed.
In many ways, the most important change for implementations is that
the order of the sub-fields has been reversed. RFC3761 specifies
that the DDDS Application identifier is the leftmost sub-field,
followed by one or more ENUMservice sub-fields, each separated by the
'+' character delimiter. RFC2916 specified that the protocol sub-
field was the leftmost, followed by the '+' delimiter, in turn
followed by the "E2U" resolution service tag.
RFC2915 and RFC2916 have been obsoleted by RFC3401-RFC3404 and by
RFC3761. Thus it is RECOMMENDED that:
Server ENUM zone provisioning systems MUST NOT generate NAPTRs
according to the syntax defined in RFC2916. All zones MUST
hold ENUM NAPTRs according to RFC3761 (and ENUMservice
specifications according to the framework specified there).
However, RFC3824 [18] suggests that ENUM clients SHOULD be prepared
to accept NAPTRs with the obsolete syntax. Thus, an ENUM client
implementation may have to deal with both forms.
It is RECOMMENDED that:
Client ENUM clients MUST support ENUM NAPTRs according to RFC3761
syntax. ENUM clients SHOULD also support ENUM NAPTRs
according to the obsolete syntax of RFC2916; there are
still zones that hold "old" syntax NAPTRs.
Conroy & Fujiwara Expires April 19, 2006 [Page 25]
Internet-Draft ENUM Experiences October 2005
This need not be difficult. For example, an implementation could
process the services field into a set of tokens, and expect exactly
one of these tokens to be "E2U". In this way, the ENUM client might
be designed to handle both the old and the current forms without
added complexity.
There is one subtle implication of this scheme. It is RECOMMENDED
that:
Spec Registrations for an ENUMservice with the type string of
"E2U" and an empty sub-type string MUST NOT be accepted.
Conroy & Fujiwara Expires April 19, 2006 [Page 26]
Internet-Draft ENUM Experiences October 2005
8. Security Considerations
This document does not specify any standard. It does however make
some recommendations, and so the implications of following those
suggestions have to be considered.
In addition to these issues, those in the basic use of ENUM (and
specified in the normative documents for this protocol) should be
considered as well; this document does not negate those in any way.
The clarifications throughout this document are intended only as
that; clarifications of text in the normative documents. They do not
appear to have any security implications above those mentioned in the
normative documents.
The suggestions in sections 3, 4, and 7 do not appear to have any
security considerations (either positive or negative).
The suggestions in section 5.2.2 are a valid approach to a known
security threat. It does not open an advantage to an attacker in
causing excess processing or memory usage in the client. It does,
however, mean that an ENUM client will traverse a "tight loop" of
non-terminal NAPTRs in two domains 5 times before the client detects
this as a loop; this does introduce slightly higher processing load
than would be provided using other methods, but avoids the risks they
incur.
Conroy & Fujiwara Expires April 19, 2006 [Page 27]
Internet-Draft ENUM Experiences October 2005
9. IANA Considerations
This document is only advisory, and does not include any IANA
considerations other than the proposals labelled as "Spec". These
are the recommendation (in section 3.1) that ENUMservice
Registrations should at least indicate if characters outside of the
US-ASCII equivalent range are permitted, and the suggestion (at the
end of section 7.1) that no-one should specify an ENUMservice with
the identifying tag "E2U".
Conroy & Fujiwara Expires April 19, 2006 [Page 28]
Internet-Draft ENUM Experiences October 2005
10. Acknowledgements
We would like to thank the various development teams who implemented
ENUM (both creation systems and clients) and who read the normative
documents differently - without these differences it would have been
harder for us all to develop robust clients and suitably conservative
management systems. We would also thank those who allowed us to
check their implementations to explore behaviour; their trust and
help were much appreciated.
In particular, thanks to Richard Stastny for his hard work on a
similar task TS 102 172 [21] under the aegis of ETSI, and for
supporting some of the ENUM implementations that exist today.
Finally, thanks for the dedication of Michael Mealling in giving us
such detailed DDDS specifications, without which the ENUM development
effort would have had a less rigourous framework on which to build.
This document reflects how complex a system it is - without the
intricacy of RFC3401-RFC3404 and the work that went into them, it
could have been quite different.
Conroy & Fujiwara Expires April 19, 2006 [Page 29]
Internet-Draft ENUM Experiences October 2005
11. References
11.1. Normative References
[1] Faltstrom, P. and M. Mealling, "The E.164 to Uniform Resource
Identifiers (URI) Dynamic Delegation Discovery System (DDDS)
Application (ENUM)", RFC 3761, April 2004.
[2] Mealling, M., "Dynamic Delegation Discovery System (DDDS) Part
Three: The Domain Name System (DNS) Database", RFC 3403,
October 2002.
[3] Mealling, M., "Dynamic Delegation Discovery System (DDDS) Part
One: The Comprehensive DDDS", RFC 3401, October 2002.
[4] Mealling, M., "Dynamic Delegation Discovery System (DDDS) Part
Two: The Algorithm", RFC 3402, October 2002.
[5] Mealling, M., "Dynamic Delegation Discovery System (DDDS) Part
Four: The Uniform Resource Identifiers (URI)", RFC 3404,
October 2002.
[6] Mealling, M., "Dynamic Delegation Discovery System (DDDS) Part
Five: URI.ARPA Assignment Procedures", RFC 3405, October 2002.
[7] Yergeau, F., "UTF-8, a transformation format of ISO 10646",
STD 63, RFC 3629, November 2003.
[8] Mockapetris, P., "DOMAIN NAMES - CONCEPTS AND FACILITIES",
RFC 1034, November 1987.
[9] Mockapetris, P., "Domain names - implementation and
specification", STD 13, RFC 1035, November 1987.
[10] Costello, A., "Punycode: A Bootstring encoding of Unicode for
Internationalized Domain Names in Applications (IDNA)",
RFC 3492, March 2003.
[11] Institute of Electrical and Electronics Engineers, "Information
Technology - Portable Operating System Interface (POSIX) - Part
2: Shell and Utilities (Vol. 1)", IEEE Standard 1003.2,
January 1993.
[12] Schulzrinne, H., "The tel URI for Telephone Numbers", RFC 3966,
December 2004.
[13] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
Resource Identifier (URI): Generic Syntax", RFC 3986,
Conroy & Fujiwara Expires April 19, 2006 [Page 30]
Internet-Draft ENUM Experiences October 2005
January 2005.
[14] Duerst, M. and M. Suignard, "Internationalized Resource
Identifiers (IRIs)", RFC 3987, January 2005.
[15] Vixie, P., "Extension Mechanisms for DNS (EDNS0)", RFC 2671,
August 1999.
[16] Elz, R. and R. Bush, "Clarifications to the DNS Specification",
RFC 2181, July 1997.
[17] Braden, R., "Requirements for Internet Hosts -- Application and
Support", RFC 1123, October 1989.
[18] Peterson, J., Liu, H., Yu, J., and B. Campbell, "Using E.164
numbers with the Session Initiation Protocol (SIP)", RFC 3824,
June 2004.
[19] ITU-T, "The International Public Telecommunication Number
Plan", Recommendation E.164, May 1997.
11.2. Informative References
[20] American National Standards Institute, "Coded Character Set --
7-bit American Standard Code for Information Interchange",
ANSI X3.4, 1986.
[21] ETSI, "Minimum Requirements for Interoperability of European
ENUM Implementations", ETSI TS 102 172, October 2004.
[22] Bradner, S., "The Internet Standards Process -- Revision 3",
RFC 2026, BCP 9, October 1996.
[23] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", RFC 2119, BCP 14, March 1997.
[24] Bradner, S., "IETF Rights in Contributions", BCP 78, RFC 3978,
March 2005.
[25] Bradner, S., "Intellectual Property Rights in IETF Technology",
BCP 79, RFC 3979, March 2005.
Conroy & Fujiwara Expires April 19, 2006 [Page 31]
Internet-Draft ENUM Experiences October 2005
Authors' Addresses
Lawrence Conroy
Roke Manor Research
Roke Manor
Old Salisbury Lane
Romsey
United Kingdom
Phone: +44-1794-833666
Email: lconroy@insensate.co.uk
URI: http://www.sienum.co.uk
Kazunori Fujiwara
Japan Registry Service Co., Ltd.
Chiyoda First Bldg. East 13F
3-8-1 Nishi-Kanda Chiyoda-ku
Tokyo 101-0165
JAPAN
Email: fujiwara@jprs.co.jp
URI: http://jprs.jp/en/
Conroy & Fujiwara Expires April 19, 2006 [Page 32]
Internet-Draft ENUM Experiences October 2005
Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Disclaimer of Validity
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM 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.
Copyright Statement
Copyright (C) The Internet Society (2005). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights.
Acknowledgment
Funding for the RFC Editor function is currently provided by the
Internet Society.
Conroy & Fujiwara Expires April 19, 2006 [Page 33]
| PAFTECH AB 2003-2026 | 2026-04-24 01:08:26 |