draft-ietf-drinks-usecases-requirements-05.txt | draft-ietf-drinks-usecases-requirements-06.txt | |||
---|---|---|---|---|
DRINKS S. Channabasappa, Ed. | DRINKS S. Channabasappa, Ed. | |||
Internet-Draft CableLabs | Internet-Draft CableLabs | |||
Intended status: Informational March 13, 2011 | Intended status: Informational August 12, 2011 | |||
Expires: September 14, 2011 | Expires: February 13, 2012 | |||
DRINKS Use cases and Protocol Requirements | Data for Reachability of Inter/tra-NetworK SIP (DRINKS) Use cases and | |||
draft-ietf-drinks-usecases-requirements-05 | Protocol Requirements | |||
draft-ietf-drinks-usecases-requirements-06 | ||||
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 Session | |||
Provider components, to assist with session routing. Specifically, | Initiation Protocol (SIP) Service Provider components, to assist with | |||
the current version of this document focuses on the provisioning of | session routing. Specifically, this document focuses on the | |||
one such element, termed the registry. | provisioning of one such element, termed the registry. | |||
Status of this Memo | Status of this Memo | |||
This Internet-Draft is submitted to IETF in full conformance with the | This Internet-Draft is submitted to IETF in full conformance with the | |||
provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
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 September 14, 2011. | This Internet-Draft will expire on February 13, 2012. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2011 IETF Trust and the persons identified as the | Copyright (c) 2011 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 | |||
skipping to change at page 2, line 16 | skipping to change at page 2, line 17 | |||
1. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
2. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 2. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
3. Registry Use Cases . . . . . . . . . . . . . . . . . . . . . . 9 | 3. Registry Use Cases . . . . . . . . . . . . . . . . . . . . . . 9 | |||
3.1. Category: Provisioning Mechanisms . . . . . . . . . . . . 9 | 3.1. Category: Provisioning Mechanisms . . . . . . . . . . . . 9 | |||
3.2. Category: Interconnect Schemes . . . . . . . . . . . . . . 9 | 3.2. Category: Interconnect Schemes . . . . . . . . . . . . . . 9 | |||
3.3. Category: SED Exchange and Discovery Models . . . . . . . 11 | 3.3. Category: SED Exchange and Discovery Models . . . . . . . 11 | |||
3.4. Category: SED Record Content . . . . . . . . . . . . . . . 12 | 3.4. Category: SED Record Content . . . . . . . . . . . . . . . 12 | |||
3.5. Category: Separation and Facilitation of Data | 3.5. Category: Separation and Facilitation of Data | |||
Management . . . . . . . . . . . . . . . . . . . . . . . . 12 | Management . . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
3.6. Category: Lookup Keys . . . . . . . . . . . . . . . . . . 13 | 3.6. Category: Public Identifiers, TN Ranges and RNs . . . . . 13 | |||
3.7. Category: Misc . . . . . . . . . . . . . . . . . . . . . . 14 | 3.7. Category: Misc . . . . . . . . . . . . . . . . . . . . . . 14 | |||
4. Requirements . . . . . . . . . . . . . . . . . . . . . . . . . 16 | 4. Requirements . . . . . . . . . . . . . . . . . . . . . . . . . 16 | |||
4.1. Provisioning Mechanisms . . . . . . . . . . . . . . . . . 16 | 4.1. Provisioning Mechanisms . . . . . . . . . . . . . . . . . 16 | |||
4.2. Interconnect Schemes . . . . . . . . . . . . . . . . . . . 16 | 4.2. Interconnect Schemes . . . . . . . . . . . . . . . . . . . 16 | |||
4.3. SED Exchange and Discovery Requirements . . . . . . . . . 16 | 4.3. SED Exchange and Discovery Requirements . . . . . . . . . 17 | |||
4.4. SED Record Content Requirements . . . . . . . . . . . . . 17 | 4.4. SED Record Content Requirements . . . . . . . . . . . . . 17 | |||
4.5. Data Management Requirements . . . . . . . . . . . . . . . 17 | 4.5. Data Management Requirements . . . . . . . . . . . . . . . 17 | |||
4.6. Lookup Key Requirements . . . . . . . . . . . . . . . . . 18 | 4.6. Public Identifier, TN Range and RN Requirements . . . . . 18 | |||
4.7. Misc. Requirements . . . . . . . . . . . . . . . . . . . . 18 | 4.7. Misc. Requirements . . . . . . . . . . . . . . . . . . . . 18 | |||
5. Security Considerations . . . . . . . . . . . . . . . . . . . 20 | 5. Security Considerations . . . . . . . . . . . . . . . . . . . 20 | |||
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 21 | 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 21 | |||
7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 22 | 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 22 | |||
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 23 | 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 23 | |||
8.1. Normative References . . . . . . . . . . . . . . . . . . . 23 | 8.1. Normative References . . . . . . . . . . . . . . . . . . . 23 | |||
8.2. Informative References . . . . . . . . . . . . . . . . . . 23 | 8.2. Informative References . . . . . . . . . . . . . . . . . . 23 | |||
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 24 | Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 24 | |||
1. Terminology | 1. Terminology | |||
skipping to change at page 3, line 17 | skipping to change at page 3, line 17 | |||
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, SSP), [RFC5486] | This document reuses terms from [RFC3261] (e.g., SIP, SSP), [RFC5486] | |||
(e.g., LUF, LRF, SED) and [RFC5067] (carrier-of-record and transit | (e.g., LUF, LRF, SED) and [RFC5067] (carrier-of-record and transit | |||
provider). In addition, this document specifies the following | 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. A Registry can | establishment data (SED) and related information. A registry can | |||
be part of an SSP as well as an independent entity. | be part of an SSP or be an independent entity. | |||
Registrar: An entity that provisions and manages data into the | Registrar: An entity that provisions and manages data into the | |||
registry. An SSP can act as its own registrar or - additionally | registry. An SSP can act as its own registrar or - additionally | |||
or alternatively - delegate this function to a third party who | or alternatively - delegate this function to a third party (who | |||
acts as its registrar. | acts as its registrar). | |||
Local Data Repository: The data store component of an addressing | Local Data Repository(LDR): The data store component of an | |||
server that provides resolution responses. | addressing server that provides resolution responses. | |||
Public Identifier: A public identifier refers to a telephone number | Public Identifier: A public identifier refers to a telephone number | |||
(TN), a SIP address, or other identity as deemed appropriate, such | (TN), a SIP address, or other identity as deemed appropriate, such | |||
as a globally routable URI of a user address (e.g., | as a globally routable URI of a user address (e.g., | |||
sip:john.doe@example.net). | sip:john.doe@example.net). | |||
TN Range: A numerically contiguous set (or, in the case of an open | Telephone Number (TN) Range: A numerically contiguous set of | |||
numbering plan, a prefix) of telephone numbers whose SED can be | telephone numbers. | |||
looked up (resolved). | ||||
Telephone Number (TN) Prefix: A preceding portion of the digits | ||||
common across a series of E.164 numbers. A given TN prefix will | ||||
include all the valid E.164 numbers that satisfy the expansion | ||||
rules mandated by the country or the region that the TNs comply | ||||
with. | ||||
Routing Number (RN): A Routing Number. For more information, see | ||||
[RFC4694]. | ||||
RN: A Routing Number. See [RFC4694] for details | ||||
Destination Group: An aggregation of a set of public identifiers, | Destination Group: An aggregation of a set of public identifiers, | |||
TN Ranges, or RNs that share common SED which is exposed to a | TN Ranges, or RNs that share common SED, which is exposed to a | |||
common set of peers. | common set of peers. | |||
Data Recipient: An entity with visibility into a specific set of | Data Recipient: An entity with visibility into a specific set of | |||
public identifiers, the destination groups that contain these | public identifiers (or TN Ranges or RNs), the destination groups | |||
public identifiers, and a route group's SED records. | that contain these public identifiers (or TN Ranges and RNs), and | |||
a route group's SED records. | ||||
Route Group: An aggregation that contains a related set of SED | Route Group: An aggregation that contains a related set of SED | |||
records, and is associated with a set of destination groups. | records, and is associated with a set of destination groups. | |||
Route groups facilitate the management of SED records for one or | Route groups facilitate the management of SED records for one or | |||
more data recipients. | more data recipients. | |||
2. Overview | 2. Overview | |||
The SPEERMINT WG specifies Session Establishment Data, or SED, as the | [RFC5486] (Section 3.3) defines Session Establishment Data, or SED, | |||
data used to route a call to the next hop associated with the called | as the data used to route a call to the next hop associated with the | |||
domain's ingress point. More specifically, the SED is the set of | called domain's ingress point. More specifically, the SED is the set | |||
parameters that the outgoing signaling path border elements (SBEs) | of parameters that the outgoing signaling path border elements (SBEs) | |||
need to establish a session. See Section 3.3 of [RFC5486] for more | need to establish a session. However, [RFC5486] does not specify the | |||
details. | protocol(s) or format(s) to provision SED. To pave the way to | |||
specify such a protocol, this document presents the use cases and | ||||
The specification of the format and protocols to provision SED is a | associated requirements that have been proposed to provision SED | |||
task taken up by the DRINKS WG. This document contains the use cases | data. | |||
and requirements that have been proposed in this regard. | ||||
SED is typically created by the terminating or next-hop SSP and | SED is typically created by the terminating or next-hop SSP and | |||
consumed by the originating SSP. To avoid a multitude of bilateral | consumed by the originating SSP. To avoid a multitude of bilateral | |||
exchanges, SED is often shared via intermediary systems - termed | exchanges, SED is often shared via intermediary systems - termed | |||
registries within this document. Such registries receive data via | registries within this document. Such registries receive data via | |||
provisioning transactions from SSPs, and then distribute the received | provisioning transactions from SSPs, and then distribute the received | |||
data into Local Data Repositories. These local data repositories are | data into Local Data Repositories (LDRs). These LDRs are used for | |||
used for call routing by outgoing SBEs. This is depicted in | call routing by outgoing SBEs. This is depicted in Figure 1. | |||
Figure 1. | ||||
*-------------* | *-------------* | |||
1. Provision SED | | | 1. Provision SED | | | |||
-----------------------> | Registry | | -----------------------> | Registry | | |||
| | | | | | |||
*-------------* | *-------------* | |||
/ \ | / \ | |||
/ \ | / \ | |||
/ \ | / \ | |||
/ \ | / \ | |||
skipping to change at page 6, line 7 | skipping to change at page 6, line 5 | |||
/ 2.Distribute \ | / 2.Distribute \ | |||
/ SED \ | / SED \ | |||
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 document, we primarily address the use cases and requirements | In this document, we address the use cases and requirements for | |||
for provisioning registries. Future revisions may include data | provisioning registries. Data distribution to local data | |||
distribution to local data repositories. The resulting provisioning | repositories is out of scope for this document. The resulting | |||
protocol can be used to provision data into a registry, or between | provisioning protocol can be used to provision data into a registry, | |||
multiple registries operating in parallel. In Figure 2, the case of | or between multiple registries operating in parallel. In Figure 2, | |||
multiple registries is depicted with dotted lines. | the case of multiple registries is depicted with dotted lines. | |||
. . . . . . . | . . . . . . . | |||
. . . . . . . registry . . . . . . . | . . . . . . . registry . . . . . . . | |||
. . . . . . . . . | . . . . . . . . . | |||
. . . | . . . | |||
. . . | . . . | |||
. . provision . | . . provision . | |||
+-----------+ . +-----------+ | +-----------+ . +-----------+ | |||
| | provision +----------+ provision | | | | | provision +----------+ provision | | | |||
| SSP 1 |------------>| Registry |<-----------| SSP 2 | | | SSP 1 |------------>| Registry |<-----------| SSP 2 | | |||
| | +----------+ | | | | | +----------+ | | | |||
| +-----+ | /\ | +-----+ | | | +-----+ | /\ | +-----+ | | |||
| | LDR | <-------------------- ------------------>| LDR | | | | | LDR | <-------------------- ------------------>| LDR | | | |||
| +-----+ | distribute distribute | +-----+ | | | +-----+ | distribute distribute | +-----+ | | |||
| | | | | | | | | | |||
+-----------+ +-----------+ | +-----------+ +-----------+ | |||
. . | . . | |||
. . . . . . . . . . . . . . . . . . . . . . . . | . . . . . . . . . . . . . . . . . . . . . . . . | |||
(provision / distribute) | (provision / distribute) | |||
Where, LDR = Local Data Repository | ||||
Figure 2: Functional Overview | Figure 2: Functional Overview | |||
In addition, this document proposes the following aggregation groups | In addition, this document proposes two aggregation groups, as | |||
with regards to SED (refer to the use cases in Section 3.5 for the | follows: | |||
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 Route Group. | o Aggregation of SED records into a route group. | |||
The data model depicted in Figure 3 shows the various entities, | The use cases in Section 3.5 provide the rationale. The data model | |||
aggregations and the relationships between them. | depicted in Figure 3 shows the various entities, aggregations and the | |||
relationships between them. | ||||
+---------+ +--------------+ +---------+ | +---------+ +--------------+ +---------+ | |||
| Data |0..n 0..n| ROUTE | 1 0..n| SED | | | Data |0..n 0..n| Route | 1 0..n| SED | | |||
|Recepient|------------| GROUP | --------------| Record | | |Recepient|------------| Group | --------------| Record | | |||
+---------+ +--------------+ +---------+ | +---------+ +--------------+ +---------+ | |||
|0..n |0..n | |0..n |0..n | |||
| | | | | | |||
| | | | | | |||
| | | | | | |||
|0..n | | |0..n | | |||
1 +--------------+ 0..1 | | 1 +--------------+ 0..1 | | |||
---------| DESTINATION |--------- | | ---------| Destination |--------- | | |||
| | GROUP | | | | | | Group | | | | |||
| +--------------+ | | | | +--------------+ | | | |||
| | | | | | | | | | |||
| 1| | | | | 1| | | | |||
| | | | | | | | | | |||
| | | | | | | | | | |||
0..n | 0..n | | 0..n | | 0..n | 0..n | | 0..n | | |||
+---------+ +---------+ +----------+ | | +---------+ +---------+ +----------+ | | |||
| RN | | TN | | Public |---- | | RN | | TN | | Public |---- | |||
| | | Range | |Identifier| 1 | | | | Range | |Identifier| 1 | |||
+---------+ +---------+ +----------+ | +---------+ +---------+ +----------+ | |||
Figure 3: Data Model Diagram | Figure 3: Data Model Diagram | |||
The relationships are as described below: | The relationships are as described below: | |||
- A Public Identifier object can be directly related to zero or more | - A public identifier object can be directly related to zero or more | |||
SED Record objects, and a SED Record object can be related to | SED Record objects, and a SED Record object can be related to | |||
exactly one Public Identifier object. | exactly one public identifier object. | |||
- A Destination Group object can contain zero or more TN Range | - A destination group object can contain zero or more TN Range | |||
objects, and a TN Range object can be contained in exactly one | objects, and a TN Range object can be contained in exactly one | |||
Destination Group object. | destination group object. | |||
- A Destination Group object can contain zero or more Public | - A destination group object can contain zero or more public | |||
Identifier objects, and a Public Identifier object can be | identifier objects, and a public identifier object can be | |||
contained in exactly one Destination Group object. | contained in exactly one destination group object. | |||
- A Destination Group object can contain zero or more RN objects, | - A destination group object can contain zero or more RN objects, | |||
and an RN object can be contained in exactly one Destination Group | and an RN object can be contained in exactly one destination group | |||
object. | object. | |||
- A Route Group object can contain zero or more SED Record objects, | - A route group object can contain zero or more SED Record objects, | |||
and a SED Record object can be contained in exactly one Route | and a SED Record object can be contained in exactly one route | |||
Group object. | group object. | |||
- A Route Group object can be associated with zero or more | - A route group object can be associated with zero or more | |||
Destination Group objects, and a Destination Group object can be | destination group objects, and a destination group object can be | |||
associated with zero or more Route Group objects. | associated with zero or more route group objects. | |||
- A Data Recipient object can be associated with zero or more Route | - A data recipient object can be associated with zero or more route | |||
Group objects, and a Route Group object can refer to zero or more | group objects, and a route group object can refer to zero or more | |||
Data Recipient objects. | data recipient objects. | |||
3. Registry Use Cases | 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 | to several security considerations (see Section Section 5). This | |||
be out of scope of this document. | document does not address these considerations. The protocols that | |||
implement these use cases (and associated requirements) will need to | ||||
explicitly identify and address them. | ||||
3.1. Category: Provisioning Mechanisms | 3.1. Category: Provisioning Mechanisms | |||
UC PROV #1 Real-Time Provisioning: Registrars have operational | UC PROV #1 Real-Time Provisioning: Registrars have operational | |||
systems that provision public identifiers, in association | systems that provision public identifiers (or TN Ranges | |||
with their SED. These systems often function in a manner | or RNs), in association with their SED. These systems | |||
that expect or require that these provisioning activities | often function in a manner that expect or require that | |||
be completed immediately, as apposed to an out-of-band or | these provisioning activities be completed immediately, | |||
batch provisioning scheme that can occur at a later time. | as apposed to an out-of-band or batch provisioning scheme | |||
This type of provisioning is referred to as real-time, or | that can occur at a later time. This type of | |||
on-demand provisioning. | provisioning is referred to as real-time, or on-demand | |||
provisioning. | ||||
UC PROV #2 Non-Real-Time Bulk Provisioning: Operational systems that | UC PROV #2 Non-Real-Time Bulk Provisioning: Operational systems that | |||
provision public identifiers and associated SED sometimes | provision public identifiers (or TN Ranges or RNs) and | |||
expect that these provisioning activities be batched up | associated SED sometimes expect that these provisioning | |||
into large sets. These batched requests are then | activities be batched up into large sets. These batched | |||
processed using a provisioning mechanism that is out-of- | requests are then processed using a provisioning | |||
band and occurs at a later time. | mechanism that is out-of-band and occurs at a later time. | |||
UC PROV #3 Multi-Request Provisioning: Regardless of whether a | UC PROV #3 Multi-Request Provisioning: Regardless of whether a | |||
provisioning action is performed in real-time or not, | provisioning action is performed in real-time or not, | |||
SSPs often perform several provisioning actions on | SSPs often perform several provisioning actions on | |||
several objects in a single request or transaction. This | several objects in a single request or transaction. This | |||
is done for performance and scalability reasons, and for | is done for performance and scalability reasons, and for | |||
transactional reasons, such that the set of provisioning | transactional reasons, such that the set of provisioning | |||
actions either fail or succeed atomically, as a complete | actions either fail or succeed atomically, as a complete | |||
set. | set. | |||
skipping to change at page 9, line 40 | skipping to change at page 10, line 4 | |||
UC PROV #3 Multi-Request Provisioning: Regardless of whether a | UC PROV #3 Multi-Request Provisioning: Regardless of whether a | |||
provisioning action is performed in real-time or not, | provisioning action is performed in real-time or not, | |||
SSPs often perform several provisioning actions on | SSPs often perform several provisioning actions on | |||
several objects in a single request or transaction. This | several objects in a single request or transaction. This | |||
is done for performance and scalability reasons, and for | is done for performance and scalability reasons, and for | |||
transactional reasons, such that the set of provisioning | transactional reasons, such that the set of provisioning | |||
actions either fail or succeed atomically, as a complete | actions either fail or succeed atomically, as a complete | |||
set. | set. | |||
3.2. Category: Interconnect Schemes | 3.2. Category: Interconnect Schemes | |||
UC INTERCONNECT #1 Inter-SSP SED: SSPs create peering relationships | UC INTERCONNECT #1 Inter-SSP SED: SSPs create peering relationships | |||
with other SSPs in order to establish | with other SSPs in order to establish | |||
interconnects. Establishing these interconnects | interconnects. Establishing these interconnects | |||
involves, among other things, communicating and | involves, among other things, communicating and | |||
enabling the points of ingress and other SED used | enabling the points of ingress and other SED used | |||
to establish sessions to a set of public | to establish sessions. | |||
identifiers. | ||||
UC INTERCONNECT #2 Direct vs Indirect Peering: Some inter-SSP | UC INTERCONNECT #2 Direct and Indirect Peering: Some inter-SSP | |||
peering relationships are created to enable the | peering relationships are created to enable the | |||
establishment of sessions to the public | establishment of sessions to the public | |||
identifiers for which an SSP is the carrier-of- | identifiers for which an SSP is the carrier-of- | |||
record. This is referred to as direct peering. | record. This is referred to as direct peering. | |||
Other inter-SSP peering relationships are created | Other inter-SSP peering relationships are created | |||
to enable the establishment of sessions to public | to enable the establishment of sessions to public | |||
identifiers for which an SSP is a transit | identifiers for which an SSP is a transit | |||
provider. This is referred to as indirect | provider. This is referred to as indirect | |||
peering. Some SSPs take into consideration an | peering. Some SSPs take into consideration an | |||
SSP's role as a transit or carrier-of-record | SSP's role as a transit or carrier-of-record | |||
skipping to change at page 10, line 33 | skipping to change at page 10, line 38 | |||
Enabling this involves, among other things, | Enabling this involves, among other things, | |||
communicating and enabling intra-SSP signaling | communicating and enabling intra-SSP signaling | |||
points and other SED that can differ from inter- | points and other SED that can differ from inter- | |||
SSP signaling points and SED. | SSP signaling points and SED. | |||
UC INTERCONNECT #4 Selective Peering (a.k.a. per peer policies): | UC INTERCONNECT #4 Selective Peering (a.k.a. per peer policies): | |||
SSPs create peering relationships with other SSPs | SSPs create peering relationships with other SSPs | |||
in order to establish interconnects. However, | in order to establish interconnects. However, | |||
SSPs peering relationships often result in | SSPs peering relationships often result in | |||
different points of ingress or other SED for the | different points of ingress or other SED for the | |||
same set of public identifiers. Selective | same set of public identifiers. This is referred | |||
peering is done on a Route Group basis. | to as selective peering, and is done on a route | |||
group basis. | ||||
UC INTERCONNECT #5 Provisioning of a delegated hierarchy: An SSP may | UC INTERCONNECT #5 Provisioning of a delegated hierarchy: An SSP may | |||
decide to maintain its own infrastructure to | decide to maintain its own infrastructure to | |||
contain the route records that constitute the | contain the route records that constitute the | |||
terminal step in the LUF. In such cases, the SSP | terminal step in the LUF. In such cases, the SSP | |||
will provision registries to direct queries for | will provision registries to direct queries for | |||
the SSP's public identifiers to its own | the SSP's public identifiers to its own | |||
infrastructure, rather than provisioning the | infrastructure, rather than provisioning the | |||
route records directly. For example, in the case | route records directly. For example, in the case | |||
of DNS-based route records, such a delegated | of DNS-based route records, such a delegated | |||
skipping to change at page 11, line 36 | skipping to change at page 11, line 45 | |||
UC SED EXCHANGE #3 SED Exchange and Discovery using LUF's | UC SED EXCHANGE #3 SED Exchange and Discovery using LUF's | |||
Administrative Domain Identifier: When | Administrative Domain Identifier: When | |||
establishing peering relationships some SSPs may | establishing peering relationships some SSPs may | |||
not wish to communicate or receive points of | not wish to communicate or receive points of | |||
ingress and other SED using a registry. They | ingress and other SED using a registry. They | |||
wish to only communicate or receive an | wish to only communicate or receive an | |||
administrative domain identifier, which is not | administrative domain identifier, which is not | |||
necessarily resolvable via DNS. The subsequent | necessarily resolvable via DNS. The subsequent | |||
process of using that administrative domain | process of using that administrative domain | |||
identifier to select points of ingress or other | identifier to select points of ingress or other | |||
SED can be SSP specific and occurs outside the | SED can be SSP specific and is out of scope for | |||
context of this protocol. | this document. | |||
UC SED EXCHANGE #4 Co-existent SED Exchange and Discovery Models: | UC SED EXCHANGE #4 Co-existent SED Exchange and Discovery Models: | |||
When supporting multiple peering relationships | When supporting multiple peering relationships | |||
some SSPs have the need to concurrently support | some SSPs have the need to concurrently support | |||
all three of the SED Exchange and Discovery | all three of the SED Exchange and Discovery | |||
Models described above, for the same set of | Models already described in this Section | |||
Public Identifiers. | (Section 3.3), for the same set of public | |||
identifiers. | ||||
3.4. Category: SED Record Content | 3.4. Category: SED Record Content | |||
UC SED RECORD #1 SED Record Content: Establishing interconnects | UC SED RECORD #1 SED Record Content: Establishing interconnects | |||
between SSPs involves, among other things, | between SSPs involves, among other things, | |||
communicating points of ingress, the service types | communicating points of ingress, the service types | |||
(SIP, SIPS, etc) supported by each point of | (SIP, SIPS, etc) supported by each point of | |||
ingress, and the relative priority of each point of | ingress, and the relative priority of each point of | |||
ingress for each service type. | ingress for each service type. | |||
UC SED RECORD #2 Time-To-Live (TTL): For performance reasons, | UC SED RECORD #2 Time-To-Live (TTL): For performance reasons, | |||
querying SSPs sometimes cache SED that had been | querying SSPs sometimes cache SED that had been | |||
previously looked up for a given public identity. | previously looked up for a given public identifier. | |||
In order to accomplish this, SSPs sometimes specify | In order to accomplish this, SSPs sometimes specify | |||
the TTL associated with a given SED record. | the TTL associated with a given SED record. | |||
3.5. Category: Separation and Facilitation of Data Management | 3.5. Category: Separation and Facilitation of Data Management | |||
UC DATA #1 Separation of Provisioning Responsibility: An SSP's | UC DATA #1 Separation of Provisioning Responsibility: An SSP's | |||
operational practices often separate the responsibility | operational practices often separate the responsibility | |||
of provisioning the points of ingress and other SED, from | of provisioning the points of ingress and other SED, from | |||
the responsibility of provisioning public identifiers (or | the responsibility of provisioning public identifiers (or | |||
TN ranges or RNs). For example, a network engineer can | TN ranges or RNs). For example, a network engineer can | |||
establish a physical interconnect with a peering SSP's | establish a physical interconnect with a peering SSP's | |||
network and provision the associated domain name, host, | network and provision the associated domain name, host, | |||
and IP addressing information. Separately, for each new | and IP addressing information. Separately, for each new | |||
subscriber, the SSP's provisioning systems provision the | subscriber, the SSP's provisioning systems provision the | |||
associated public identifiers. | associated public identifiers. | |||
UC DATA #2 Destination Groups: SSPs often provision identical SED | UC DATA #2 Destination Groups: SSPs often provision identical SED | |||
for large numbers of public identifiers. For reasons of | for large numbers of public identifiers (or TN Ranges or | |||
efficiency, groups of public identifiers that have the | RNs). For reasons of efficiency, groups of public | |||
same SED can be aggregated. These aggregations are known | identifiers that have the same SED can be aggregated. | |||
as destination groups. The SED is then indirectly | ||||
associated with destination groups rather than with each | These aggregations are known as destination groups. The | |||
individual public identity. | SED is then indirectly associated with destination groups | |||
rather than with each individual public identifier (or TN | ||||
Ranges or RNs). | ||||
UC DATA #3 Route Groups: SSPs often provision identical SED for | UC DATA #3 Route Groups: SSPs often provision identical SED for | |||
large numbers of public identifiers, and then expose that | large numbers of public identifiers (or TN Ranges or | |||
relationship between a group of SED records and a group | RNs), and then expose that relationship between a group | |||
of public identifiers to one or more SSPs. This combined | of SED records and a group of public identifiers (or TN | |||
grouping of SED records and Destination Groups | Ranges or RNs) to one or more SSPs. This combined | |||
facilitates management of public identity SED | grouping of SED records and destination groups | |||
relationships and the list of peers (data recipients) | facilitates efficient management of relationships and the | |||
that can lookup those public identifiers and receive that | list of peers (data recipients) that can lookup public | |||
SED. This dual set of SED Records and Destination Groups | identifiers and receive the associated SED. This dual | |||
is termed as a Route Group. | set of SED Records and destination groups is termed as a | |||
route group. | ||||
3.6. Category: Lookup Keys | 3.6. Category: Public Identifiers, TN Ranges and RNs | |||
UC LOOKUP #1 Additions and deletions: SSPs often allocate and de- | UC PI #1 Additions and deletions: SSPs often allocate and de- | |||
allocate specific public identifiers to and from end- | allocate specific public identifiers to and from end-users. | |||
users. This involves, among other things, activating | This involves, among other things, activating or | |||
or deactivating specific public identifiers (or TN | deactivating specific public identifiers (TN ranges or | |||
ranges or RNs), and directly (or indirectly) | RNs), and directly or indirectly associating them with the | |||
associating them with the appropriate points of ingress | appropriate points of ingress and other SED. | |||
and other SED. | ||||
UC LOOKUP #2 Carrier-of-Record vs Transit Lookup Key Provisioning: | UC PI #2 Carrier-of-Record vs Transit Provisioning: Some inter-SSP | |||
Some inter-SSP peering relationships are created to | peering relationships are created to enable the | |||
enable the establishment of sessions to the lookup keys | establishment of sessions to the public identifiers (or TN | |||
for which an SSP is the carrier-of-record. Other | Ranges or RNs) for which an SSP is the carrier-of-record. | |||
inter-SSP peering relationships are created to enable | Other inter-SSP peering relationships are created to enable | |||
the establishment of sessions to lookup keys for which | the establishment of sessions for which an SSP is a transit | |||
an SSP is a transit provider. Some SSPs take into | provider. Some SSPs take into consideration an SSP's role | |||
consideration an SSP's role as a transit or carrier-of- | as a transit or carrier-of-record provider when selecting a | |||
record provider when selecting a route to a public | route. | |||
identifier. | ||||
UC LOOKUP #3 Multiplicity of Identical Lookup Keys: As described in | UC PI #3 Multiplicity: As described in previous use cases, SSPs | |||
previous use cases, SSPs provision lookup keys and | provision public identifiers (or TN Ranges or RNs) and | |||
their associated SED for multiple peering SSPs, and as | their associated SED for multiple peering SSPs, and as both | |||
both the carrier-of-record and transit provider. As a | the carrier-of-record and transit provider. As a result, a | |||
result, a given lookup key can reside in multiple | given public identifier (or TN Range or RN) key can reside | |||
destination groups at any given time. | in multiple destination groups at any given time. | |||
UC LOOKUP #4 Lookup Key Destination Group Modification: SSPs often | UC PI #4 Destination Group Modification: SSPs often change the SED | |||
change the SED associated with a given lookup key. | associated with a given public identifier (or TN Range or | |||
This involves, among other things, directly or | RN). This involves, among other things, directly or | |||
indirectly associating them with a different point of | indirectly associating them with a different point of | |||
ingress, different services, and/or different other | ingress, different services, or different SED. | |||
SED. | ||||
UC LOOKUP #5 Lookup Key Carrier-Of-Record vs Transit Modification: | UC PI #5 Carrier-Of-Record vs Transit Modification: SSPs may have | |||
SSPs may have the need to change their Carrier-Of- | the need to change their Carrier-Of-Record vs Transit role | |||
Record vs Transit role for lookup keys they previously | for public identifiers (or TN Ranges or RNs) that they | |||
provisioned. | previously provisioned. | |||
UC LOOKUP #6 Modification of authority: An SSP indicates that it is | UC PI #6 Modification of authority: An SSP indicates that it is the | |||
the carrier-of-record for an existing public identity | carrier-of-record for an existing public identifier or TN | |||
or TN Range. If the public identity or TN Range was | Range. If the public identifier or TN Range was previously | |||
previously associated with a different carrier-of- | associated with a different carrier-of-record then there | |||
record then there are multiple possible outcomes, such | are multiple possible outcomes, such as: a) the previous | |||
as: a) the previous carrier-of-record is disassociated, | carrier-of-record is disassociated, b) the previous | |||
b) the previous carrier-of-record is relegated to | carrier-of-record is relegated to transit status, or c) the | |||
transit status, or c) the new carrier-of-record is | new carrier-of-record is placed in inactive mode. The | |||
placed in inactive mode. The choice may be dependent | choice may be dependent on the deployment scenario, and is | |||
on the deployment scenario, and is out of scope for | out of scope for this document. | |||
this document. | ||||
3.7. Category: Misc | 3.7. Category: Misc | |||
UC MISC #1 Number Portability: The SSP wishes to provide, in query | UC MISC #1 Number Portability: The SSP wishes to provide, in query | |||
response to public identifiers, an associated routing | response to public identifiers, an associated routing | |||
number (RN). This is the case where a set of public | number (RN). This is the case where a set of public | |||
identifiers is no longer associated with original SSP but | identifiers is no longer associated with original SSP but | |||
have been ported to a recipient SSP, who provides access | have been ported to a recipient SSP, who provides access | |||
to these identifiers via a switch on the SS7 network | to these identifiers via a switch on the Signaling System | |||
identified by the RN. | Number 7 network identified by the RN. | |||
UC MISC #2 Data Recipient Offer and Accept: When a peering | UC MISC #2 Data Recipient Offer and Accept: When a peering | |||
relationship is established (or invalidated) SSPs | relationship is established (or invalidated) SSPs | |||
provision (or remove) data recipients in the registry. | provision (or remove) data recipients in the registry. | |||
However, a peer may first need to accept it's role (as a | However, a peer may first need to accept it's role (as a | |||
data recipient) before such a change is made effective. | data recipient) before such a change is made effective. | |||
Alternatively an auto-accept feature can be configured | Alternatively an auto-accept feature can be configured | |||
for a given data recipient. | for a given data recipient. | |||
UC MISC #3 Open numbering plans: In several countries, an open | UC MISC #3 Open numbering plans: In several countries, an open | |||
numbering plan is used, which is where the carrier-of- | numbering plan is used, where the carrier-of-record is | |||
record is only aware of a portion of the E.164 number | only aware of a portion of the E.164 number (i.e., the TN | |||
(i.e., the prefix). The carrier-of-record may not know | prefix). The carrier-of-record may not know the complete | |||
the complete number, or the number of digits in the | number, or the number of digits in the number. The rest | |||
number. The rest of the digits are handled offline | of the digits are handled offline (e.g., by a Private | |||
(e.g., by a PBX). For example, an SSP can be the | Branch Exchange, or PBX). For example, an SSP can be the | |||
carrier-of-record for "+123456789", and is also the | carrier-of-record for "+123456789", and is also the | |||
carrier-of-record for every possible expansion of that | carrier-of-record for every possible expansion of that | |||
number such as "+12345678901" and "+123456789012", even | number such as "+12345678901" and "+123456789012", even | |||
though the SSP does not know what those expansions could | though the SSP does not know what those expansions could | |||
be. This can be described as the carrier-of-record | be. This can be described as the carrier-of-record | |||
effectively being authoritative for the prefix. | effectively being authoritative for the TN prefix. | |||
4. Requirements | 4. Requirements | |||
This Section lists the requirements based on the use cases in | This Section lists the requirements extracted from the use cases in | |||
Section 3. Unless explicitly stated as optional, the registry | Section 3. The objective is to make it easier for protocol designers | |||
provisioning interface must support these requirements. | to understand the underlying requirements, and to reference and list | |||
the requirements that they support (or not). The requirements listed | ||||
here, unless explicitly indicated otherwise, are expected to be | ||||
supported. Protocol proposals are also expected to indicate their | ||||
compliance with these requirements, and highlight ones that they | ||||
don't meet (if any). Furthermore, the requirements listed here are | ||||
not meant to be limiting, i.e., protocol implementations and | ||||
deployments may choose to support additional requirements based on | ||||
use cases that are not listed in this document. | ||||
4.1. Provisioning Mechanisms | 4.1. Provisioning Mechanisms | |||
REQ-PROV-1: Real-time provisioning. | REQ-PROV-1: Real-time provisioning. | |||
REQ-PROV-2: Non-real-time bulk provisioning. | REQ-PROV-2: (Optional) Non-real-time bulk provisioning. | |||
REQ-PROV-3: Multi-request provisioning. | REQ-PROV-3: Multi-request provisioning. | |||
4.2. Interconnect Schemes | 4.2. Interconnect Schemes | |||
REQ-INTERCONNECT-1: Inter-SSP peering. | REQ-INTERCONNECT-1: Inter-SSP peering. | |||
REQ-INTERCONNECT-2: Direct and Indirect peering. | REQ-INTERCONNECT-2: Direct and Indirect peering. | |||
REQ-INTERCONNECT-3: Intra-SSP SED. | REQ-INTERCONNECT-3: Intra-SSP SED. | |||
skipping to change at page 17, line 4 | skipping to change at page 17, line 8 | |||
REQ-INTERCONNECT-2: Direct and Indirect peering. | REQ-INTERCONNECT-2: Direct and Indirect peering. | |||
REQ-INTERCONNECT-3: Intra-SSP SED. | REQ-INTERCONNECT-3: Intra-SSP SED. | |||
REQ-INTERCONNECT-4: Selective peering. | REQ-INTERCONNECT-4: Selective peering. | |||
REQ-INTERCONNECT-5: Provisioning of a delegated hierarchy. | REQ-INTERCONNECT-5: Provisioning of a delegated hierarchy. | |||
4.3. SED Exchange and Discovery Requirements | 4.3. SED Exchange and Discovery Requirements | |||
REQ-SED-1: SED containing unified LUF and LRF content. | REQ-SED-1: SED containing unified LUF and LRF content. | |||
REQ-SED-2: SED containing LUF-only data using domain names. | REQ-SED-2: SED containing LUF-only data using domain names. | |||
REQ-SED-3: SED containing LUF-only data using administrative | REQ-SED-3: SED containing LUF-only data using administrative | |||
domains. | domains. | |||
REQ-SED-4: Support for all the other REQ-SED requirements, | REQ-SED-4: Support for all the other REQ-SED requirements (listed in | |||
concurrently, for the same public identifier. | this Section), concurrently, for the same public | |||
identifier (or TN Range or RN). | ||||
4.4. SED Record Content Requirements | 4.4. SED Record Content Requirements | |||
REQ-SED-RECORD-1: Ability to provision SED record content. | REQ-SED-RECORD-1: Ability to provision SED record content. | |||
REQ-SED-RECORD-2: (Optional) Communication of an associated TTL for | REQ-SED-RECORD-2: (Optional) Communication of an associated TTL for | |||
a SED Record. | a SED Record. | |||
4.5. Data Management Requirements | 4.5. Data Management Requirements | |||
REQ-DATA-MGMT-1: Separation of responsibility for the provisioning | REQ-DATA-MGMT-1: Separation of responsibility for the provisioning | |||
the points of ingress and other SED, from the | the points of ingress and other SED, from the | |||
responsibility of provisioning public identifiers. | responsibility of provisioning public identifiers. | |||
REQ-DATA-MGMT-2: Ability to aggregate a set of public identifiers as | REQ-DATA-MGMT-2: Ability to aggregate a set of public identifiers as | |||
destination groups. | destination groups. | |||
REQ-DATA-MGMT-3: Ability to create the aggregation termed route | REQ-DATA-MGMT-3: Ability to create the aggregation termed route | |||
group. | group. | |||
4.6. Lookup Key Requirements | 4.6. Public Identifier, TN Range and RN Requirements | |||
REQ-LOOKUP-1: Provisioning of, and modifications to, the following | REQ-PI-TNR-RN-1: Provisioning of, and modifications to, the | |||
aggregations: destination group and route groups. | following aggregations: destination group and route | |||
groups. | ||||
REQ-LOOKUP-2: Ability to distinguish an SSP as either the carrier- | REQ-PI-TNR-RN-2: Ability to distinguish an SSP as either the | |||
of-record provider or transit provider. | carrier-of-record provider or transit provider. | |||
REQ-LOOKUP-3: A given lookup key (e.g., public identity, RN, TN | REQ-PI-TNR-RN-3: A given public identifier (or TN Range or RN) can | |||
Range) can reside in multiple destination groups at | reside in multiple destination groups at the same | |||
the same time. | time. | |||
REQ-LOOKUP-4: Modification of lookup keys by allowing them to be | REQ-PI-TNR-RN-4: Modification of public identifier (or TN Range or | |||
moved to a different destination group via an atomic | RN) by allowing them to be moved to a different | |||
operation. | destination group via an atomic operation. | |||
REQ-LOOKUP-5: SSPs can indicate a change to their role from carrier- | REQ-PI-TNR-RN-5: SSPs can indicate a change to their role from | |||
of-record provider to transit, or vice-versa. | carrier-of-record provider to transit, or vice- | |||
versa. | ||||
REQ-LOOKUP-6: Support for modification of authority with the | REQ-PI-TNR-RN-6: Support for modification of authority with the | |||
conditions described in UC LOOKUP #6. | conditions described in UC PI #6. | |||
4.7. Misc. Requirements | 4.7. Misc. Requirements | |||
REQ-MISC-1: Number portability support. | REQ-MISC-1: Number portability support. | |||
REQ-MISC-2: Ability for the SSP to be offered a peering | REQ-MISC-2: Ability for the SSP to be offered a peering | |||
relationship, and for the SSP to accept (explicitly or | relationship, and for the SSP to accept (explicitly or | |||
implicitly) or reject such an offer. | implicitly) or reject such an offer. | |||
REQ-MISC-3: Support for open numbering plans. | REQ-MISC-3: Support for open numbering plans. | |||
skipping to change at page 22, line 7 | skipping to change at page 22, line 7 | |||
and authorization of the provisioning entities are REQUIRED features | and authorization of the provisioning entities are REQUIRED features | |||
of the protocol and interfaces. | of the protocol and interfaces. | |||
6. IANA Considerations | 6. IANA Considerations | |||
This document does not register any values in IANA registries, nor | This document does not register any values in IANA registries, nor | |||
request the creation of a registry. | request the creation of a registry. | |||
7. Acknowledgments | 7. Acknowledgments | |||
This document is a result of various discussions held within the | This document is a result of various contributions from (and | |||
DRINKS WG; specifically , in alphabetical order: Alexander Mayrhofer, | discussions within) the IETF DRINKS Working Group; specifically, in | |||
Deborah A Guyton, Gregory Schumacher, Jean-Francois Mule, Kenneth | alphabetical order: Alexander Mayrhofer, Deborah A Guyton, Gregory | |||
Cartwright, Manjul Maharishi, Penn Pfautz, Ray Bellis, Richard | Schumacher, Jean-Francois Mule, Kenneth Cartwright, Manjul Maharishi, | |||
Shockey, and Syed Ali. | Penn Pfautz, Ray Bellis, Richard Shockey, and Syed Ali. | |||
This specific version of the document is a result of contributions | The editor also wishes to thank the following for their comments and | |||
from the following individuals: Alexander Mayrhofer, Otmar Lendl, | suggestions: Otmar Lendl, Sohel Khan, Peter Koch, Brian Rosen, Jon | |||
Sohel Khan, and Peter Koch. In addition, we also thank Brian Rose | Peterson and Gonzalo Camarillo. | |||
and Jon Peterson for suggestions we incorporated. | ||||
8. References | 8. References | |||
8.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. | |||
[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, | |||
End of changes. 67 change blocks. | ||||
198 lines changed or deleted | 216 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |