SIP ENUM Service: enumservice registration for Session Initiation Protocol (SIP) Addresses-of-Record
A registered ENUM service that maps telephone numbers to SIP addresses of record.
Peterson, J., "enumservice registration for Session Initiation Protocol (SIP) Addresses-of-Record", RFC 3764, DOI 10.17487/RFC3764, April 2004, <https://www.rfc-editor.org/info/rfc3764>.
@misc{rfc3764,
series = {Request for Comments},
number = 3764,
howpublished = {RFC 3764},
publisher = {RFC Editor},
doi = {10.17487/RFC3764},
url = {https://www.rfc-editor.org/info/rfc3764},
author = {J. Peterson},
title = {{enumservice registration for Session Initiation Protocol (SIP) Addresses-of-Record}},
pagetotal = 8,
year = 2004,
month = apr,
} RFC text
Contents
Network Working Group J. Peterson
Request for Comments: 3764 NeuStar
Category: Standards Track April 2004
enumservice registration for Session Initiation Protocol (SIP)
Addresses-of-Record
Status of this Memo
This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (2004). All Rights Reserved.
Abstract
This document registers an Electronic Number (ENUM) service for the
Session Initiation Protocol (SIP), pursuant to the guidelines in RFC
3761. Specifically, this document focuses on provisioning SIP
addresses-of-record in ENUM.
Table of Contents
1. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. ENUM Service Registration . . . . . . . . . . . . . . . . . . . 2
3. Addresses-of-record in SIP. . . . . . . . . . . . . . . . . . . 3
4. The 'E2U+SIP' enumservice . . . . . . . . . . . . . . . . . . . 5
5. Example of E2U+SIP enumservice. . . . . . . . . . . . . . . . . 5
6. Security Considerations . . . . . . . . . . . . . . . . . . . . 6
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 6
8. References. . . . . . . . . . . . . . . . . . . . . . . . . . . 6
8.1. Normative References. . . . . . . . . . . . . . . . . . . 6
8.2. Informative References. . . . . . . . . . . . . . . . . . 7
9. Acknowledgements. . . . . . . . . . . . . . . . . . . . . . . . 7
10. Author's Address. . . . . . . . . . . . . . . . . . . . . . . . 7
11. Full Copyright Statement. . . . . . . . . . . . . . . . . . . . 8
1. Introduction
ENUM (E.164 Number Mapping, RFC 2916 [6]) is a system that uses DNS
(Domain Name Service, STD 13, RFC 1034 [3]) to translate telephone
numbers, like '+12025332600', into URIs (Uniform Resource
Identifiers, RFC 2396 [4]), like 'sip:egar@example.com'. ENUM exists
primarily to facilitate the interconnection of systems that rely on
telephone numbers with those that use URIs to route transactions.
This document applies to the revised version of ENUM described in RFC
3761.
SIP (Session Initiation Protocol, RFC 3261 [2]) is a text-based
application protocol that allows endpoints on the Internet to
discover one another in order to exchange context information about a
session they would like to share. Common forms of communication that
are set up by SIP include Internet telephony, instant messaging,
video, Internet gaming and other forms of real-time communications.
SIP is a multi-service protocol capable of initiating sessions
involving different forms of real-time communications simultaneously.
SIP is a protocol that finds the best way for parties to communicate.
2. ENUM Service Registration
As defined in [1], the following is a template covering information
needed for the registration of the enumservice specified in this
document.
Enumservice Name: "E2U+SIP"
Type(s): "SIP"
Subtype(s): N/A
URI Scheme(s): "sip:", "sips:"
Functional Specification: see Section 4
Security considerations: see Section 6
Intended usage: COMMON
Author: Jon Peterson (jon.peterson@neustar.biz)
Any other information that the author deems interesting: See
Section 3
3. Addresses-of-record in SIP
This document specifies an enumservice field that is appropriate for
SIP addresses-of-record URIs. Various other types of URIs can be
present in SIP requests. A URI that is associated with a particular
SIP user agent (for example, a SIP phone) is commonly known as a SIP
contact address.
The difference between a contact address and an address-of-record is
like the difference between a device and its user. While there is no
formal distinction in the syntax of these two forms of addresses,
contact addresses are associated with a particular device, and may
have a very device-specific form (like sip:10.0.0.1, or
sip:edgar@ua21.example.com). An address-of-record, however,
represents an identity of the user, generally a long-term identity,
and it does not have a dependency on any device; users can move
between devices or even be associated with multiple devices at one
time while retaining the same address-of-record. A simple URI,
generally of the form 'sip:egdar@example.com', is used for an
address-of-record.
When a SIP request is created by a user agent, it populates the
address-of-record of its target in its To header field and
(generally) Request-URI. The address-of-record of the user that is
sending the request populates the From header field of the message;
the contact address of the device from which the request is sent is
listed in the Contact header field.
By sending a registration to a registrar on behalf of its user, a SIP
device (i.e., a user agent) can temporarily associate its own contact
address with the user's address-of-record. In so doing, the device
becomes eligible to receive requests that are sent to the address-
of-record. Upon receiving the registration request, the registrar
modifies the provisioning data in a SIP location service to create a
mapping between the address-of-record for the user and the device
where the user can currently be reached. When future requests arrive
at the administrative domain of this location service for the user in
question, proxy servers ask the location service where to find the
user, and will in turn discover the registered contact address(es).
A SIP-based follow-me telephony service, for example, would rely on
this real-time availability data in order to find the best place to
reach the end user without having to cycle through numerous devices
from which the user is not currently registered. Note that
addresses-of-record can be registered with other addresses-of-record;
for example, while at home, a user might elect to register the
address-of-record they use as their personal identity under their
work address-of-record in order to direct requests for their work
identity to whatever devices they might have associated with their
home address-of-record.
When a SIP entity (be it a user agent or proxy server) needs to make
a forwarding decision for a Request-URI containing an address-of-
record, it uses the mechanisms described in the SIP specification
(RFC 3263) to locate the proper resource in the network. Ordinarily,
this entails resolving the domain portion of the URI (example.com in
the example above) in order to route the call to a proxy server that
is responsible for that domain.
SIP user agents have specific communications capabilities (such as
the ability to initiate voice communications with particular codecs,
or support for particular SIP protocol extensions). Because an
address-of-record does not represent any particular device or set of
devices, an address-of-record does not have capabilities as such.
When a SIP user agent sends a request to an address-of-record, it
begins a phase of capability negotiation that will eventually
discover the best way for the originator to communicate with the
target. The originating user agent first expresses capabilities of
its own in the request it sends (and preferences for the type of
session it would like to initiate). The expression of these
capabilities may entail the usage of SDP [8] to list acceptable types
of media supported and favored by the client, the inclusion of
Required/Supported headers to negotiate compatibility of extensions,
and possibly the usage of optional SIP extensions, for example using
callee capabilities [7] to communicate request handling dispositions.
Proxy servers or endpoints subsequently return responses that allow a
rich bidirectional capability negotiation process.
The process by which SIP endpoints negotiate capabilities can overlap
with the primary service provided by NAPTR records: permitting the
originating client to select a particular URI for communications
based on an ordered list of enumservices. However, ENUM's capability
management mechanism is decidedly one-way - the administrator of the
telephone number expresses capabilities (in the form of protocol
names) and preferences that the client must evaluate without
negotiation. Moreover, listing available protocols is not comparable
to agreement on session media (down to the codec/interval level) and
protocol extension support - it would be difficult to express, in the
level of detail necessary to arrange a desired session, the
capabilities of a SIP device within a NAPTR service field.
Provisioning contact addresses in ENUM rather than addresses-of-
record would compromise the SIP capability negotiation and discovery
process. Much of the benefit of using a URI comes from the fact that
it represents a logical service associated with a user, rather than a
device - indeed, if ENUM wished to target particular devices,
'E2IPv4' would be a more appropriate resolution service to define
than 'E2U'.
SIP addresses-of-record may use the SIP URI scheme or the SIPS URI
scheme. The SIPS URI scheme, when used in an address-of-record,
indicates that the user it represents can only be reached over a
secure connection (using TLS).
4. The 'E2U+SIP' enumservice
Traditionally, the services field of a NAPTR record (as defined in
[5]) contains a string that is composed of two subfields: a
'protocol' subfield and a 'resolution service' subfield. ENUM in
particular defines an 'E2U' (E.164 to URI) resolution service. This
document defines an 'E2U+SIP' enumservice for SIP.
The scheme of the URI that will appear in the regexp field of a NAPTR
record using the 'E2U+SIP' enumservice may either be 'SIP' or 'SIPS'.
This enumservice is best suited to SIP addresses-of-record.
When a SIP address-of-record appears in the regexp field of a NAPTR
record, there is no need to further qualify the enumservice field
with any capability data, since addresses-of-record do not have
capabilities.
There is also generally no need to have more than one NAPTR record
under a single telephone number that points to a SIP address-of-
record.
Note that the user portion of a SIP URI may contain a telephone
number (e.g., 'sip:+1442079460148@example.com'). Clients should be
careful to avoid infinite loops when recursively performing ENUM
queries on URIs that result from an ENUM lookup.
5. Example of E2U+SIP enumservice
The following is an example of the use of the enumservice registered
by this document in a NAPTR resource record.
$ORIGIN 8.4.1.0.6.4.9.7.0.2.4.4.e164.arpa.
IN NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:edgar@example.com!" .
6. Security Considerations
A SIP address-of-record is a canonical address by which a user is
known - placing this address in ENUM is comparable to placing an
email address or a similar URI in the DNS.
DNS does not make policy decisions about the records that it shares
with an inquirer. All DNS records must be assumed to be available to
all inquirers at all times. The information provided within an ENUM
record set must therefore be considered to be open to the public -
which is a cause for some privacy considerations.
Unlike a traditional telephone number, the resource identified by a
SIP URI may require that callers provide cryptographic credentials
for authentication and authorization before a user is alerted. In
this respect, ENUM in concert with SIP can actually provide far
greater protection from unwanted callers than the existing PSTN,
despite the public availability of ENUM records. An analysis of
threats specific to the dependence of ENUM on the DNS, and the
applicability of DNSSEC [9] to these, is provided in [1].
7. IANA Considerations
This document registers the 'E2U+SIP' enumservice under the
enumservice registry described in the IANA considerations in RFC
3761. Details of the registration are given in Section 2.
8. References
8.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] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A.,
Peterson, J., Sparks, R., Handley, M. and E. Schooler, "SIP:
Session Initiation Protocol", RFC 3261, May 2002.
[3] Mockapetris, P., "Domain Names - Concepts and Facilities", STD
13, RFC 1034, November 1987.
[4] Berners-Lee, T., Fielding, R. and L. Masinter, "Uniform Resource
Identifiers (URI): Generic Syntax", RFC 2396, August 1998.
[5] Mealling, M., "Dynamic Delegation Discovery System (DDDS) Part
Three: The Domain Name System (DNS) Database", RFC 3403, October
2002.
8.2. Informative References
[6] Faltstrom, P., "E.164 number and DNS", RFC 2916, September 2000.
[7] Rosenberg, J., Schulzrinne, H. and P. Kyzviat, "Indicating User
Agent Capabilities in the Session Initiation Protocol (SIP)",
Work in Progress.
[8] Handley, M. and V. Jacobson, "SDP: Session Description
Protocol", RFC 2327, April 1998.
[9] R. Arends, et al., "Protocol Modifications for the DNS Security
Extensions", Work in Progress.
9. Acknowledgements
Thanks to Richard Shockey for comments on the initial draft of this
document, and to Allison Mankin for valuable review comments.
10. Author's Address
Jon Peterson
NeuStar, Inc.
1800 Sutter St
Suite 570
Concord, CA 94520
USA
Phone: +1 925/363-8720
EMail: jon.peterson@neustar.biz
URI: http://www.neustar.biz/
11. Full Copyright Statement
Copyright (C) The Internet Society (2004). 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.
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.
Intellectual Property
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.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
ISO Plain Language
On this page
§1Why an ENUM Service for SIP
ENUM, the E.164 Number Mapping system, uses the DNS to translate telephone numbers such as '+12025332600' into URIs such as 'sip:egar@example.com'. It exists mainly to interconnect systems that rely on telephone numbers with those that use URIs to route transactions. This document applies to the revised version of ENUM described in RFC 3761.
SIP, the Session Initiation Protocol, is a text-based application protocol that lets endpoints on the Internet discover one another to exchange context information about a session they would like to share. The sessions it sets up include Internet telephony, instant messaging, video and Internet gaming, and SIP can start a session involving several forms of real-time communication at once.
ENUM turns a phone number into an internet address using DNS. SIP is the protocol that sets up calls and chats over the Internet. This RFC registers a label that says a phone number maps to a SIP address.
§2The Service Registration
The registration follows the template defined in RFC 3761. The enumservice name is E2U+SIP. The type is SIP, and no subtypes are defined. The URI schemes are sip: and sips:. The functional specification is section 4 of this document, the security considerations are in section 6, and the intended usage is COMMON.
The name follows the pattern of the ENUM family: E2U is the E.164 to URI resolution service, and the part after the plus sign says which kind of URI follows.
The registration is a short record. It gives the service a name, says the result is a SIP or SIPS address, and marks the service as one that is commonly used.
§3Contact Addresses and Addresses of Record
The document specifies an enumservice field suited to SIP addresses of record, and distinguishes them from SIP contact addresses. A URI associated with a particular user agent, such as a SIP phone, is commonly known as a contact address. The RFC compares the difference to the difference between a device and its user. There is no formal distinction in the syntax of the two forms, but a contact address is tied to a particular device and may take a device-specific form such as 'sip:10.0.0.1' or 'sip:edgar@ua21.example.com'. An address of record represents the identity of the user, generally a long-term one, and does not depend on any device: users can move between devices, or be associated with several at once, while keeping the same address of record.
When a user agent creates a SIP request, it puts the address of record of its target in the To header field and, generally, in the Request-URI. The address of record of the sender fills the From header field, and the contact address of the device sending the request is listed in the Contact header field.
A SIP device can send a registration to a registrar on behalf of its user to associate its own contact address with the user's address of record, which makes the device eligible to receive requests sent to that address of record. The registrar then modifies the provisioning data in a SIP location service, creating a mapping between the address of record and the device where the user can currently be reached. When later requests arrive at the administrative domain of that location service, proxy servers ask the location service where to find the user and discover the registered contact addresses. A follow-me telephony service would use this availability data to find the best place to reach the user without trying every device. An address of record can also be registered with another address of record, so that a user at home can register their work identity under their home address of record.
When a SIP entity has to make a forwarding decision for a Request-URI that holds an address of record, it uses the mechanisms in the SIP specification to locate the resource, which ordinarily means resolving the domain part of the URI so the request can be routed to the proxy server responsible for that domain.
A contact address names a device, such as a phone at a particular address. An address of record names the person, and stays the same wherever they go. Registration ties the two together, so a call to the person's address finds the device they are using now.
| Property | Contact address | Address of record |
|---|---|---|
| What it identifies | A particular device or user agent | The identity of the user, generally a long-term one |
| Example | sip:10.0.0.1, sip:edgar@ua21.example.com | sip:edgar@example.com |
| Depends on a device | Yes | No |
| Where it appears in a request THIS RFC | The Contact header field | The To and From header fields, and the Request-URI |
§4The E2U+SIP Enumservice
Traditionally the services field of a NAPTR record holds a string with two subfields, a protocol subfield and a resolution service subfield. ENUM defines an E2U resolution service, and this document defines E2U+SIP for SIP. The scheme of the URI that appears in the regexp field of a NAPTR record using this enumservice may be SIP or SIPS, and the enumservice is best suited to SIP addresses of record.
When a SIP address of record appears in the regexp field, there is no need to qualify the enumservice field with capability data, because addresses of record do not have capabilities. SIP user agents have specific communication capabilities, such as the ability to start a voice call with particular codecs or support for particular SIP extensions, but an address of record represents no particular device, so it has no capabilities of its own. When a user agent sends a request to an address of record, a phase of capability negotiation follows: the originating user agent first states its own capabilities and its preferences in the request, using SDP to list acceptable and favoured media, the Required and Supported headers to negotiate extensions, and sometimes optional SIP extensions such as callee capabilities. Proxy servers or endpoints then return responses, and the two sides negotiate in both directions.
The RFC contrasts this with what ENUM does. The process of negotiating capabilities can overlap with the main service that NAPTR records provide, which lets the originating client pick a URI from an ordered list of enumservices. But ENUM's capability management is one-way: the administrator of the telephone number states capabilities as protocol names and preferences, and the client evaluates them without negotiation. Listing available protocols is not the same as agreeing on session media down to the codec level or on extension support, and it would be hard to express the capabilities of a SIP device in that much detail inside a NAPTR service field. Provisioning contact addresses in ENUM rather than addresses of record would therefore compromise the SIP capability negotiation and discovery process, and if ENUM wanted to target particular devices, a service such as E2IPv4 would be more appropriate than E2U.
Two further points apply. A SIP address of record may use the SIP URI scheme or the SIPS URI scheme, and a SIPS URI in an address of record indicates that the user it represents can only be reached over a secure connection using TLS. And the user portion of a SIP URI may itself contain a telephone number, for example 'sip:+1442079460148@example.com', so clients should be careful to avoid infinite loops when they run ENUM queries again on URIs that came from an ENUM lookup.
The service says only that the address is a SIP address of record. It carries no capability information, because a person's address does not describe any device. The two ends of a call sort out codecs and extensions between themselves, and a client that runs ENUM on the result must not loop forever.
- ENUM queryLooks up the telephone number in the e164.arpa tree.
- NAPTR recordReturns the E2U+sip service and the SIP address of record.
- SIP requestSent to the domain part of the address of record.
- Location queryAsks where the address of record is registered.
- Contact addressReturns the registered contact address of the device.
- SIP requestForwarded to the device where the user can be reached.
§5The Example NAPTR Record
The example places a NAPTR record under the domain that holds the telephone number in the reversed numbering tree, with the service field set to E2U+sip and a regular expression that rewrites the telephone number into a SIP address of record:
$ORIGIN 8.4.1.0.6.4.9.7.0.2.4.4.e164.arpa.IN NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:edgar@example.com!" .
The RFC also notes that there is generally no need for more than one NAPTR record under a single telephone number that points to a SIP address of record.
The example shows the record that a number owner publishes: a DNS name built from the digits of the number, a service name that says SIP, and a rule that turns the number into a SIP address.
$ORIGIN 8.4.1.0.6.4.9.7.0.2.4.4.e164.arpa.
IN NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:edgar@example.com!" .§6Security Considerations
A SIP address of record is the canonical address by which a user is known, so placing it in ENUM is comparable to placing an email address or a similar URI in the DNS.
DNS does not make policy decisions about the records it shares with an inquirer. All DNS records must be assumed to be available to every inquirer at all times, so the information in an ENUM record set has to be treated as open to the public, which raises privacy concerns.
Unlike a traditional telephone number, the resource identified by a SIP URI may require callers to provide cryptographic credentials for authentication and authorisation before the user is alerted. In that respect ENUM used with SIP can give far greater protection from unwanted callers than the existing telephone network, despite the public availability of the ENUM records. The RFC points to RFC 3761 for an analysis of the threats specific to ENUM's dependence on the DNS and the applicability of DNSSEC to them.
Putting a SIP address of record in the DNS is like publishing an email address: anyone can look it up. What the address leads to can still require credentials, which the telephone network does not do.
§7IANA Registration
The document registers the E2U+SIP enumservice under the enumservice registry described in the IANA considerations of RFC 3761, with the details given in section 2.
IANA keeps the list of registered enumservices, and this RFC adds one entry to it.