draft-ietf-drinks-usecases-requirements-02.txt   draft-ietf-drinks-usecases-requirements-03.txt 
DRINKS S. Channabasappa, Ed. DRINKS S. Channabasappa, Ed.
Internet-Draft CableLabs Internet-Draft CableLabs
Intended status: Informational May 3, 2010 Intended status: Informational May 25, 2010
Expires: November 4, 2010 Expires: November 26, 2010
DRINKS Use cases and Protocol Requirements DRINKS Use cases and Protocol Requirements
draft-ietf-drinks-usecases-requirements-02 draft-ietf-drinks-usecases-requirements-03
Abstract Abstract
This document captures the use cases and associated requirements for This document captures the use cases and associated requirements for
interfaces that provision session establishment data into SIP Service interfaces that provision session establishment data into SIP Service
Provider components, to assist with session routing. Specifically, Provider components, to assist with session routing. Specifically,
the current version of this document focuses on the provisioning of the current version of this document focuses on the provisioning of
one such element, termed the registry. one such element, termed the registry.
Status of this Memo Status of this Memo
skipping to change at page 1, line 34 skipping to change at page 1, line 34
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on November 4, 2010. This Internet-Draft will expire on November 26, 2010.
Copyright Notice Copyright Notice
Copyright (c) 2010 IETF Trust and the persons identified as the Copyright (c) 2010 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3. Use Cases and Requirements . . . . . . . . . . . . . . . . . . 8 3. Registry Use Cases . . . . . . . . . . . . . . . . . . . . . . 9
3.1. Registry Provisioning . . . . . . . . . . . . . . . . . . 8 3.1. Category: Provisioning Mechanisms . . . . . . . . . . . . 9
3.1.1. Use Cases . . . . . . . . . . . . . . . . . . . . . . 8 3.2. Category: Interconnect Schemes . . . . . . . . . . . . . . 9
3.1.2. Requirements . . . . . . . . . . . . . . . . . . . . . 14 3.3. Category: SED Exchange and Discovery Models . . . . . . . 11
4. Security Considerations . . . . . . . . . . . . . . . . . . . 18 3.4. Category: SED Record Content . . . . . . . . . . . . . . . 12
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19 3.5. Category: Separation and Facilitation of Data
6. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 20 Management . . . . . . . . . . . . . . . . . . . . . . . . 12
7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.6. Category: Lookup Keys . . . . . . . . . . . . . . . . . . 13
7.1. Normative References . . . . . . . . . . . . . . . . . . . 21 3.7. Category: Number Portability . . . . . . . . . . . . . . . 14
7.2. Informative References . . . . . . . . . . . . . . . . . . 21 3.8. Category: Misc . . . . . . . . . . . . . . . . . . . . . . 14
4. Requirements . . . . . . . . . . . . . . . . . . . . . . . . . 16
5. Security Considerations . . . . . . . . . . . . . . . . . . . 18
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19
7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 20
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 21
8.1. Normative References . . . . . . . . . . . . . . . . . . . 21
8.2. Informative References . . . . . . . . . . . . . . . . . . 21
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 22 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 22
1. Terminology 1. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119]. document are to be interpreted as described in [RFC2119].
This document reuses terms from [RFC3261] (e.g., SIP) and [RFC5486] This document reuses terms from [RFC3261] (e.g., SIP), [RFC5486]
(e.g., LUF, LRF). In addition, this document specifies the following (e.g., LUF, LRF, SED) and [RFC5067] (carrier-of-record and transit
provider). In addition, this document specifies the following
additional terms. additional terms.
Registry: The authoritative source for provisioned session Registry: The authoritative source for provisioned session
establishment data (SED) and related information. establishment data (SED) and related information.
Registrar An entity that provisions and manages data into the
registry.
Registrant An entity whose data is provisioned into the registry.
The registrant can act as its own registrar or - additionally or
alternatively - delegate this function to a third party who acts
as its registrar.
Local Data Repository: The data store component of an addressing Local Data Repository: The data store component of an addressing
server that provides resolution responses. server that provides resolution responses.
Destination Group: A set of public identities that are grouped Public Identifier: A public identifier refers to a telephone number
together to facilitate session setup and routing.
Public Identity: A generic term that refers to a telephone number
(TN), an email address, or other identity as deemed appropriate, (TN), an email address, or other identity as deemed appropriate,
such as a globally routable URI of a user address (e.g., such as a globally routable URI of a user address (e.g.,
mailto:john.doe@example.net). mailto:john.doe@example.net).
Routing Group: A grouping of SED records. TN Range: A numerically contiguous set of telephone numbers whose
SED can be looked up (resolved).
Authoritative SSP or Entity This refers to the carrier-of-record, Destination Group: An aggregation of a set of public identifiers,
for a public identity or TN Range. TN Ranges, or RNs that share common SED.
Non-authoritative SSP or Entity This refers to the transit provider Data Recipient: An entity with visibility into a specific set of
for a public identity or TN Range. public identifiers, the destination groups that contain these
public identifiers, and a routing group's SED records.
Routing Group: An aggregation that contains a related set of SED
records, and is associated with a set of destination groups.
Routing groups facilitate the management of SED records - which
are common to a large number of public identifiers, TN Ranges or
RNs - for one or more data recipients.
2. Overview 2. Overview
The SPEERMINT WG specifies Session Establishment Data, or SED, as the The SPEERMINT WG specifies Session Establishment Data, or SED, as the
data used to route a call to the next hop associated with the called data used to route a call to the next hop associated with the called
domain's ingress point. More specifically, the SED is the set of domain's ingress point. More specifically, the SED is the set of
parameters that the outgoing signalling path border elements (SBEs) parameters that the outgoing signaling path border elements (SBEs)
need to establish a session. See [RFC5486] for more details. need to establish a session. See [RFC5486] for more details.
The specification of the format and protocols to provision SED is a The specification of the format and protocols to provision SED is a
task taken up by the DRINKS WG. The use cases and requirements that task taken up by the DRINKS WG. This document contains the use cases
have been proposed in this regard are compiled in this document. and requirements that have been proposed in this regard.
SED is typically created by the terminating SSP and consumed by the SED is typically created by the terminating SSP and consumed by the
originating SSP. To avoid a multitude of bilateral exchanges, SED is originating SSP. To avoid a multitude of bilateral exchanges, SED is
usually shared via intermediary systems - termed Registries within often shared via intermediary systems - termed registries within this
this document. Such registries receive SED via provisioning document. Such registries receive SED via provisioning transactions
transactions from other SSPs, and then distribute the received data from other SSPs, and then distribute the received data into Local
into Local Data Repositories. These local data repositories are used Data Repositories. These local data repositories are used for call
for call routing by outgoing SBEs. This is depicted in Figure 1. routing by outgoing SBEs. This is depicted in Figure 1.
*-------------* *-------------*
1. Provision SED | | 1. Provision SED | |
-----------------------> | Registry | -----------------------> | Registry |
| | | |
*-------------* *-------------*
/ \ / \
/ \ / \
/ \ / \
/ \ / \
skipping to change at page 5, line 7 skipping to change at page 6, line 7
V V V V
+----------+ +----------+ +----------+ +----------+
|Local Data| |Local Data| |Local Data| |Local Data|
|Repository| |Repository| |Repository| |Repository|
+----------+ +----------+ +----------+ +----------+
Figure 1: General Diagram Figure 1: General Diagram
In this version of the document, we primarily address the use cases In this version of the document, we primarily address the use cases
and requirements for provisioning registries. Future revisions may and requirements for provisioning registries. Future revisions may
include data distribution. The resulting provisioning protocol can include data distribution to local data repositories. The resulting
be used to provision data into a registry, or between registries. provisioning protocol can be used to provision data into a registry,
This is depicted in Figure 2. or between registries. This is depicted in Figure 2.
. . . . . . . . . . . . . .
. . . . . . . registry . . . . . . . . . . . . . . registry . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . .
. . provision . . . provision .
+-----------+ . +-----------+ +-----------+ . +-----------+
| | provision +----------+ provision | | | | provision +----------+ provision | |
| SSP 1 |------------>| Registry |<-----------| SSP 2 | | SSP 1 |------------>| Registry |<-----------| SSP 2 |
| | +----------+ | | | | +----------+ | |
skipping to change at page 5, line 33 skipping to change at page 6, line 33
| | | | | | | |
+-----------+ +-----------+ +-----------+ +-----------+
. . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
(provision / distribute) (provision / distribute)
Where, LDR = Local Data Repository Where, LDR = Local Data Repository
Figure 2: Functional Overview Figure 2: Functional Overview
The following is a summary of the proposed responsibilities for
Registries and Local Data Repositories:
o Registries are the authoritative source for provisioned session
establishment data (SED) and related information.
o Local Data Repositories are the data store component of an
addressing server that provides resolution responses.
o Registries are responsible for distributing SED and related
information to the local data repositories.
In addition, this document proposes the following aggregation groups In addition, this document proposes the following aggregation groups
with regards to SED (refer to the use cases in Section 3.1.1.3 for with regards to SED (refer to the use cases in Section 3.5 for the
the rationale): rationale):
o Aggregation of public Identifiers into a destination group. o Aggregation of public Identifiers into a destination group.
o Aggregation of SED records into a Routing Group. o Aggregation of SED records into a Routing Group.
The above aggregations are illustrated in Figure 3. The data model depicted in Figure 3 shows the various entities,
aggregations and the relationships between them.
+---------+ +--------------+ +---------+ +---------+ +--------------+ +---------+
| Data |0..n 1| ROUTING | 1 0..n| SED | | Data |0..n 0..n| ROUTING | 1 0..n| SED |
|Recepient|------------| GROUP | --------------| Record | |Recepient|------------| GROUP | --------------| Record |
+---------+ +--------------+ +---------+ +---------+ +--------------+ +---------+
|0..n |0..n |0..n |0..n
| | | |
| | | |
| | | |
| 1 | |0..n |
1..n +--------------+ 0..n | 1 +--------------+ 0..1 |
---------| DESTINATION |--------- | ---------| DESTINATION |--------- |
| | GROUP | | | | | GROUP | | |
| +--------------+ | | | +--------------+ | |
| | | | | | | |
| 1..n| | | | 1| | |
| | | | | | | |
| | | | | | | |
1 | 1 | | 1 | 0..n | 0..n | | 0..n |
+---------+ +---------+ +---------+ | +---------+ +---------+ +----------+ |
| RN | | TN | | Public |----- | RN | | TN | | Public |----
| | | Range | |Identity | 1 | | | Range | |Identifier| 1
+---------+ +---------+ +---------+ +---------+ +---------+ +----------+
Figure 3: Data Model Diagram Figure 3: Data Model Diagram
Additional clarifications follow: The relationships are as described below:
- A routing group is associated with zero or more SED Records; - A Data Recipient object can be associated with zero or more
NAPTRs and other SED record types associated with routes are not Routing Group objects, and a Routing Group object can refer to
user or TN-specific. For example the user portion of a NAPTR zero or more Data Recipient objects.
regular expression will be "\1".
- A routing group is associated with zero or more peering - A Routing Group object can contain zero or more SED Record
organizations to control visibility or access privileges to that objects, and a SED Record object can be contained in exactly one
routing group and the destination groups they expose. Routing Group object.
- A data recipient group contains zero or more data recipients to - A Routing Group object can be associated with zero or more
facilitate the allocation of access privileges to routing groups. Destination Group objects, and a Destination Group object can be
associated with zero or more Routing Group objects.
3. Use Cases and Requirements - A Destination Group object can contain zero or more RN objects,
and an RN object can be contained in exactly one Destination Group
object.
This section presents the use cases and associated requirements. - A Destination Group object can contain zero or more TN Range
objects, and a TN Range object can be contained in exactly one
Destination Group object.
3.1. Registry Provisioning - A Destination Group object can contain zero or more Public
Identifier objects, and a Public Identifier object can be
contained in exactly one Destination Group object.
3. Registry Use Cases
This Section documents use cases related to the provisioning of the This Section documents use cases related to the provisioning of the
registry. Any request to provision, modify or delete data is subject registry. Any request to provision, modify or delete data is subject
to authorization. However, the act of authorization is considered to authorization. However, the act of authorization is considered to
out of scope within this document. be out of scope within this document.
3.1.1. Use Cases
The use cases are divided into the following categories - different 3.1. Category: Provisioning Mechanisms
provisioning options, options for provisioning SED data,
administration, and number portability.
3.1.1.1. Category: Provisioning Options UC PROV #1 Real-Time Provisioning: Registrars have operational
systems that provision public identifiers, in association
with their SED. These systems often function in a manner
that expect or require that these provisioning activities
be completed immediately, as apposed to an out-of-band or
batch provisioning scheme that can occur at a later time.
This type of provisioning is referred to as real-time, or
on-demand provisioning.
UC PROCESS #1 Real-time provisioning: once a registry is established UC PROV #2 Non-Real-Time Bulk Provisioning: Operational systems that
events may occur that necessitate SSPs to add, modify provision public identifiers and associated SED sometimes
or delete data in the registry, in real-time, to expect that these provisioning activities be batched up
maintain accuracy of the data. Examples of such into large sets. These batched requests are then
events can be found in other use cases within this processed using a provisioning mechanism that is out-of-
document (e.g., identity related use cases). band and occurs at a later time.
UC PROCESS #2 Non-real-time or bulk provisioning: There are cases UC PROV #3 Multi-Request Provisioning: Regardless of whether a
when a registry needs to be provisioned with bulk data provisioning action is performed in real-time or not,
sets, via an offline mechanism, as opposed to real- SSPs often perform several provisioning actions on
time provisioning requests. Examples include: when a several objects in a single request or transaction. This
new registry is established or when data is being is done for performance and scalability reasons, and for
restored from a backup. transactional reasons, such that the set of provisioning
actions either fail or succeed atomically, as a complete
set.
3.1.1.2. Category: SED options 3.2. Category: Interconnect Schemes
UC SED DATA #1 Inter-network SED: An SSP provisons SED records for a UC INTERCONNECT #1 Inter-SSP SED: SSPs create peering relationships
specific end-user, so that other SSPs can use this with other SSPs in order to establish
SED data to establish sessions intended with this interconnects. Establishing these interconnects
end-user. The provisioning SSP can either be the involves, among other things, communicating and
carrier-of-record (direct peering), or a transit enabling the points of ingress and other SED used
provider (indirect peering). to establish sessions to a set of public
identifiers.
UC SED DATA #2 Intra-network SED: An SSP provisons SED records for a UC INTERCONNECT #2 Direct vs Indirect Peering: Some inter-SSP
specific end-user, for use within the SSP's networks. peering relationships are created to enable the
This will allow internal signaling elements to establishment of sessions to the public
establish sessions intended for this end-user. The identifiers for which an SSP is the carrier-of-
provisioned SED is only distributed to specific local record. This is referred to as direct peering.
data repositories, and will probably differ from the Other inter-SSP peering relationships are created
SED provisioned for use by signaling elements from to enable the establishment of sessions to public
other SSPs. identifiers for which an SSP is a transit
provider. This is referred to as indirect
peering. Some SSPs take into consideration an
SSP's role as a transit or carrier-of-record
provider when selecting a route to a public
identifier.
UC SED DATA #3 Selective peering: While an SSP may provision the UC INTERCONNECT #3 Intra-SSP SED: SSPs support the establishment of
same SED records for all other SSPs, an SSP may also sessions between their own public identifiers,
wish to provision different SED records for different not just to other SSPs public identifiers.
SSPs (e.g., if they have different peering Enabling this involves, among other things,
agreements). communicating and enabling intra-SSP signaling
points and other SED that can differ from inter-
SSP signaling points and SED.
UC SED DATA #4 LUF-only data: An SSP can choose to provison LUF-only UC INTERCONNECT #4 Selective Peering (a.k.a. per peer policies):
data in the registry. A querying SSP that receives SSPs create peering relationships with other SSPs
LUF-only data may need to rely on other mechanisms in order to establish interconnects. However,
(e.g., [RFC3263] for domain-name based LUF) to obtain SSPs peering relationships often result in
LRF information. different points of ingress or other SED for the
same set of public identifiers.
UC SED DATA #5 LUF and LRF data: An SSP can provison LUF- and LRF- UC INTERCONNECT #5 Provisioning of a delegated name server: An SSP
data in the registry. In such cases, the querying maintains a Tier 2 name server that contains the
SSP does not have to rely on mechanisms such as DNS NAPTR records that constitute the terminal step
(e.g., [RFC3263]) for routing information. in the LUF. The SSP needs to provision a
registry to direct queries for the SSP's numbers
to the Tier 2 name server. Usually queries to
the registry should return NS records, but in
cases where the Tier 2 uses a different domain
suffix from that used in the registry, CNAME and
NS records may be employed instead.
UC SED DATA #6 Target Domain as a resolvable Domain Name, 3.3. Category: SED Exchange and Discovery Models
administrative domain name, or both: The target
domain pertaining to a public identity or TN Range
can either be a DNS-resolvable domain name (i.e., via
[RFC3263]) or an administrative domain. An SSP may
also wish to provision both sets of data, and the
response is based on a default choice or the querying
entity.
UC SED DATA #7 Target Domain as an administrative domain: The target UC SED EXCHANGE #1 SED Exchange and Discovery using unified LUF/LRF:
domain for a public identity or TN Range can be an When establishing peering relationships some SSPs
administrative domain. In such cases the resolution wish to communicate or receive points of ingress
may be out of scope for this document. and other SED that contain LUF and LRF.
UC SED DATA #8 UC SED EXCHANGE #2 SED Exchange and Discovery using LUF's Domain
Name: When establishing peering relationships
some SSPs may not wish to communicate or receive
points of ingress and other SED using a registry.
They wish to only communicate or receive domain
names resolvable via [RFC3263], and this query
will then return the points of ingress or other
SED that form the LUF.
UC SED DATA #9 EDITOR's NOTE: This use case seems to be a special UC SED EXCHANGE #3 SED Exchange and Discovery using LUF's
case of LUF-only provisioning. Thoughts? Administrative Domain Identifier: When
establishing peering relationships some SSPs may
not wish to communicate or receive points of
ingress and other SED using a registry. They
wish to only communicate or receive an
administrative domain identifier, which is not
necessarily resolvable via DNS. The subsequent
process of using that administrative domain
identifier to select points of ingress or other
SED can be SSP specific and occurs outside the
context of this protocol.
Provision an authoritative name server: An SSP UC SED EXCHANGE #4 Co-existent SED Exchange and Discovery Models:
maintains a Tier 2 name server that contains the When supporting multiple peering relationships
NAPTR records that constitute the terminal step in some SSPs have the need to concurrently support
the LUF. The SSP needs to provision an registry to all three of the SED Exchange and Discovery
direct queries for the SSPs numbers to the Tier 2. Models described above, for the same set of
Usually queries to the registry should return NS lookup keys.
records, but, in cases where the Tier 2 uses a
different domain suffix from that used in the
registry, CNAME and NS records may be employed
instead.
3.1.1.3. Category: Data Aggregations 3.4. Category: SED Record Content
UC DATA #1 Aggregation of public Identifiers: The input key to a SED UC SED RECORD #1 SED Record Content: Establishing interconnects
lookup is a public identifier. Since several public between SSPs involves, among other things,
identifiers will potentially share similar (or identical) communicating points of ingress, the service types
destinations, and hence similar (or identical) SED (SIP, SIPS, etc) supported by each point of
records, provisioning the same set of SED for millions of ingress, and the relative priority of each point of
public identifiers is inefficient. Therefore, an ingress for each service type.
aggregation mechanism to 'group' public identifiers is
proposed. This aggregation is termed as a 'destination
group' in the proposed data model.
UC DATA #2 Aggregation of SED records: A complete set of session UC SED RECORD #2 Time-To-Live (TTL): For performance reasons,
establishment data may consist of more than just one SED querying SSPs sometimes cache SED that had been
record. To be able to create and use the same set of SED previously looked up for a given public identity.
records multiple times (without creating duplicates) an In order to accomplish this, SSPs sometimes specify
aggregation mechanism is required. This is termed as a the TTL associated with a given SED record.
'Routing Group' in the data model.
3.1.1.4. Category: Administration 3.5. Category: Separation and Facilitation of Data Management
UC ADMIN #1 New authoritative additions: An SSP provisions a public UC DATA #1 Separation of Provisioning Responsibility: An SSP's
identity or TN Range, as its authoritative entity (i.e., operational practices often separate the responsibility
carrier-of-record). of provisioning the points of ingress and other SED, from
the responsibility of provisioning public identifiers (or
TN ranges or RNs). For example, a network engineer can
establish a physical interconnect with a peering SSP's
network and provision the associated domain name, host,
and IP addressing information. Separately, for each new
subscriber, the SSP's provisioning systems provisions the
associated public identifiers.
UC ADMIN #2 New non-authoritative additions: An SSP provisions a UC DATA #2 Destination Groups: SSPs often provision identical SED
public identity or TN Range, as a non-authoritative for large numbers of public identifiers. Groups of
(i.e., transit) entity. public identifiers that have the same SED are created.
This grouping is know as Destination Group. SED is then
indirectly associated with that group rather than to each
individual public identity.
UC ADMIN #3 Authoritative modifications to existing entries: An SSP UC DATA #3 Route Groups: SSPs often provision identical SED for
indicates that it is the authoritative entity for an large numbers of public identifiers, and then expose that
existing public identity or TN Range. If the public relationship between a group of SED records and a group
identity or TN Range was previously associated with a of public identifiers to one or more SSPs. This combined
different authoritative entity then there are two grouping of SED records and Destination Groups
possible outcomes: a) the previous authoritative entity facilitates management of public identity SED
is disassociated, or, b) the previous authoritative relationships and the list of peers (data recipients)
entity is relegated to non-authoritative status. The that can lookup those public identifiers and receive that
choice may be dependent on the deployment scenario, and SED. This dual set of SED Records and Destination Groups
is out of scope for this document. is termed as a Route Group.
UC ADMIN #4 Non-authoritative modifications to existing entries: An 3.6. Category: Lookup Keys
SSP indicates that it is a transit provider for an
existing public identity or TN Range. In such cases,
this SSP is associated with the public identity or TN
Range, in non-authoritative status.
UC ADMIN #5 Authoritative disassociation from existing entries: An UC LOOKUP #1 Additions and deletions: SSPs often allocate and de-
SSP disassociates itself from a public identity or TN allocate specific public identifiers to and from end-
Range that it is authoritative for. If there are no users. This involves, among other things, activating
other (non-authoritative) SSPs associated with this or deactivating specific public identifiers (or TN
public identity or TN Range, then the public identity ranges or RNs), and directly (or indirectly)
may be deleted. associating them with the appropriate points of ingress
and other SED.
UC ADMIN #6 Non-authoritative disassociation from existing entries: UC LOOKUP #2 Carrier-of-Record vs Transit Lookup Key Provisioning:
A SSP disassociates itself from a public identity or TN Some inter-SSP peering relationships are created to
Range that it is linked with, as a non-authoritative enable the establishment of sessions to the lookup keys
entity. If there are no other authoritative or non- for which an SSP is the carrier-of-record. Other
authoritative entities associated with this public inter-SSP peering relationships are created to enable
identity or TN Range, the public identity may be the establishment of sessions to lookup keys for which
deleted. an SSP is a transit provider. Some SSPs take into
consideration an SSP's role as a transit or carrier-of-
record provider when selecting a route to a public
identifier.
UC ADMIN #7 Deletion of existing public identity or TN Range: A UC LOOKUP #3 Multiplicity of Identical Lookup Keys: As described in
public identity (or a TN range) is taken out of service previous use cases, SSPs provision lookup keys and
because it is no longer valid. The Registry receives a their associated SED for multiple peering SSPs, and as
delete operation and removes the public identity from both the carrier-of-record and transit provider. As a
its database. result, a given lookup key can reside in multiple
destination groups at any given time.
UC ADMIN #8 EDITOR's Note: We may need to normalize the language UC LOOKUP #4 Lookup Key Destination Group Modification: SSPs often
here to use specified terms. change the SED associated with a given lookup key.
This involves, among other things, directly or
indirectly associating them with a different point of
ingress, different services, and/or different other
SED.
Time-To-Live (TTL): For performance reasons, in favor of UC LOOKUP #5 Lookup Key Carrier-Of-Record vs Transit Modification:
localized lookups, a query entity may decide to cache SSPs may have the need to change their Carrier-Of-
the answers and selectively query the resolution server Record vs Transit role for lookup keys they previously
when either the TTL expires or as a result of another provisioned.
out of band trigger. Therefore, the publishing entity
should be able to *optionally* specify the TTL for a
given route record. If the provisioning server doesn't
support TTL option, it will result in a failure and a
well-known error should be returned in the response.
3.1.1.5. Category: Number Portability UC LOOKUP #6 Modification of authority: An SSP indicates that it is
the carrier-of-record for an existing public identity
or TN Range. If the public identity or TN Range was
previously associated with a different carrier-of-
record then there are multiple possible outcomes, such
as: a) the previous carrier-of-record is disassociated,
b) the previous carrier-of-record is relegated to
transit status, or c) the new carrier-of-record is
placed in inactive mode. The choice may be dependent
on the deployment scenario, and is out of scope for
this document.
UC NP #1 EDITOR's NOTE: We need to reconcile these two paragraphs. 3.7. Category: Number Portability
Routing Numbers: The SSP does not wish to provision UC NP #1 EDITOR's NOTE: Need to clarify this further.
individual TNs, but instead, for ease of management, wishes
to provision Routing Numbers. Each RN represents a set of
individual TNs, and that set of TNs is assumed to change
'automatically' as TNs are ported-in or ported-out. Note
that this approach requires a query to resolve a TN to an
RN prior to using the provisioned data to route.
The SSP wishes to provide in query response to public The SSP wishes to provide in query response to public
identities an associated routing number or RN. This is the identifiers an associated routing number or RN. This is
case when a set of public identities is no longer the case when a set of public identifiers is no longer
associated with original SSP but have been ported to a associated with original SSP but have been ported to a
recipient SSP who provides access to these identities via a recipient SSP who provides access to these identifiers via
switch on the SS7 network identified by the RN. In this a switch on the SS7 network identified by the RN. In this
case a destination group containing all numbers that should case a destination group containing all numbers that should
be routed to this RN needs to be created and the route be routed to this RN needs to be created and the route
group associated with this DG needs to contain the RN group associated with this DG needs to contain the RN
UC NP #2 Authoritative release: A release command associated with 3.8. Category: Misc
one or more public identities (or TN Ranges) is received
from an authoritative entity indicating his relinquishing
of authoritative "ownership" over the respective
identities.
EDITOR's NOTE: Can't this be achieved by an authoritative
disassociation?
UC NP #3 Authoritative lock error: An existing public identity (or a
TN range) is added indicating authoritative ownership by
the provisioning entity. However, there may be cases where
an explicit release is required. If so, and a release has
not been provided, this will result in an error response.
3.1.1.6. Category: PLEASE REVIEW AND SEE IF THESE NEED TO BE ADDED
UC ID #1 Global TN destinations: The SSP wishes to add or remove one
or multiple fully qualified TN destinations in a single
provisioning request.
UC ID #2 TN range destinations: The SSP wishes to add or remove one
or multiple TN range destinations in a single provisioning
request. TN ranges support number ranges that need not be
'blocks'. In other words the TN range 'start' can be any
number and the TN range 'end' can be any number that is
greater than the TN range 'start'.
UC ID #3 Non-TN destinations: An SSP chooses to peer their messaging
service with another SSPs picture/video mail service.
Allowing a user to send and receive pictures and/or video
messages to a mobile user's handset, for example. The
important aspect of this use case is that it goes beyond
simply mapping TNs to IP addresses/hostnames that describe
points-of-interconnect between peering network SSP's.
Rather, for each user the SSP provisions the subscriber's
email address (i.e. jane.doe@example.com). This mapping
allows the mobile multimedia messaging service center
(MMSC) to use the subscriber email address as the lookup
key and route messages accordingly.
UC ID #4 Separation of responsibility: An SSP's operational
practices can seperate the responsibility of provisioning
the routing information, and the associated identities, to
different entities. For example, a network engineer can
establish a physical interconnect with a peering SSP's
network and provision the associated domain name, host, and
IP addressing information. Separately, for each new
service subscription, the SSP's back office system
provisions the associated public identities.
UC ID #5 Peering offer/acceptance: An SSP offers to allow
terminations from another SSP by adding that SSP to a Data
Recipient Group it controls. This causes notification of
the offered SSP. An SSP receiving a peering offer should
be able to accept or decline the offer. If the offer is
rejected the registry should not provision corresponding
SED to the rejecting SSP. It is expected that this
capability will apply mainly in the transit case where non-
authoritative parties (in the sense of not being the
terminating SSP for an identity) wish to offer the ability
to reach the identity and originating SSPs may wish to
restrict the routes that are provisioned to their local
data repositories.
3.1.2. Requirements
EDITOR's NOTE: !!!!!THIS NEEDS TO BE REVISED AFTER WE SIGN-OFF ON THE
USE CASES!!!!!
The following data requirements apply:
DREQ1: The registry provisioning data model MUST support the
following entities: public identities, destination groups,
routing groups and data recipient groups.
DREQ2: The registry provisioning data model MUST support the UC MISC #1 Data Recipient Offer and Accept: When a peering
grouping and aggregation of public identities within relationship is established (or invalidated) SSPs
destination groups. provision (or remove) data recipients in the registry.
However, a peer may first need to accept it's role (as a
data recipient) before such a change is made effective.
Alternatively an auto-accept feature can be configured
for a given data recipient.
DREQ3: The registry provisioning data model SHOULD support the UC MISC #2 Open numbering plans: In several countries, an "open
grouping and aggregation of TN Ranges within destination numbering plan" is used, which is such that the carrier-
groups. of-record does not in fact know the complete number, but
instead only knows a portion of the E.164 number. The
rest of the digits are handled by a PBX off of that
carrier-of-record, and even the number of those digit is
not fixed. For example, an SSP can be the carrier-of-
record for "+123456789", and is also the carrier-of-
record for every possible expansion of that number such
as "+12345678901" and "+123456789012", even though the
SSP does not know what those expansions could be, because
the PBX decides that. This can be described as the
carrier-of-record effectively being authoritative for a
"prefix".
DREQ4: The registry provisioning data model SHOULD support the 4. Requirements
grouping and aggregation of RNs within destination groups.
The following functional requirements apply: This Section lists the requirements based on the use cases in
Section 3. Unless explicitly stated as optional, the registry
provisioning interface must support these requirements.
FREQ1: The registry provisioning interface MUST support the REQ1: a) Real-time, b) non-real-time bulk, and c) multi-request
creation and deletion of: public identities, destination provisioning.
groups, routing groups and data recipient groups.
FREQ2: The registry provisioning interface MUST support near-real- REQ2: Inter-SSP SED with support for direct and indirect peering.
time, non-real-time and deferred provisioning operations.
FREQ3: The registry provisioning interface MUST support the REQ3: Intra-SSP SED.
following types of modifications:
- reassignment of one or more public identities from one REQ4: Selective peering.
destination group to another;
- reassignment of one data recipient from one destination REQ5: Provisioning of a delegated name server.
group to another;
- association and disassociation of a "Default Routing REQ6: The following SED Exchange and discovery models (concurrently
Group" with a Data Recipient; and, for the same public identifier): a) unified LUF/LRF, b) LUF-
only with domain name, and c) LUF-only with administrative
domain.
- identification of a destination group as a "Carrier of REQ7: Provisioning of SED Record content
Record" (COR) destination group or a "Transit" destination
group.
FREQ4: When an entity with a different client identifier than that REQ8: (Optional) Communicate the TTL for a given SED Record.
of the carrier of record for a public identity in a
destination group adds a new SSP to a destination recipient
group associated with that destination group, the registry
provisioning interface MUST: a) notify the new SSP of the
updated routing information (which constitutes a peering
offer) b) not provision the SED to the new SSP's LDR unless
the new SSP signals acceptance.
FREQ5: The registry provisioning interface MUST separate the REQ9: Separation of responsibility of provisioning the points of
provisioning of the routing information from the associated ingress and other SED, from the responsibility of
identities. provisioning public identifiers.
FREQ6: The registry provisioning protocol MUST define a discrete REQ10: Additions and deletions of public identifiers, TN ranges and
set of response codes for each supported protocol operation. RNs.
Each response code MUST definitively indicate whether the
operation succeeded or failed. If the operation failed, the
response code MUST indicate the reason for the failure.
FREQ7: The registry provisioning interface MUST allow an SSP to REQ11: Provisioning of, and modifications to, the following
define multiple sub-identities that can be used in data aggregations: destination group and route groups.
recipient groups
FREQ8: The registry provisioning interface MUST define the REQ12: Support the distinction between an SSP as a carrier-of-record
concurrency rules, locking rules, and race conditions that provider versus transit provider.
underlie the implementation of that protocol operation and
that result from the coexistence of protocol operations that
can operate on multiple objects in a single operation and
bulk file operations that may process for an extended period
of time.
FREQ9: The registry provisioning interface MUST support the ability REQ13: Support for lookup keys having identical business keys (the
for a Data Recipient to optionally define a Routing Group as public identity string, the digits that comprise an RN, the
their Default Routing Group, such that if the Data Recipient start and end point of a TN range's range) that concurrently
performs a resolution request and the lookup key being exist across multiple destination groups and where each
resolved is not found in the Destination Groups visible to destination group may be managed by different SSPs.
that Data Recipient then the SED Records associated with the
Default Routing Group shall be returned in the resolution
response.
FREQ10: The registry provisioning interface MUST support the ability Editor's note: We need to simplify the above requirement.
for the owner of a Routing Group to optionally define Source
Based Routing Criteria to be associated with their Routing
Group(s). The Source Based Routing Criteria will include
the ability to specify zero or more of the following in
association with a given Routing Group: Resolution Client IP
Address(es) or Domain Names, Calling Party URI(s). The
result will be that the resolution server would evaluate the
characteristics of the Source, compare them against Source
Based Routing Criteria associated with the Routing Groups
visible to that Data Recipient, and return any SED Records
associated with the matching Routing Groups.
FREQ11: The registry provisioning interface MUST track, via a client REQ14: Modification of lookup keys by allowing them to be moved to a
identifier, the entity provisioning each data object (e.g. different destination group via an atomic operation.
Destination Group or Routing Group ). This client
identifier will identify the entity that is responsible for
that data object from a protocol interface perspective.
This client identifier SHOULD be tied to the session
authentication credentials that the client uses to connect
into to the registry.
The registry provisioning interface MUST incorporate a data REQ15: SSPs to change their Carrier-Of- Record vs Transit role.
recipient identifier that identifies the organization
responsible for each data object from a business
perspective. This organization identifier may or may not
ultimately refer to the same organization that the client
Identifier refers to. The separation of the data recipient
identifier from the client identifier will allow for the
separation of the two entities, when the need arises.
Exactly one client identifier MUST be allowed to provision REQ16: Support for modification of authority with the conditions
objects under a given data recipient identifier. But a described in UC LOOKUP #6.
client identifier MUST be allowed to provision objects under
multiple data recipient identifiers.
Objects provisioned under one "Protocol Client Identifier" REQ17: Destination group offer and acceptance (optionally support
MUST NOT be alterable by a provisioning session established auto-acceptance).
by another "Protocol Client Identifier".
FREQ12: The registry provisioning protocol MUST allow an SSP to REQ18: Open numbering plans.
provision LUF-only or LUF+LRF data in the registry via a
single provisioning interface and data model.
4. Security Considerations 5. Security Considerations
Session establishment data allows for the routing of SIP sesions Session establishment data allows for the routing of SIP sesions
within, and between, SIP Service Providers. Access to this data can within, and between, SIP Service Providers. Access to this data can
compromise the routing of sessions and expose a SIP Service Provider compromise the routing of sessions and expose a SIP Service Provider
to attacks such as service hijacking and denial of service. The data to attacks such as service hijacking and denial of service. The data
can be compromised by vulnerable functional components and interfaces can be compromised by vulnerable functional components and interfaces
identified within the use cases. identified within the use cases.
5. IANA Considerations 6. IANA Considerations
This document does not register any values in IANA registries. This document does not register any values in IANA registries.
6. Acknowledgments 7. Acknowledgments
This document is a result of various discussions held by the DRINKS This document is a result of various discussions held by the DRINKS
requirements design team, which is comprised of the following requirements design team, which is comprised of the following
individuals, in alphabetical order: Deborah A Guyton (Telcordia), individuals, in alphabetical order: Deborah A Guyton (Telcordia),
Gregory Schumacher (Sprint), Jean-Francois Mule (CableLabs), Kenneth Gregory Schumacher (Sprint), Jean-Francois Mule (CableLabs), Kenneth
Cartwright (TNS, Inc.), Manjul Maharishi (TNS, Inc.), Penn Pfautz Cartwright (TNS, Inc.), Manjul Maharishi (TNS, Inc.), Penn Pfautz
(AT&T Corp), Ray Bellis (Nominet), the co-chairs (Richard Shockey, (AT&T Corp), Ray Bellis (Nominet), the co-chairs (Richard Shockey,
Nuestar; and Alexander Mayrhofer, enum.at GmbH), and the editors of Nuestar; and Alexander Mayrhofer, enum.at GmbH), and the editors of
this document. this document.
This specific version of the document is a result of contributions This specific version of the document is a result of contributions
from, primarily, David Schwartz (XConnect), Kenneth Cartwright (TNS, from, primarily, David Schwartz (XConnect), Kenneth Cartwright (TNS,
Inc.) and Syed Ali (Neustar, Inc.). Other participants who reviewed Inc.) and Syed Ali (Neustar, Inc.). Other participants who reviewed
and provided comments include: Alexander Mayrhofer (enum.at GmbH), and provided comments include: Alexander Mayrhofer (enum.at GmbH),
Jean-Francois Mule (CableLabs), Manjul Maharishi (TNS, Inc.), and Jean-Francois Mule (CableLabs), Manjul Maharishi (TNS, Inc.), Hadriel
other participants on the DRINKS mailing list. Kaplan (Acme Packet) and other participants on the DRINKS mailing
list.
7. References 8. References
7.1. Normative References 8.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
7.2. Informative References 8.2. Informative References
[RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
A., Peterson, J., Sparks, R., Handley, M., and E. A., Peterson, J., Sparks, R., Handley, M., and E.
Schooler, "SIP: Session Initiation Protocol", RFC 3261, Schooler, "SIP: Session Initiation Protocol", RFC 3261,
June 2002. June 2002.
[RFC3263] Rosenberg, J. and H. Schulzrinne, "Session Initiation [RFC3263] Rosenberg, J. and H. Schulzrinne, "Session Initiation
Protocol (SIP): Locating SIP Servers", RFC 3263, Protocol (SIP): Locating SIP Servers", RFC 3263,
June 2002. June 2002.
[RFC5067] Lind, S. and P. Pfautz, "Infrastructure ENUM
Requirements", RFC 5067, November 2007.
[RFC5486] Malas, D. and D. Meyer, "Session Peering for Multimedia [RFC5486] Malas, D. and D. Meyer, "Session Peering for Multimedia
Interconnect (SPEERMINT) Terminology", RFC 5486, Interconnect (SPEERMINT) Terminology", RFC 5486,
March 2009. March 2009.
Author's Address Author's Address
Sumanth Channabasappa Sumanth Channabasappa
CableLabs CableLabs
858 Coal Creek Circle 858 Coal Creek Circle
Louisville, CO 80027 Louisville, CO 80027
 End of changes. 94 change blocks. 
407 lines changed or deleted 355 lines changed or added

This html diff was produced by rfcdiff 1.38. The latest version is available from http://tools.ietf.org/tools/rfcdiff/