One document matched: draft-ietf-drinks-usecases-requirements-00.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">
]>
<rfc category="info" docName="draft-ietf-drinks-usecases-requirements-00" ipr="trust200902">
<?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="2009"/>
<area>Real-time Applications and Infrastructure Area</area>
<workgroup>DRINKS</workgroup>
<abstract>
<t>
This document captures the use cases and associated requirements for interfaces to provision session establishment data into SIP Service Provider components that aid 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="Introduction" title="Introduction">
<t>
This document contains use cases that describe the features and functionality of a registry provisioning interface for a registry that assists with session routing. From these use cases this document extracts the mandatory, recommended and optional requirements to be supported by the provisioning interface, and the corresponding data model. It also captures related use cases that are in scope for the DRINKS WG.
<vspace blankLines='1'/>
</t>
</section>
-->
<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) and <xref target="RFC5486"/> (e.g., LUF, LRF). 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="Local Data Repository: ">
The data store component of an addressing server that provides resolution responses.
<vspace blankLines='2' />
</t>
<t hangText="Destination Group: ">
A set of public identities that are grouped together to facilitate session setup and routing.
<vspace blankLines='2' />
</t>
<t hangText="Public Identity: ">
A generic term that 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="Routing Group: ">
a grouping of SED records.
<vspace blankLines='2' />
</t>
<t hangText="SED Record: ">
A SED Record contains much of the session establishment data or a 'redirect' to another registry where the session establishment data can be discovered. SED Records types supported are NAPTRs, CNAME, DNAME, and NS Records.
<vspace blankLines='1' />
<vspace blankLines='2' />
</t>
<t hangText="Data Recipient: ">
SP or SSP that receives or consumes SED and related information.
<vspace blankLines='2' />
</t>
<t hangText="Data Recipient Group: ">
A group of Data Recipients that receive the same set (or subset) of SED and related information.
<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 signalling path border elements (SBEs) need to complete the call. See <xref target="RFC5486"/> for more details.
<vspace blankLines='1' />
The specification of the format and protocols to configure 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.
<vspace blankLines='1' />
SED is typically created by the terminating SSP and consumed by the originating SSP. For scalability reasons SED is rarely exchanged directly between the intended parties. Instead, it is exchanged via intermediate 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. 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' />
The following is a summary of the proposed responsibilities for Registries and Local Data Repositories:
<list style="symbols">
<t>
Registries are the authoritative source for provisioned session establishment data (SED) and related information.
<vspace blankLines='1' />
</t>
<t>
Local Data Repositories are the data store component of an addressing server that provides resolution responses.
<vspace blankLines='1' />
</t>
<t>
Registries are responsible for distributing SED and related information to the local data repositories.
<vspace blankLines='1' />
</t>
</list>
<vspace blankLines='1' />
In addition, this document proposes the following aggregation groups with regards to SED (certain use cases also illustrate these groups):
<list style="symbols">
<t>
Aggregation of public Identifiers: The initial input "key" to a SED lookup is a public identifier. Since many public identifiers will share similar (or identical) destinations, and hence return similar (or identical) SED, provisioning the same set of SED for millions of public identifiers is inefficient, especially in cases where the SED needs to be modified. Therefore, an aggregation mechanism to "group" public identifiers is proposed. This aggregation is called a "destination group".
<vspace blankLines='1' />
</t>
<t>
Aggregation of SSPs: It is expected that SSPs may want to expose different sets of SED, depending on the receiving SSP. This exposure may not always be unique, in which case an aggregation makes it efficient. Such an aggregation is proposed, and termed "Data Receipient Group".
<vspace blankLines='1' />
</t>
<t>
Aggregation of SED records: Finally, it is anticipated that a complete set of routing data will 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 at this level is proposed, and called "routing group".
<vspace blankLines='1' />
</t>
</list>
The above aggregations are illustrated in <xref target="DataModelDiagram"/>.
<vspace blankLines='1' />
<figure title="Data Model Diagram" anchor="DataModelDiagram">
<artwork>
<![CDATA[
+---------+ +--------------+
| Data | |DATA RECIPIENT|
|Recipient|----------->| GROUP |
+---------+ +------.-------+
^
|
|
+--------------+ +---------+
| ROUTING | ------------->| SED |
| GROUP | | Record |
+--------------+ +---------+
^ ^
| |
| |
+--------------+ |
----->| DESTINATION |<----- |
| | GROUP | | |
| +--------------+ | |
| ^ | |
| | | |
| | | |
| | | |
+---------+ +---------+ +---------+ |
| RN | | TN | | Public |-------
| | | Range | |Identity |
+---------+ +---------+ +---------+
]]>
</artwork>
</figure>
<vspace blankLines='1' />
A description of the relationships follows:
<vspace blankLines='1' />
<list style='hanging'>
<t hangText="-">
An RN is associated with one or more Destination Groups
</t>
<t hangText="-">
A TN Range object is associated with one or more Destination Group
</t>
<t hangText="-">
A Public Identity is associated with zero or more Destination Group
</t>
<t hangText="-">
A Public Identity is associated with zero or more SED Records
<vspace blankLines='1' />
</t>
<t hangText="-">
A Destination Group is associated with zero or more Routing Groups.
<vspace blankLines='1' />
</t>
<t hangText="-">
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 regex will be "\1".
<vspace blankLines='1' />
</t>
<t hangText="-">
An Routing Group is associated with zero or more peering organizations to control visibility/access privs to that Routing Group and the Destination Groups they expose.
<vspace blankLines='1' />
</t>
<t hangText="-">
A Data Recipient Group is associated with (contains) zero or more Data Recipients to facilitate the allocation of access privileges to Routing Groups.
</t>
</list>
</t>
</section>
<section anchor="UseCasesAndRequirements" title="Use Cases and Requirements">
<t>
This section presents the use cases and associated requirements.
</t>
<section anchor="RegistryProvisioning" title="Registry Provisioning">
<t>
Registry is the authoritative source for session establishment data (SED). The registry needs to be provisioned with this data to perform its function. This data includes: destination groups, routing groups and data recipient groups. It can also include RNs and TN Ranges. The following sub-sections illustrate the use cases and the requirements, respectively.
</t>
<section anchor="RegistryProvisioningUseCases" title="Use Cases">
<t>
<list style='format USE CASE #%d'>
<t hangText="">
Near-real-time provisioning: The registry is provisioned with data that is not accompanied by an effective date or time. In such cases, the registry will validate the data and make it effective in near real-time.
<vspace blankLines='2' />
</t>
<t hangText="">
Non-real-time provisioning: The registry is provisioned via an asynchronous provisioning process. For instance, an SSP has commissioned a new registry and wishes to download a very large number of telephone numbers. Rather than stream individual entities, one at a time, the SSP's back-office system prefers to perform the operation as a set of one or more batches (e.g., via an external data file), instead of the near-real-time provisioning interface.
<vspace blankLines='2' />
</t>
<t hangText="">
Deferred provisioning: The registry is provisioned with data that is accompanied by an effective date and time. In scenarios such as this, the registry will validate the data and wait until the effective date and time to make it effective. TBD: What happens if near-real time data overrides data parked for later incorporation?
<vspace blankLines='2' />
</t>
<t hangText="">
Intra-network SED: SSP wishes to provision their intra-network Session Establishment Data (SED) such that it enables current and future network services to identify and route real-time sessions. For example, in the case of VoIP calls it allows one SoftSwitch (calling) to discover another (called). The SSP provisions IP addressing information pertaining to each SoftSwitch, which is provisioned to the registry but only distributed to a specific local data repository. This SED may differ from the SED that is distributed to other local data repositories.
<vspace blankLines='2' />
</t>
<t hangText="">
Destination Groups: An SSP may wish to control the flow of traffic into their network (ingress) based on groupings of Public Identities. Associating each group of Public Identities with a specific set of ingress SBEs or points-of-interconnect. The SSP, for example, sub-divides the country into four regions: North-East, South-East, Mid-West, and West-Coast. For each region they establish points-of-interconnect with peers and provision the associated SED hostnames or IP addresses of the SBEs used for ingress traffic. Against each region they provision the served Public Identities into groups- termed Destination Groups - and associate those destination groups with the appropriate points of ingres.
</t>
<t hangText="">
Public Identity is taken out of service: 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. This can also trigger delete operations to keep the local data repositories up-to-date.
<vspace blankLines='2' />
</t>
<t hangText="">
Assigning a set of public identities to a different Destination Group: A set of public identities are assigned a different Destination Group which effectively changes their routing information. This may be due to a network re-arrangement, a Signaling path Border Element being split into two, or a need to do maintenance, two carriers merging, or other considerations. This scenario can also include an effective date and time.
<vspace blankLines='2' />
</t>
<t hangText="">
Moving an SSP from one Data Recipient Group to another: An SSP would like to re-assign the Destination Groups it shares with a peer and move the peer SSP from one Data Recipient Group to another. This results in the moved peer seeing a new and different set of routing data.
<vspace blankLines='2' />
</t>
<t hangText="">
Inter-network SED (Direct and Selective Peering): In this case the SSP is the actual carrier-of-record; the entity serving the end-user. The SSP wishes to communicate different SED data to some of its peers that wish to route to its destinations. So the SSP has implemented direct points-of-interconnect with each peer and therefore would like address-resolution to result in different answers depending on which peer is asking.
<vspace blankLines='2' />
</t>
<t hangText="">
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.
<vspace blankLines='2' />
</t>
<t hangText="">
Global TN Destinations: The SSP wishes to add or remove one or multiple fully qualified TN destinations in a single provisioning request.
<vspace blankLines='2' />
</t>
<t hangText="">
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.
<vspace blankLines='2' />
</t>
<t hangText="">
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.
<vspace blankLines='2' />
</t>
<t hangText="">
Tier 2 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.
<vspace blankLines='2' />
</t>
<t hangText="">
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.
<vspace blankLines='2' />
</t>
<t hangText="">
Points of Egress: An SSP has a peering relationship with a peer, and when sending messages to that peer's point of interconnection, the originating SSP wishes to use one or more points of egress. These points of egress may vary for an given peer. This capability is supported by allowing an originating SSP to provision SED for identities terminating to other SSPs where the originating SSP is itself the data recipient. The provisioning SSP may make use of multiple data recipient identities if it requires different sets of egress points be used for calls originating from different parts of its network. Routing from egress points to ingress points of the terminating SSP may be accomplished by static routing from the egress points or by the egress points using data provisioned to the Registry by the terminating SSP.
<vspace blankLines='2' />
</t>
</list>
</t>
</section>
<section anchor="RegistryProvisioningRequirements" title="Requirements">
<t>
<vspace blankLines='1' />
The following data requirements apply:
<list style='format DREQ%d:'>
<t hangText="">
The registry provisioning data model MUST support the following entities: public identities, 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 identities 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 identities, 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 identities 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 "Primary Provider" 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 identities.
<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-identities 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>
</list>
</t>
</section>
</section>
<section anchor="DistributionOfDataIntoLocalDataRepositories" title="Distribution of data into local data repositories">
<t>
This section targets use cases concerned with the distribution of SED to local data repositories. This is considered out-of-scope for this version of the document.
<!--
<list style='numbers'>
<t hangText="">
Provisioning a Public Identify or set of Public Identities at an effective date/time.
</t>
<t hangText="">
A Public Identify is taken out of service at an effective date/time.
</t>
<t hangText="">
Assigning a set of Public Identities to a different destination group, thereby changing their routing.
</t>
</list>
-->
</t>
</section>
<!--
<section anchor="PeeringRelationships" title="Peering Relationships">
<t>
This section contains use cases pertaining to peering relationships.
</t>
</section>
<section anchor="SIPServiceProvider" title="SIP Service Provider">
<t>
</t>
</section>
<section anchor="LRFandLUF" title="LRF and LUF">
<t>
This Section contains use cases related to LRF and LUF. They are presented in the following sub-sections.
</t>
<section anchor="LRFusecases" title="LRF">
<t>
<list style='numbers'>
<t hangText="">
Source service provider direct connection (bi-lateral): A service provider may be connected directly with a peer network hosting the ultimate SIP destination. The source service provider is able to translate the information provided by the LUF to obtain the ingress point to the network containing the ultimate destination.
</t>
<t hangText="">
Source service provider direct connection (bi-lateral): A service provider may be connected directly with a peer network hosting the SIP destination. The source service provider is not able to translate the information received from the LUF to an ingress point for the network containing the ultimate destination.
</t>
<t hangText="">
Source service provider direct connection (bi-lateral): A service provider may be connected directly with a peer network not hosting the SIP destination. The Source service provider is not able to translate to the ultimate destination because the LUF does not contain a translation. The selected target network is able to perform the LUF to identify the ultimate destination.
</t>
<t hangText="">
Source service provider is not connected directly with a peer network hosting the ultimate SIP destination rather through an intermediate transit network which is connected to a peer network hosting the ultimate SIP destination. Note that variations in use cases 1, 2 & 3 all apply.
</t>
<t hangText="">
Source service provider is not connected directly with a peer network hosting the ultimate SIP destination, rather to a clearing house network which is connected to a peer network hosting the ultimate SIP destination.
</t>
<t hangText="">
Source service provider is not connected directly with a peer network hosting the ultimate SIP destination rather through more than one intermediate transit networks which are all connected to a peer network hosting the ultimate SIP destination. The source service provider has to chose the transit service provider to select.
</t>
<t hangText="">
Source service provider has multiple paths to a destination network both on inter-network connections and inter-transit network connections. The source service provider wants to select different transit networks and different routes to those networks based on various criteria such as traffic load, capacity, cost, latency, etc.
</t>
<t hangText="">
Roaming mobile user uses IMS service accessed through local breakout, the service is located outside the serving network.
</t>
<t hangText="">
Roaming mobile user is disconnected from emergency service call (via IMS local breakout). The PSAP is located in a network outside of the serving network. The PSAP initiates a callback to the mobile which should go to the serving network, not the home network from the network the PSAP is located in.
</t>
<t hangText="">
A transit network connected to the source service provider has had a route change or a network connectivity change which needs to be communicated to its peer networks.
</t>
<t hangText="">
A transit network has a change in the domains it is able to reach (added, dropped/unavailable, route change) which it needs to send to its peer networks.
</t>
<t hangText="">
The transit network uses LRF to route internally to the network and to select one of several possible exit points, next hop transit network and specific connection between networks.
</t>
<t hangText="">
The service provider may have fixed domain routing specified in the LRF which overrides the domain routing provided by peer networks.
</t>
<t hangText="">
The service provider may have fixed routing specified in the LRF as a default until a peer network identifies it is able to provide alternate (better) routing.
</t>
</list>
</t>
</section>
<section anchor="LUFusecases" title="LUF">
<t>
A service provider's LUF is connected to several different Registries some for national numbers, some for enterprise identifiers (e.g. @example.com translating to @example.nt for an enterprise user who has a mobile with a public user identity or GRUU (3GPP TS 23.228) which is part of an enterprise domain. {What if there is a collision and conflict between some particular number or domain between registries?}
</t>
</section>
</section>
<section anchor="SSP" title="SSP">
<t>
This Section contains SIP Service Provider specific use cases. They are presented in the following sub-sections.
</t>
<section anchor="GenericSSP" title="Generic SSP">
<t>
An SSP provisions a registry to offer different routes to different interconnecting parties. The SSP uses the same routes for an aggregation of public identities (e.g., TNs) and desires to be able to specify routing for the aggregate. Routes consist of a set of RRs of any legitimate type.
</t>
</section>
<section anchor="SmallSSP" title="Small SSP">
<t>
The small SSP provides coverage to a small city only with 3 different peer interconnects: 1) To another small SSP covering an adjacent small city; 2) to a mid-sized SSP providing coverage to the remainder of the state; 3 to a large multi-national SSP providing SSP transit services for the remainder of the world.
</t>
<section anchor="ConfiguringsmallSSProuting" title="Configuring small SSP routing">
<t>
The small SSP with a small number of SSP peer arrangements prefers to statically define and provision the SED routing through network engineering tools by the network engineering staff. This is because the domain coverage of each peer SSP will not change very frequently and the small SSP does not want to incur the cost and complexity of a dynamically established routing data.
</t>
</section>
<section anchor="SmallSSPLUFLRFconsolidation" title="Small SSP LUF/LRF consolidation">
<t>
A small SSP only needs a single network element to handle its entire LUF/LRF needs and as such combines the LUF and LRF. The routing associations in this network element are provisioned statically through network management tools by network operation or engineering staff.
</t>
</section>
</section>
<section anchor="LargeSSP" title="Large SSP">
<t>
The large SSP provides coverage to a large country: the SSP is administratively divided into regions. The SSP provides SSP transit services to smaller SSPs operating in the same areas. The SSP has both direct SSP connections for national and international service and indirect SSP connections for international service to some countries based on traffic levels. This results in multiple possible routes to some destination SSPs through different intermediate SSPs. Each SSP region has a different sub-set of peer SSPs that it is directly connected to (e.g. Some regions may have to route internally to another SSP region to reach the destination SSP).
</t>
<section anchor="ConfiguringlargeSSProuting" title="Configuring large SSP routing">
<t>
The large SSP has a large number of direct and indirect peer arrangements along with multiple possible routes to the same destination SSP. The large SSP prefers to only provision the SSP peers and have the elements such as SBCs learn the routes based on peer SSP advertisements to eliminate routing errors (loops, dead ends, etc.) which are service affecting and almost impossible to troubleshoot in a network of this size.
</t>
</section>
<section anchor="LargeSSPLUFLRFseparationandLRFdistribution" title="Large SSP LUF/LRF separation and LRF distribution">
<t>
A large SSP needs to centralize its LUF but split off the LRF for deployment in decentralized regional network elements. The routing associations in the regional LRFs are provisioned dynamically through advertisements by the large SSP peering SSPs regarding which domains they are able to handle.
</t>
</section>
<section anchor="Large SSP peering with a small SSP" title="Large SSP peering with a small SSP">
<t>
A large SSP peers with a small SSP. The small SSP is unable to support the cost and complexity of dynamically advertising to its peer SSPs the domains it is able to reach directly or indirectly. The large SSP provisions routing association data statically representing the domains which the small SSP can reach either directly or indirectly, through network management tools by network operation or engineering staff.
</t>
</section>
</section>
</section>
-->
<section anchor="MiscUseCases" title="Miscellaneous Use Cases">
<t>
This section contains additional use cases for consideration.
</t>
<section anchor="IndirectPeeringtoSelectedDestinations" title="Indirect Peering to Selected Destinations">
<t>
The SSP transit provider wishes to provide transit peering points for a set of destinations. But that set of destinations does not align with the destination groups that already exist. The SSP wishes to establish its own destination groups for the destinations that it provides transit to.
</t>
</section>
<section anchor="RN Destinations" title="TBD: RN Destinations">
<t>
The SSP does not wish to provision individual TNs, but instead, for ease of management, wishes to provision Routing Numbers ((e.g., as in some number portability implementations). Each RN effectively represents a set of individual TNs, and that set of TNs is assumed to change 'automatically' as TNs are ported in and ported out. Note that this approach requires a query to resolve a TN to an RN prior to using the provisioned data to route.
</t>
</section>
</section>
</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 (Verisign), Manjul Maharishi (Verisign), 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.
</t>
</section>
</middle>
<back>
<references title="Normative References">
&rfc2119;
</references>
<references title="Informative References">
&rfc3261;
<!--&rfc3263;
&rfc3761;
-->
&rfc5486;
<!--
<reference anchor='I-D.espp-protocol'>
<front>
<title>ENUM-SIP Server Provisioning Protocol (ESPP)</title>
<author initials='K.C.' surname="Cartwright" fullname='Kenneth Cartwright'>
<organization>VeriSign</organization>
<address>
<postal>
<street>dunno</street>
<city>dunno</city> <region>VA</region>
<code>11111</code>
<country>USA</country>
</postal>
<email>kcartwright@verisign.com</email>
</address>
</author>
<author initials='S.M.D.' surname="Dimig" fullname='Stephen M. Dimig'>
<organization>Tekelec</organization>
<address>
<postal>
<street>5200 Paramount Parkway</street>
<city>Morrisville</city> <region>NC</region>
<code>27560</code>
<country>USA</country>
</postal>
<email>stephen.dimig@tekelec.com</email>
</address>
</author>
<author initials='M.T.' surname="Teodoro" fullname='Mark Teodoro'>
<organization>NeuStar</organization>
<address>
<postal>
<street>46000 Center Oak Plaza</street>
<city>Sterling</city> <region>VA</region>
<code>20166</code>
<country>USA</country>
</postal>
<email>mark.teodoro@neustar.com</email>
</address>
</author>
<author initials='J-F.M.' surname="Mule" fullname='Jean-Francois Mule'>
<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>jfm@cablelabs.com</email>
</address>
</author>
<date month='July' year='2008' />
</front>
<seriesInfo name="Internet-Draft" value="draft-mule-peppermint-espp-protocol-02.txt"/>
<format type='HTML' target='http://tools.ietf.org/html/draft-mule-peppermint-espp-protocol' />
</reference>
-->
</references>
</back>
</rfc>
| PAFTECH AB 2003-2026 | 2026-04-24 03:31:07 |