--- 1/draft-ietf-drinks-usecases-requirements-02.txt 2010-05-25 07:12:12.000000000 +0200 +++ 2/draft-ietf-drinks-usecases-requirements-03.txt 2010-05-25 07:12:12.000000000 +0200 @@ -1,18 +1,18 @@ DRINKS S. Channabasappa, Ed. Internet-Draft CableLabs -Intended status: Informational May 3, 2010 -Expires: November 4, 2010 +Intended status: Informational May 25, 2010 +Expires: November 26, 2010 DRINKS Use cases and Protocol Requirements - draft-ietf-drinks-usecases-requirements-02 + draft-ietf-drinks-usecases-requirements-03 Abstract This document captures the use cases and associated requirements for interfaces that provision session establishment data into SIP Service Provider components, to assist with session routing. Specifically, the current version of this document focuses on the provisioning of one such element, termed the registry. Status of this Memo @@ -23,104 +23,125 @@ Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." - This Internet-Draft will expire on November 4, 2010. + This Internet-Draft will expire on November 26, 2010. Copyright Notice Copyright (c) 2010 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 2. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 3. Use Cases and Requirements . . . . . . . . . . . . . . . . . . 8 - 3.1. Registry Provisioning . . . . . . . . . . . . . . . . . . 8 - 3.1.1. Use Cases . . . . . . . . . . . . . . . . . . . . . . 8 - 3.1.2. Requirements . . . . . . . . . . . . . . . . . . . . . 14 - 4. Security Considerations . . . . . . . . . . . . . . . . . . . 18 - 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19 - 6. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 20 - 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 21 - 7.1. Normative References . . . . . . . . . . . . . . . . . . . 21 - 7.2. Informative References . . . . . . . . . . . . . . . . . . 21 + 2. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 + 3. Registry Use Cases . . . . . . . . . . . . . . . . . . . . . . 9 + 3.1. Category: Provisioning Mechanisms . . . . . . . . . . . . 9 + 3.2. Category: Interconnect Schemes . . . . . . . . . . . . . . 9 + 3.3. Category: SED Exchange and Discovery Models . . . . . . . 11 + 3.4. Category: SED Record Content . . . . . . . . . . . . . . . 12 + 3.5. Category: Separation and Facilitation of Data + Management . . . . . . . . . . . . . . . . . . . . . . . . 12 + 3.6. Category: Lookup Keys . . . . . . . . . . . . . . . . . . 13 + 3.7. Category: Number Portability . . . . . . . . . . . . . . . 14 + 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 1. Terminology The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. - This document reuses terms from [RFC3261] (e.g., SIP) and [RFC5486] - (e.g., LUF, LRF). In addition, this document specifies the following + This document reuses terms from [RFC3261] (e.g., SIP), [RFC5486] + (e.g., LUF, LRF, SED) and [RFC5067] (carrier-of-record and transit + provider). In addition, this document specifies the following additional terms. Registry: The authoritative source for provisioned session 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 server that provides resolution responses. - Destination Group: A set of public identities that are grouped - together to facilitate session setup and routing. - - Public Identity: A generic term that refers to a telephone number + Public Identifier: A public identifier refers to a telephone number (TN), an email address, or other identity as deemed appropriate, such as a globally routable URI of a user address (e.g., 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, - for a public identity or TN Range. + Destination Group: An aggregation of a set of public identifiers, + TN Ranges, or RNs that share common SED. - Non-authoritative SSP or Entity This refers to the transit provider - for a public identity or TN Range. + Data Recipient: An entity with visibility into a specific set of + 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 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 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. 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 - have been proposed in this regard are compiled in this document. + task taken up by the DRINKS WG. This document contains the use cases + and requirements that have been proposed in this regard. SED is typically created by the terminating SSP and consumed by the originating SSP. To avoid a multitude of bilateral exchanges, SED is - usually shared via intermediary systems - termed Registries within - this document. Such registries receive SED via provisioning - transactions from other SSPs, and then distribute the received data - into Local Data Repositories. These local data repositories are used - for call routing by outgoing SBEs. This is depicted in Figure 1. + often shared via intermediary systems - termed registries within this + document. Such registries receive SED via provisioning transactions + from other SSPs, and then distribute the received data into Local + Data Repositories. These local data repositories are used for call + routing by outgoing SBEs. This is depicted in Figure 1. *-------------* 1. Provision SED | | -----------------------> | Registry | | | *-------------* / \ / \ / \ / \ @@ -131,23 +152,23 @@ V V +----------+ +----------+ |Local Data| |Local Data| |Repository| |Repository| +----------+ +----------+ Figure 1: General Diagram In this version of the document, we primarily address the use cases and requirements for provisioning registries. Future revisions may - include data distribution. The resulting provisioning protocol can - be used to provision data into a registry, or between registries. - This is depicted in Figure 2. + include data distribution to local data repositories. The resulting + provisioning protocol can be used to provision data into a registry, + or between registries. This is depicted in Figure 2. . . . . . . . . . . . . . . registry . . . . . . . . . . . . . . . . . . . . . provision . +-----------+ . +-----------+ | | provision +----------+ provision | | | SSP 1 |------------>| Registry |<-----------| SSP 2 | | | +----------+ | | @@ -157,525 +178,452 @@ | | | | +-----------+ +-----------+ . . . . . . . . . . . . . . . . . . . . . . . . . . (provision / distribute) Where, LDR = Local Data Repository 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 - with regards to SED (refer to the use cases in Section 3.1.1.3 for - the rationale): + with regards to SED (refer to the use cases in Section 3.5 for the + rationale): o Aggregation of public Identifiers into a destination 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 | +---------+ +--------------+ +---------+ |0..n |0..n | | | | | | - | 1 | - 1..n +--------------+ 0..n | + |0..n | + 1 +--------------+ 0..1 | ---------| DESTINATION |--------- | | | GROUP | | | | +--------------+ | | | | | | - | 1..n| | | + | 1| | | | | | | | | | | - 1 | 1 | | 1 | - +---------+ +---------+ +---------+ | - | RN | | TN | | Public |----- - | | | Range | |Identity | 1 - +---------+ +---------+ +---------+ + 0..n | 0..n | | 0..n | + +---------+ +---------+ +----------+ | + | RN | | TN | | Public |---- + | | | Range | |Identifier| 1 + +---------+ +---------+ +----------+ 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; - NAPTRs and other SED record types associated with routes are not - user or TN-specific. For example the user portion of a NAPTR - regular expression will be "\1". + - A Data Recipient object can be associated with zero or more + Routing Group objects, and a Routing Group object can refer to + zero or more Data Recipient objects. - - A routing group is associated with zero or more peering - organizations to control visibility or access privileges to that - routing group and the destination groups they expose. + - A Routing Group object can contain zero or more SED Record + objects, and a SED Record object can be contained in exactly one + Routing Group object. - - A data recipient group contains zero or more data recipients to - facilitate the allocation of access privileges to routing groups. + - A Routing Group object can be associated with zero or more + 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 registry. Any request to provision, modify or delete data is subject - to authorization. However, the act of authorization is considered - out of scope within this document. - -3.1.1. Use Cases + to authorization. However, the act of authorization is considered to + be out of scope within this document. - The use cases are divided into the following categories - different - provisioning options, options for provisioning SED data, - administration, and number portability. +3.1. Category: Provisioning Mechanisms -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 - events may occur that necessitate SSPs to add, modify - or delete data in the registry, in real-time, to - maintain accuracy of the data. Examples of such - events can be found in other use cases within this - document (e.g., identity related use cases). + UC PROV #2 Non-Real-Time Bulk Provisioning: Operational systems that + provision public identifiers and associated SED sometimes + expect that these provisioning activities be batched up + into large sets. These batched requests are then + processed using a provisioning mechanism that is out-of- + band and occurs at a later time. - UC PROCESS #2 Non-real-time or bulk provisioning: There are cases - when a registry needs to be provisioned with bulk data - sets, via an offline mechanism, as opposed to real- - time provisioning requests. Examples include: when a - new registry is established or when data is being - restored from a backup. + UC PROV #3 Multi-Request Provisioning: Regardless of whether a + provisioning action is performed in real-time or not, + SSPs often perform several provisioning actions on + several objects in a single request or transaction. This + is done for performance and scalability reasons, and for + 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 - specific end-user, so that other SSPs can use this - SED data to establish sessions intended with this - end-user. The provisioning SSP can either be the - carrier-of-record (direct peering), or a transit - provider (indirect peering). + UC INTERCONNECT #1 Inter-SSP SED: SSPs create peering relationships + with other SSPs in order to establish + interconnects. Establishing these interconnects + involves, among other things, communicating and + enabling the points of ingress and other SED used + to establish sessions to a set of public + identifiers. - UC SED DATA #2 Intra-network SED: An SSP provisons SED records for a - specific end-user, for use within the SSP's networks. - This will allow internal signaling elements to - establish sessions intended for this end-user. The - provisioned SED is only distributed to specific local - data repositories, and will probably differ from the - SED provisioned for use by signaling elements from - other SSPs. + UC INTERCONNECT #2 Direct vs Indirect Peering: Some inter-SSP + peering relationships are created to enable the + establishment of sessions to the public + identifiers for which an SSP is the carrier-of- + record. This is referred to as direct peering. + Other inter-SSP peering relationships are created + to enable the establishment of sessions to public + 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 - same SED records for all other SSPs, an SSP may also - wish to provision different SED records for different - SSPs (e.g., if they have different peering - agreements). + UC INTERCONNECT #3 Intra-SSP SED: SSPs support the establishment of + sessions between their own public identifiers, + not just to other SSPs public identifiers. + Enabling this involves, among other things, + 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 - data in the registry. A querying SSP that receives - LUF-only data may need to rely on other mechanisms - (e.g., [RFC3263] for domain-name based LUF) to obtain - LRF information. + UC INTERCONNECT #4 Selective Peering (a.k.a. per peer policies): + SSPs create peering relationships with other SSPs + in order to establish interconnects. However, + SSPs peering relationships often result in + 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- - data in the registry. In such cases, the querying - SSP does not have to rely on mechanisms such as DNS - (e.g., [RFC3263]) for routing information. + UC INTERCONNECT #5 Provisioning of a delegated name server: An SSP + maintains a Tier 2 name server that contains the + NAPTR records that constitute the terminal step + 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, - 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. +3.3. Category: SED Exchange and Discovery Models - UC SED DATA #7 Target Domain as an administrative domain: The target - domain for a public identity or TN Range can be an - administrative domain. In such cases the resolution - may be out of scope for this document. + UC SED EXCHANGE #1 SED Exchange and Discovery using unified LUF/LRF: + When establishing peering relationships some SSPs + wish to communicate or receive points of ingress + 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 - case of LUF-only provisioning. Thoughts? + UC SED EXCHANGE #3 SED Exchange and Discovery using LUF's + 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 - maintains a Tier 2 name server that contains the - NAPTR records that constitute the terminal step in - the LUF. The SSP needs to provision an registry to - direct queries for the SSPs numbers to the Tier 2. - 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 EXCHANGE #4 Co-existent SED Exchange and Discovery Models: + When supporting multiple peering relationships + some SSPs have the need to concurrently support + all three of the SED Exchange and Discovery + Models described above, for the same set of + lookup keys. -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 - lookup is a public identifier. Since several public - identifiers will potentially share similar (or identical) - destinations, and hence similar (or identical) SED - records, provisioning the same set of SED for millions of - public identifiers is inefficient. Therefore, an - aggregation mechanism to 'group' public identifiers is - proposed. This aggregation is termed as a 'destination - group' in the proposed data model. + UC SED RECORD #1 SED Record Content: Establishing interconnects + between SSPs involves, among other things, + communicating points of ingress, the service types + (SIP, SIPS, etc) supported by each point of + ingress, and the relative priority of each point of + ingress for each service type. - UC DATA #2 Aggregation of SED records: A complete set of session - establishment data may consist of more than just one SED - record. To be able to create and use the same set of SED - records multiple times (without creating duplicates) an - aggregation mechanism is required. This is termed as a - 'Routing Group' in the data model. + UC SED RECORD #2 Time-To-Live (TTL): For performance reasons, + querying SSPs sometimes cache SED that had been + previously looked up for a given public identity. + In order to accomplish this, SSPs sometimes specify + the TTL associated with a given SED record. -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 - identity or TN Range, as its authoritative entity (i.e., - carrier-of-record). + UC DATA #1 Separation of Provisioning Responsibility: An SSP's + operational practices often separate the responsibility + 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 - public identity or TN Range, as a non-authoritative - (i.e., transit) entity. + UC DATA #2 Destination Groups: SSPs often provision identical SED + for large numbers of public identifiers. Groups of + 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 - indicates that it is the authoritative entity for an - existing public identity or TN Range. If the public - identity or TN Range was previously associated with a - different authoritative entity then there are two - possible outcomes: a) the previous authoritative entity - is disassociated, or, b) the previous authoritative - entity is relegated to non-authoritative status. The - choice may be dependent on the deployment scenario, and - is out of scope for this document. + UC DATA #3 Route Groups: SSPs often provision identical SED for + large numbers of public identifiers, and then expose that + relationship between a group of SED records and a group + of public identifiers to one or more SSPs. This combined + grouping of SED records and Destination Groups + facilitates management of public identity SED + relationships and the list of peers (data recipients) + that can lookup those public identifiers and receive that + SED. This dual set of SED Records and Destination Groups + is termed as a Route Group. - UC ADMIN #4 Non-authoritative modifications to existing entries: An - 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. +3.6. Category: Lookup Keys - UC ADMIN #5 Authoritative disassociation from existing entries: An - SSP disassociates itself from a public identity or TN - Range that it is authoritative for. If there are no - other (non-authoritative) SSPs associated with this - public identity or TN Range, then the public identity - may be deleted. + UC LOOKUP #1 Additions and deletions: SSPs often allocate and de- + allocate specific public identifiers to and from end- + users. This involves, among other things, activating + or deactivating specific public identifiers (or TN + ranges or RNs), and directly (or indirectly) + associating them with the appropriate points of ingress + and other SED. - UC ADMIN #6 Non-authoritative disassociation from existing entries: - A SSP disassociates itself from a public identity or TN - Range that it is linked with, as a non-authoritative - entity. If there are no other authoritative or non- - authoritative entities associated with this public - identity or TN Range, the public identity may be - deleted. + UC LOOKUP #2 Carrier-of-Record vs Transit Lookup Key Provisioning: + Some inter-SSP peering relationships are created to + enable the establishment of sessions to the lookup keys + for which an SSP is the carrier-of-record. Other + inter-SSP peering relationships are created to enable + the establishment of sessions to lookup keys for which + 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 - public identity (or a TN range) is taken out of service - because it is no longer valid. The Registry receives a - delete operation and removes the public identity from - its database. + UC LOOKUP #3 Multiplicity of Identical Lookup Keys: As described in + previous use cases, SSPs provision lookup keys and + their associated SED for multiple peering SSPs, and as + both the carrier-of-record and transit provider. As a + 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 - here to use specified terms. + UC LOOKUP #4 Lookup Key Destination Group Modification: SSPs often + 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 - localized lookups, a query entity may decide to cache - the answers and selectively query the resolution server - when either the TTL expires or as a result of another - 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. + UC LOOKUP #5 Lookup Key Carrier-Of-Record vs Transit Modification: + SSPs may have the need to change their Carrier-Of- + Record vs Transit role for lookup keys they previously + provisioned. -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 - 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. + UC NP #1 EDITOR's NOTE: Need to clarify this further. The SSP wishes to provide in query response to public - identities an associated routing number or RN. This is the - case when a set of public identities is no longer + identifiers an associated routing number or RN. This is + the case when a set of public identifiers is no longer associated with original SSP but have been ported to a - recipient SSP who provides access to these identities via a - switch on the SS7 network identified by the RN. In this + recipient SSP who provides access to these identifiers via + a switch on the SS7 network identified by the RN. In this case a destination group containing all numbers that should be routed to this RN needs to be created and the route group associated with this DG needs to contain the RN - UC NP #2 Authoritative release: A release command associated with - 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. +3.8. Category: Misc - DREQ2: The registry provisioning data model MUST support the - grouping and aggregation of public identities within - destination groups. + UC MISC #1 Data Recipient Offer and Accept: When a peering + relationship is established (or invalidated) SSPs + 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 - grouping and aggregation of TN Ranges within destination - groups. + UC MISC #2 Open numbering plans: In several countries, an "open + numbering plan" is used, which is such that the carrier- + 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 - grouping and aggregation of RNs within destination groups. +4. Requirements - 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 - creation and deletion of: public identities, destination - groups, routing groups and data recipient groups. + REQ1: a) Real-time, b) non-real-time bulk, and c) multi-request + provisioning. - FREQ2: The registry provisioning interface MUST support near-real- - time, non-real-time and deferred provisioning operations. + REQ2: Inter-SSP SED with support for direct and indirect peering. - FREQ3: The registry provisioning interface MUST support the - following types of modifications: + REQ3: Intra-SSP SED. - - reassignment of one or more public identities from one - destination group to another; + REQ4: Selective peering. - - reassignment of one data recipient from one destination - group to another; + REQ5: Provisioning of a delegated name server. - - association and disassociation of a "Default Routing - Group" with a Data Recipient; and, + REQ6: The following SED Exchange and discovery models (concurrently + 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 - Record" (COR) destination group or a "Transit" destination - group. + REQ7: Provisioning of SED Record content - FREQ4: When an entity with a different client identifier than that - 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. + REQ8: (Optional) Communicate the TTL for a given SED Record. - FREQ5: The registry provisioning interface MUST separate the - provisioning of the routing information from the associated - identities. + REQ9: Separation of responsibility of provisioning the points of + ingress and other SED, from the responsibility of + provisioning public identifiers. - FREQ6: The registry provisioning protocol MUST define a discrete - set of response codes for each supported protocol operation. - 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. + REQ10: Additions and deletions of public identifiers, TN ranges and + RNs. - FREQ7: The registry provisioning interface MUST allow an SSP to - define multiple sub-identities that can be used in data - recipient groups + REQ11: Provisioning of, and modifications to, the following + aggregations: destination group and route groups. - FREQ8: The registry provisioning interface MUST define the - concurrency rules, locking rules, and race conditions that - 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. + REQ12: Support the distinction between an SSP as a carrier-of-record + provider versus transit provider. - FREQ9: The registry provisioning interface MUST support the ability - for a Data Recipient to optionally define a Routing Group as - their Default Routing Group, such that if the Data Recipient - performs a resolution request and the lookup key being - resolved is not found in the Destination Groups visible to - that Data Recipient then the SED Records associated with the - Default Routing Group shall be returned in the resolution - response. + REQ13: Support for lookup keys having identical business keys (the + public identity string, the digits that comprise an RN, the + start and end point of a TN range's range) that concurrently + exist across multiple destination groups and where each + destination group may be managed by different SSPs. - FREQ10: The registry provisioning interface MUST support the ability - 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. + Editor's note: We need to simplify the above requirement. - FREQ11: The registry provisioning interface MUST track, via a client - identifier, the entity provisioning each data object (e.g. - 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. + REQ14: Modification of lookup keys by allowing them to be moved to a + different destination group via an atomic operation. - The registry provisioning interface MUST incorporate a data - 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. + REQ15: SSPs to change their Carrier-Of- Record vs Transit role. - Exactly one client identifier MUST be allowed to provision - objects under a given data recipient identifier. But a - client identifier MUST be allowed to provision objects under - multiple data recipient identifiers. + REQ16: Support for modification of authority with the conditions + described in UC LOOKUP #6. - Objects provisioned under one "Protocol Client Identifier" - MUST NOT be alterable by a provisioning session established - by another "Protocol Client Identifier". + REQ17: Destination group offer and acceptance (optionally support + auto-acceptance). - FREQ12: The registry provisioning protocol MUST allow an SSP to - provision LUF-only or LUF+LRF data in the registry via a - single provisioning interface and data model. + REQ18: Open numbering plans. -4. Security Considerations +5. Security Considerations Session establishment data allows for the routing of SIP sesions within, and between, SIP Service Providers. Access to this data can compromise the routing of sessions and expose a SIP Service Provider to attacks such as service hijacking and denial of service. The data can be compromised by vulnerable functional components and interfaces identified within the use cases. -5. IANA Considerations +6. IANA Considerations 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 requirements design team, which is comprised of the following individuals, in alphabetical order: Deborah A Guyton (Telcordia), Gregory Schumacher (Sprint), Jean-Francois Mule (CableLabs), Kenneth Cartwright (TNS, Inc.), Manjul Maharishi (TNS, Inc.), Penn Pfautz (AT&T Corp), Ray Bellis (Nominet), the co-chairs (Richard Shockey, Nuestar; and Alexander Mayrhofer, enum.at GmbH), and the editors of this document. This specific version of the document is a result of contributions from, primarily, David Schwartz (XConnect), Kenneth Cartwright (TNS, Inc.) and Syed Ali (Neustar, Inc.). Other participants who reviewed and provided comments include: Alexander Mayrhofer (enum.at GmbH), - Jean-Francois Mule (CableLabs), Manjul Maharishi (TNS, Inc.), and - other participants on the DRINKS mailing list. + Jean-Francois Mule (CableLabs), Manjul Maharishi (TNS, Inc.), Hadriel + 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 Requirement Levels", BCP 14, RFC 2119, March 1997. -7.2. Informative References +8.2. Informative References [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M., and E. Schooler, "SIP: Session Initiation Protocol", RFC 3261, June 2002. [RFC3263] Rosenberg, J. and H. Schulzrinne, "Session Initiation Protocol (SIP): Locating SIP Servers", RFC 3263, 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 Interconnect (SPEERMINT) Terminology", RFC 5486, March 2009. Author's Address Sumanth Channabasappa CableLabs 858 Coal Creek Circle Louisville, CO 80027