One document matched: draft-ietf-drinks-usecases-requirements-03.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY rfc2119 PUBLIC ""
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY rfc3261 PUBLIC ""
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.3261.xml">
<!ENTITY rfc3263 PUBLIC ""
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.3263.xml">
<!ENTITY rfc3761 PUBLIC ""
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.3761.xml">
<!ENTITY rfc5486 PUBLIC ""
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.5486.xml">
<!ENTITY rfc5067 PUBLIC ""
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.5067.xml">
]>
<rfc category="info" docName="draft-ietf-drinks-usecases-requirements-03" ipr="trust200811">
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc toc="yes" ?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="yes"?>
<?rfc iprnotified="no" ?>
<?rfc strict="yes" ?>
<front>
<title abbrev="ietf-drinks-usecases-reqs">
DRINKS Use cases and Protocol Requirements
</title>
<author initials='S.' surname="Channabasappa, Ed." fullname='Sumanth Channabasappa'>
<organization>CableLabs </organization>
<address>
<postal>
<street>858 Coal Creek Circle</street>
<city>Louisville</city> <region>CO</region>
<code>80027</code>
<country>USA</country>
</postal>
<email>sumanth@cablelabs.com</email>
</address>
</author>
<date year="2010" month="May"/>
<area>Real-time Applications and Infrastructure Area</area>
<workgroup>DRINKS</workgroup>
<abstract>
<t>
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.
</t>
</abstract>
</front>
<middle>
<section anchor="Terminology" title="Terminology">
<t>
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 <xref target="RFC2119"/>.
</t>
<t>
This document reuses terms from <xref target="RFC3261"/> (e.g., SIP), <xref target="RFC5486"/> (e.g., LUF, LRF, SED) and <xref target="RFC5067"/> (carrier-of-record and transit provider). In addition, this document specifies the following additional terms.
<vspace blankLines='1'/>
<list style="hanging">
<t hangText="Registry: ">
The authoritative source for provisioned session establishment data (SED) and related information.
<vspace blankLines='2' />
</t>
<t hangText="Registrar">
An entity that provisions and manages data into the registry.
<vspace blankLines='2' />
</t>
<t hangText="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.
<vspace blankLines='2' />
</t>
<t hangText="Local Data Repository: ">
The data store component of an addressing server that provides resolution responses.
<vspace blankLines='2' />
</t>
<t hangText="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).
<vspace blankLines='2' />
</t>
<t hangText="TN Range: ">
A numerically contiguous set of telephone numbers whose SED can be looked up (resolved).
<vspace blankLines='2' />
</t>
<t hangText="Destination Group: ">
An aggregation of a set of public identifiers, TN Ranges, or RNs that share common SED.
<vspace blankLines='2' />
</t>
<t hangText="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.
<vspace blankLines='2' />
</t>
<t hangText="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.
<vspace blankLines='2' />
</t>
</list>
</t>
</section>
<section anchor="Overview" title="Overview">
<t>
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 signaling path border elements (SBEs) need to establish a session. See <xref target="RFC5486"/> for more details.
<vspace blankLines='1' />
The specification of the format and protocols to provision SED is a task taken up by the DRINKS WG. This document contains the use cases and requirements that have been proposed in this regard.
<vspace blankLines='1' />
SED is typically created by the terminating SSP and consumed by the originating SSP. To avoid a multitude of bilateral exchanges, SED is 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 <xref target="GeneralOverview"/>.
<vspace blankLines='1' />
<figure title="General Diagram" anchor="GeneralOverview">
<artwork>
<![CDATA[
*-------------*
1. Provision SED | |
-----------------------> | Registry |
| |
*-------------*
/ \
/ \
/ \
/ \
/ \
/ \
/ 2.Distribute \
/ SED \
V V
+----------+ +----------+
|Local Data| |Local Data|
|Repository| |Repository|
+----------+ +----------+
]]>
</artwork>
</figure>
<vspace blankLines='1' />
In this version of the document, we primarily address the use cases and requirements for provisioning registries. Future revisions may 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 <xref target="FunctionalOverview"/>.
<vspace blankLines='1' />
<figure title="Functional Overview" anchor="FunctionalOverview">
<artwork>
<![CDATA[
. . . . . . .
. . . . . . . registry . . . . . . .
. . . . . . . . .
. . .
. . provision .
+-----------+ . +-----------+
| | provision +----------+ provision | |
| SSP 1 |------------>| Registry |<-----------| SSP 2 |
| | +----------+ | |
| +-----+ | /\ | +-----+ |
| | LDR | <-------------------- ------------------>| LDR | |
| +-----+ | distribute distribute | +-----+ |
| | | |
+-----------+ +-----------+
. .
. . . . . . . . . . . . . . . . . . . . . . . .
(provision / distribute)
Where, LDR = Local Data Repository
]]>
</artwork>
</figure>
<vspace blankLines='1' />
<vspace blankLines='1' />
In addition, this document proposes the following aggregation groups with regards to SED (refer to the use cases in <xref target="CategorySeparationAndFacilitationOfDataManagement"/> for the rationale):
<list style="symbols">
<t>
Aggregation of public Identifiers into a destination group.
<vspace blankLines='1' />
</t>
<t>
Aggregation of SED records into a Routing Group.
<vspace blankLines='1' />
</t>
</list>
The data model depicted in <xref target="DataModelDiagram"/> shows the various entities, aggregations and the relationships between them.
<vspace blankLines='1' />
<figure title="Data Model Diagram" anchor="DataModelDiagram">
<artwork>
<![CDATA[
+---------+ +--------------+ +---------+
| Data |0..n 0..n| ROUTING | 1 0..n| SED |
|Recepient|------------| GROUP | --------------| Record |
+---------+ +--------------+ +---------+
|0..n |0..n
| |
| |
| |
|0..n |
1 +--------------+ 0..1 |
---------| DESTINATION |--------- |
| | GROUP | | |
| +--------------+ | |
| | | |
| 1| | |
| | | |
| | | |
0..n | 0..n | | 0..n |
+---------+ +---------+ +----------+ |
| RN | | TN | | Public |----
| | | Range | |Identifier| 1
+---------+ +---------+ +----------+
]]>
</artwork>
</figure>
<vspace blankLines='1' />
The relationships are as described below:
<vspace blankLines='1' />
<list style='hanging'>
<t hangText="-">
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.
<vspace blankLines='1' />
</t>
<t hangText="-">
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.
<vspace blankLines='1' />
</t>
<t hangText="-">
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.
<vspace blankLines='1' />
</t>
<t hangText="-">
A Destination Group object can contain zero or more RN objects, and an RN object can be contained in exactly one Destination Group object.
<vspace blankLines='1' />
</t>
<t hangText="-">
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.
<vspace blankLines='1' />
</t>
<t hangText="-">
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.
<vspace blankLines='1' />
</t>
</list>
</t>
</section>
<section anchor="RegistryUseCases" title="Registry Use Cases">
<t>
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 to be out of scope within this document.
</t>
<section anchor="CategoryProvisioningOptions" title="Category: Provisioning Mechanisms">
<t>
<list style='format UC PROV #%d'>
<t hangText="">
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.
<vspace blankLines='2' />
</t>
<t hangText="">
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.
<vspace blankLines='2' />
</t>
<t hangText="">
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.
<vspace blankLines='2' />
</t>
</list>
</t>
</section>
<section anchor="CategoryInterconnectSchemes" title="Category: Interconnect Schemes">
<t>
<list style='format UC INTERCONNECT #%d'>
<t hangText="">
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.
<vspace blankLines='2' />
</t>
<t hangText="">
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.
<vspace blankLines='2' />
</t>
<t hangText="">
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.
<vspace blankLines='2' />
</t>
<t hangText="">
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.
<vspace blankLines='2' />
</t>
<t hangText="">
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.
<vspace blankLines='2' />
</t>
</list>
</t>
</section>
<section anchor="CategorySEDExchangeAndDiscoveryModels" title="Category: SED Exchange and Discovery Models">
<t>
<list style='format UC SED EXCHANGE #%d'>
<t hangText="">
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.
<vspace blankLines='2' />
</t>
<t hangText="">
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.
<vspace blankLines='2' />
</t>
<t hangText="">
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.
<vspace blankLines='2' />
</t>
<t hangText="">
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.
<vspace blankLines='2' />
</t>
</list>
</t>
</section>
<section anchor="CategorySEDRecordContent" title="Category: SED Record Content">
<t>
<list style='format UC SED RECORD #%d'>
<t hangText="">
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.
<vspace blankLines='2' />
</t>
<t hangText="">
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.
<vspace blankLines='2' />
</t>
</list>
</t>
</section>
<section anchor="CategorySeparationAndFacilitationOfDataManagement" title="Category: Separation and Facilitation of Data Management">
<t>
<list style='format UC DATA #%d'>
<t hangText="">
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.
<vspace blankLines='2' />
</t>
<t hangText="">
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.
<vspace blankLines='2' />
</t>
<t hangText="">
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.
<vspace blankLines='2' />
</t>
</list>
</t>
</section>
<section anchor="CategoryLookupKeys" title="Category: Lookup Keys">
<t>
<list style='format UC LOOKUP #%d'>
<t hangText="">
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.
<vspace blankLines='2' />
</t>
<t hangText="">
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.
<vspace blankLines='2' />
</t>
<t hangText="">
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.
<vspace blankLines='2' />
</t>
<t hangText="">
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.
<vspace blankLines='2' />
</t>
<t hangText="">
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.
<vspace blankLines='2' />
</t>
<t hangText="">
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.
<vspace blankLines='2' />
</t>
</list>
</t>
</section>
<section anchor="CategoryNumberPortability" title="Category: Number Portability">
<t>
<list style='format UC NP #%d'>
<t hangText="">
EDITOR's NOTE: Need to clarify this further.
<vspace blankLines='2' />
The SSP wishes to provide in query response to public 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 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
<vspace blankLines='2' />
</t>
</list>
</t>
</section>
<section anchor="CategoryMisc" title="Category: Misc">
<t>
<list style='format UC MISC #%d'>
<t hangText="">
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.
<vspace blankLines='2' />
</t>
<t hangText="">
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".
<vspace blankLines='2' />
</t>
</list>
</t>
</section>
</section>
<section anchor="Requirements" title="Requirements">
<t>
This Section lists the requirements based on the use cases in <xref target="RegistryUseCases"/>. Unless explicitly stated as optional, the registry provisioning interface must support these requirements.
<vspace blankLines='1' />
<list style='format REQ%d:'>
<t hangText="">
a) Real-time, b) non-real-time bulk, and c) multi-request provisioning.
<vspace blankLines='2' />
</t>
<t hangText="">
Inter-SSP SED with support for direct and indirect peering.
<vspace blankLines='2' />
</t>
<t hangText="">
Intra-SSP SED.
<vspace blankLines='2' />
</t>
<t hangText="">
Selective peering.
<vspace blankLines='2' />
</t>
<t hangText="">
Provisioning of a delegated name server.
<vspace blankLines='2' />
</t>
<t hangText="">
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.
<vspace blankLines='2' />
</t>
<t hangText="">
Provisioning of SED Record content
<vspace blankLines='2' />
</t>
<t hangText="">
(Optional) Communicate the TTL for a given SED Record.
<vspace blankLines='2' />
</t>
<t hangText="">
Separation of responsibility of provisioning the points of ingress and other SED, from the responsibility of provisioning public identifiers.
<vspace blankLines='2' />
</t>
<t hangText="">
Additions and deletions of public identifiers, TN ranges and RNs.
<vspace blankLines='2' />
</t>
<t hangText="">
Provisioning of, and modifications to, the following aggregations: destination group and route groups.
<vspace blankLines='2' />
</t>
<t hangText="">
Support the distinction between an SSP as a carrier-of-record provider versus transit provider.
<vspace blankLines='2' />
</t>
<t hangText="">
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.
<vspace blankLines='1' />
Editor's note: We need to simplify the above requirement.
<vspace blankLines='2' />
</t>
<t hangText="">
Modification of lookup keys by allowing them to be moved to a different destination group via an atomic operation.
<vspace blankLines='2' />
</t>
<t hangText="">
SSPs to change their Carrier-Of- Record vs Transit role.
<vspace blankLines='2' />
</t>
<t hangText="">
Support for modification of authority with the conditions described in UC LOOKUP #6.
<vspace blankLines='2' />
</t>
<t hangText="">
Destination group offer and acceptance (optionally support auto-acceptance).
<vspace blankLines='2' />
</t>
<t hangText="">
Open numbering plans.
<vspace blankLines='2' />
</t>
</list>
</t>
<!--
The following data requirements apply:
<list style='format DREQ%d:'>
<t hangText="">
The registry provisioning data model MUST support the following entities: public identifiers, destination groups, routing groups and data recipient groups.
<vspace blankLines='1' />
</t>
<t>
The registry provisioning data model MUST support the grouping and aggregation of public identifiers within destination groups.
<vspace blankLines='1' />
</t>
<t hangText="">
The registry provisioning data model SHOULD support the grouping and aggregation of TN Ranges within destination groups.
<vspace blankLines='1' />
</t>
<t hangText="">
The registry provisioning data model SHOULD support the grouping and aggregation of RNs within destination groups.
<vspace blankLines='1' />
</t>
</list>
<vspace blankLines='1' />
The following functional requirements apply:
<list style='format FREQ%d:'>
<t hangText="">
The registry provisioning interface MUST support the creation and deletion of: public identifiers, destination groups, routing groups and data recipient groups.
<vspace blankLines='1' />
</t>
<t hangText="">
The registry provisioning interface MUST support near-real-time, non-real-time and deferred provisioning operations.
<vspace blankLines='1' />
</t>
<t hangText="">
The registry provisioning interface MUST support the following types of modifications:
<vspace blankLines='1' />
- reassignment of one or more public identifiers from one destination group to another;
<vspace blankLines='1' />
- reassignment of one data recipient from one destination group to another;
<vspace blankLines='1' />
- association and disassociation of a "Default Routing Group" with a Data Recipient; and,
<vspace blankLines='1' />
- identification of a destination group as a "Carrier of Record" (COR) destination group or a "Transit" destination group.
<vspace blankLines='1' />
</t>
<t>
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.
</t>
<t>
The registry provisioning interface MUST separate the provisioning of the routing information from the associated identifiers.
<vspace blankLines='1' />
</t>
<t>
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.
<vspace blankLines='1' />
</t>
<t>
The registry provisioning interface MUST allow an SSP to define multiple sub-identifiers that can be used in data recipient groups
</t>
<t>
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.
<vspace blankLines='1' />
</t>
<t>
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.
</t>
<t>
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.
</t>
<t>
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.
<vspace blankLines='1' />
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.
<vspace blankLines='1' />
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.
<vspace blankLines='1' />
Objects provisioned under one "Protocol Client Identifier" MUST NOT be alterable by a provisioning session established by another "Protocol Client Identifier".
<vspace blankLines='1' />
</t>
<t>
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.
<vspace blankLines='1' />
</t>
</list>
</t>
-->
</section>
<section anchor="security" title="Security Considerations">
<t>
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.
</t>
</section>
<section anchor="IANA" title="IANA Considerations">
<t>
This document does not register any values in IANA registries.
</t>
</section>
<section title="Acknowledgments">
<t>
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.
<vspace blankLines='1'/>
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.), Hadriel Kaplan (Acme Packet) and other participants on the DRINKS mailing list.
</t>
</section>
</middle>
<back>
<references title="Normative References">
&rfc2119;
</references>
<references title="Informative References">
&rfc3261;
&rfc3263;
&rfc5067;
&rfc5486;
</references>
</back>
</rfc>
| PAFTECH AB 2003-2026 | 2026-04-24 09:12:13 |