draft-ietf-drinks-spprov-04.txt | draft-ietf-drinks-spprov-05.txt | |||
---|---|---|---|---|
DRINKS J-F. Mule | DRINKS J-F. Mule | |||
Internet-Draft CableLabs | Internet-Draft CableLabs | |||
Intended status: Standards Track K. Cartwright | Intended status: Standards Track K. Cartwright | |||
Expires: August 21, 2011 TNS | Expires: September 5, 2011 TNS | |||
S. Ali | S. Ali | |||
NeuStar | NeuStar | |||
A. Mayrhofer | A. Mayrhofer | |||
enum.at GmbH | enum.at GmbH | |||
February 17, 2011 | March 4, 2011 | |||
Session Peering Provisioning Protocol | Session Peering Provisioning Protocol | |||
draft-ietf-drinks-spprov-04 | draft-ietf-drinks-spprov-05 | |||
Abstract | Abstract | |||
This document defines a protocol for provisioning session | This document defines a protocol for provisioning session | |||
establishment data into Session Data Registries and SIP Service | establishment data into Session Data Registries and SIP Service | |||
Provider data stores. The provisioned data is typically used by | Provider data stores. The provisioned data is typically used by | |||
various network elements for session peering. | various network elements for session peering. | |||
This document describes the Session Peering Provisioning Protocol | This document describes the Session Peering Provisioning Protocol | |||
used by clients to provision registries. The document provides a set | used by clients to provision registries. The document provides a set | |||
skipping to change at page 1, line 44 | skipping to change at page 1, line 44 | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on August 21, 2011. | This Internet-Draft will expire on September 5, 2011. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2011 IETF Trust and the persons identified as the | Copyright (c) 2011 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
skipping to change at page 2, line 40 | skipping to change at page 2, line 40 | |||
4.8. Request and Response Correlation . . . . . . . . . . . . . 16 | 4.8. Request and Response Correlation . . . . . . . . . . . . . 16 | |||
4.9. Request Acknowledgement . . . . . . . . . . . . . . . . . 16 | 4.9. Request Acknowledgement . . . . . . . . . . . . . . . . . 16 | |||
4.10. Mandatory Transport . . . . . . . . . . . . . . . . . . . 16 | 4.10. Mandatory Transport . . . . . . . . . . . . . . . . . . . 16 | |||
5. Base Protocol Data Structures . . . . . . . . . . . . . . . . 17 | 5. Base Protocol Data Structures . . . . . . . . . . . . . . . . 17 | |||
5.1. Request and Response Structures . . . . . . . . . . . . . 17 | 5.1. Request and Response Structures . . . . . . . . . . . . . 17 | |||
5.1.1. Update Request and Response Structures . . . . . . . . 17 | 5.1.1. Update Request and Response Structures . . . . . . . . 17 | |||
5.1.2. Query Request and Response Structures . . . . . . . . 20 | 5.1.2. Query Request and Response Structures . . . . . . . . 20 | |||
5.2. Response Codes and Messages . . . . . . . . . . . . . . . 22 | 5.2. Response Codes and Messages . . . . . . . . . . . . . . . 22 | |||
5.3. Basic Object Type and Organization Identifiers . . . . . . 24 | 5.3. Basic Object Type and Organization Identifiers . . . . . . 24 | |||
6. Protocol Commands . . . . . . . . . . . . . . . . . . . . . . 26 | 6. Protocol Commands . . . . . . . . . . . . . . . . . . . . . . 26 | |||
6.1. Add Route Group Operation . . . . . . . . . . . . . . . . 26 | 6.1. Add Destination Group Operation . . . . . . . . . . . . . 26 | |||
6.2. Get Route Groups Operation . . . . . . . . . . . . . . . . 30 | 6.2. Get Destination Groups Operation . . . . . . . . . . . . . 27 | |||
6.3. Add Destination Group Operation . . . . . . . . . . . . . 31 | 6.3. Add Public Identifier Operation . . . . . . . . . . . . . 28 | |||
6.4. Get Destination Groups Operation . . . . . . . . . . . . . 32 | 6.4. Get Public Identifiers Operation . . . . . . . . . . . . . 33 | |||
6.5. Add Route Group Offer Operation . . . . . . . . . . . . . 33 | 6.5. Add Route Group Operation . . . . . . . . . . . . . . . . 33 | |||
6.6. Accept Route Group Offer Operation . . . . . . . . . . . . 35 | 6.6. Get Route Groups Operation . . . . . . . . . . . . . . . . 38 | |||
6.7. Reject Route Group Offer Operation . . . . . . . . . . . . 36 | 6.7. Add Route Record Operation . . . . . . . . . . . . . . . . 39 | |||
6.8. Get Route Group Offers Operation . . . . . . . . . . . . . 37 | 6.8. Get Route Records Operation . . . . . . . . . . . . . . . 43 | |||
6.9. Public Identifier Operations . . . . . . . . . . . . . . . 39 | 6.9. Add Route Group Offer Operation . . . . . . . . . . . . . 44 | |||
6.10. Egress Route Operations . . . . . . . . . . . . . . . . . 43 | 6.10. Accept Route Group Offer Operation . . . . . . . . . . . . 47 | |||
6.11. Add Route Record Operation . . . . . . . . . . . . . . . . 46 | 6.11. Reject Route Group Offer Operation . . . . . . . . . . . . 48 | |||
6.12. Get Route Records Operation . . . . . . . . . . . . . . . 50 | 6.12. Get Route Group Offers Operation . . . . . . . . . . . . . 49 | |||
6.13. Delete Operation . . . . . . . . . . . . . . . . . . . . . 51 | 6.13. Egress Route Operations . . . . . . . . . . . . . . . . . 50 | |||
7. SPPP Examples . . . . . . . . . . . . . . . . . . . . . . . . 53 | 6.14. Delete Operation . . . . . . . . . . . . . . . . . . . . . 52 | |||
7.1. Add Destination Group . . . . . . . . . . . . . . . . . . 53 | 7. SPPP Examples . . . . . . . . . . . . . . . . . . . . . . . . 55 | |||
7.2. Add Route Records . . . . . . . . . . . . . . . . . . . . 54 | 7.1. Add Destination Group . . . . . . . . . . . . . . . . . . 55 | |||
7.3. Add Route Records -- URIType . . . . . . . . . . . . . . . 55 | 7.2. Add Route Records . . . . . . . . . . . . . . . . . . . . 56 | |||
7.4. Add Route Group . . . . . . . . . . . . . . . . . . . . . 56 | 7.3. Add Route Records -- URIType . . . . . . . . . . . . . . . 57 | |||
7.5. Add Public Identity -- Successful COR claim . . . . . . . 58 | 7.4. Add Route Group . . . . . . . . . . . . . . . . . . . . . 58 | |||
7.6. Add LRN . . . . . . . . . . . . . . . . . . . . . . . . . 59 | 7.5. Add Public Identity -- Successful COR claim . . . . . . . 60 | |||
7.7. Add TN Range . . . . . . . . . . . . . . . . . . . . . . . 60 | 7.6. Add LRN . . . . . . . . . . . . . . . . . . . . . . . . . 61 | |||
7.8. Add TN Range with Open Number Plan support . . . . . . . . 61 | 7.7. Add TN Range . . . . . . . . . . . . . . . . . . . . . . . 62 | |||
7.9. Add TN Prefix . . . . . . . . . . . . . . . . . . . . . . 62 | 7.8. Add TN Prefix . . . . . . . . . . . . . . . . . . . . . . 63 | |||
7.10. Enable Peering -- Route Group Offer . . . . . . . . . . . 63 | 7.9. Enable Peering -- Route Group Offer . . . . . . . . . . . 64 | |||
7.11. Enable Peering -- Route Group Offer Accept . . . . . . . . 65 | 7.10. Enable Peering -- Route Group Offer Accept . . . . . . . . 66 | |||
7.12. Add Egress Route . . . . . . . . . . . . . . . . . . . . . 66 | 7.11. Add Egress Route . . . . . . . . . . . . . . . . . . . . . 67 | |||
7.13. Get Destination Group . . . . . . . . . . . . . . . . . . 67 | 7.12. Get Destination Group . . . . . . . . . . . . . . . . . . 68 | |||
7.14. Get Public Identity . . . . . . . . . . . . . . . . . . . 68 | 7.13. Get Public Identity . . . . . . . . . . . . . . . . . . . 69 | |||
7.15. Get Route Group Request . . . . . . . . . . . . . . . . . 69 | 7.14. Get Route Group Request . . . . . . . . . . . . . . . . . 70 | |||
7.16. Get Route Group Offers Request . . . . . . . . . . . . . . 70 | 7.15. Get Route Group Offers Request . . . . . . . . . . . . . . 71 | |||
7.17. Get Egress Route . . . . . . . . . . . . . . . . . . . . . 71 | 7.16. Get Egress Route . . . . . . . . . . . . . . . . . . . . . 72 | |||
7.18. Delete Destination Group . . . . . . . . . . . . . . . . . 73 | 7.17. Delete Destination Group . . . . . . . . . . . . . . . . . 74 | |||
7.19. Delete Public Identity . . . . . . . . . . . . . . . . . . 73 | 7.18. Delete Public Identity . . . . . . . . . . . . . . . . . . 74 | |||
7.20. Delete Route Group Request . . . . . . . . . . . . . . . . 74 | 7.19. Delete Route Group Request . . . . . . . . . . . . . . . . 75 | |||
7.21. Delete Route Group Offers Request . . . . . . . . . . . . 75 | 7.20. Delete Route Group Offers Request . . . . . . . . . . . . 76 | |||
7.22. Delete Egress Route . . . . . . . . . . . . . . . . . . . 76 | 7.21. Delete Egress Route . . . . . . . . . . . . . . . . . . . 77 | |||
8. XML Considerations . . . . . . . . . . . . . . . . . . . . . . 78 | 8. XML Considerations . . . . . . . . . . . . . . . . . . . . . . 79 | |||
8.1. Namespaces . . . . . . . . . . . . . . . . . . . . . . . . 78 | 8.1. Namespaces . . . . . . . . . . . . . . . . . . . . . . . . 79 | |||
8.2. Versioning and Character Encoding . . . . . . . . . . . . 78 | 8.2. Versioning and Character Encoding . . . . . . . . . . . . 79 | |||
9. Security Considerations . . . . . . . . . . . . . . . . . . . 79 | 9. Security Considerations . . . . . . . . . . . . . . . . . . . 80 | |||
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 80 | 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 81 | |||
11. Formal Specification . . . . . . . . . . . . . . . . . . . . . 81 | 11. Formal Specification . . . . . . . . . . . . . . . . . . . . . 82 | |||
12. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 94 | 12. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 94 | |||
13. References . . . . . . . . . . . . . . . . . . . . . . . . . . 95 | 13. References . . . . . . . . . . . . . . . . . . . . . . . . . . 95 | |||
13.1. Normative References . . . . . . . . . . . . . . . . . . . 95 | 13.1. Normative References . . . . . . . . . . . . . . . . . . . 95 | |||
13.2. Informative References . . . . . . . . . . . . . . . . . . 95 | 13.2. Informative References . . . . . . . . . . . . . . . . . . 95 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 97 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 97 | |||
1. Introduction | 1. Introduction | |||
Service providers and enterprises use registries to make call or | Service providers and enterprises use registries to make call or | |||
session routing decisions for Voice over IP, SMS and MMS traffic | session routing decisions for Voice over IP, SMS and MMS traffic | |||
skipping to change at page 7, line 41 | skipping to change at page 7, line 41 | |||
A Registry acts as an SPPP Server. | A Registry acts as an SPPP Server. | |||
Registrant: In this document, we extend the definition of a | Registrant: In this document, we extend the definition of a | |||
Registrant based on [RFC4725]. The Registrant is the end-user, | Registrant based on [RFC4725]. The Registrant is the end-user, | |||
the person or organization who is the "holder" of the Session | the person or organization who is the "holder" of the Session | |||
Establishment Data being provisioned into the Registry. For | Establishment Data being provisioned into the Registry. For | |||
example, in [I-D.ietf-drinks-usecases-requirements], a Registrant | example, in [I-D.ietf-drinks-usecases-requirements], a Registrant | |||
is pictured as a SIP Service Provider in Figure 2. | is pictured as a SIP Service Provider in Figure 2. | |||
A Registrant is identified by its name and an identifier in the | A Registrant is uniquely identified by its ID. | |||
data model. | ||||
Registrar: In this document, we also extend the definition of a | Registrar: In this document, we also extend the definition of a | |||
Registrar from [RFC4725]. A Registrar performs provisioning | Registrar from [RFC4725]. A Registrar performs provisioning | |||
operations on behalf of a Registrant by interacting with the | operations on behalf of a Registrant by interacting with the | |||
Registry, in our case via the SPPP protocol defined in this | Registry, in our case via the SPPP protocol defined in this | |||
document. | document. | |||
A Registrar is identified by its name and an identifier in the | A Registrar is identified by its ID. | |||
data model. | ||||
3. Protocol High Level Design | 3. Protocol High Level Design | |||
This section introduces the structure of the data model and provides | This section introduces the structure of the data model and provides | |||
the information framework for the SPPP protocol. An overview of the | the information framework for the SPPP protocol. An overview of the | |||
protocol operations is first provided with a typical deployment | protocol operations is first provided with a typical deployment | |||
scenario. The data model is then defined along with all the objects | scenario. The data model is then defined along with all the objects | |||
manipulated by the protocol and their relationships. | manipulated by the protocol and their relationships. | |||
3.1. Protocol Layering | 3.1. Protocol Layering | |||
skipping to change at page 10, line 48 | skipping to change at page 10, line 48 | |||
which an SPPP Client populates a Registry with these logical objects. | which an SPPP Client populates a Registry with these logical objects. | |||
Various clients belonging to different Registrars may use the | Various clients belonging to different Registrars may use the | |||
protocol for populating the Registry's data. | protocol for populating the Registry's data. | |||
The logical structure presented below is consistent with the | The logical structure presented below is consistent with the | |||
terminology and requirements defined in | terminology and requirements defined in | |||
[I-D.ietf-drinks-usecases-requirements]. | [I-D.ietf-drinks-usecases-requirements]. | |||
+-------------+ +------------------+ | +-------------+ +------------------+ | |||
| all object | |Organization: | | | all object | |Organization: | | |||
| types | |orgId, | | | types | |orgId | | |||
+------+------+ |orgName, | | +------+------+ | | | |||
+------------>|extension | | +------------>| | | |||
| | | All objects are +------------------+ | |||
associated with 2 ^ | ||||
All objects are | | | Organizations to |A Route Group is | |||
associated with 2 | | | identify the |associated with | |||
Organizations to +------------------+ | registrant and |zero or more Peering | |||
identify the ^ | the registrar |Organizations | |||
registrant and |A Route Group is | ||||
the registrar |associated with | ||||
|zero or more Peering | ||||
|Organizations | ||||
| | | | |||
+--------+--------------+ | +--------+--------------+ | |||
|Route Group: | +-----[abstract]-+ | |Route Group: | +-----[abstract]-+ | |||
| rant, | | Route Record: | | | rant, | | Route Record: | | |||
| rar, | | | | | rar, | | | | |||
| rgName, | | rrName, | | | rgName, | | rrName, | | |||
| destGrpRef, +------->| priority, | | | destGrpRef, +------->| priority, | | |||
| isInSvc, | | extension | | | isInSvc, | | extension | | |||
| rrRef, | | | | | rrRef, | | | | |||
| peeringOrg, | +----------------+ | | peeringOrg, | +----------------+ | |||
| sourceIdent, | ^ | | sourceIdent, | ^ | |||
| priority, | | | | priority, | | | |||
| extension | |Various types | | extension | |Various types | |||
+-----------------------+ |of Route | +-----------------------+ |of Route | |||
^ |Records... | | |Records... | |||
| +------+------------... | | +------+------------... | |||
| | | | | | | | | | |||
| +----+ +-------+ +----+ | | +----+ +-------+ +----+ | |||
| | URI| | NAPTR | | NS | | v | URI| | NAPTR | | NS | | |||
+----------------+-----+ +----+ +-------+ +----+ | +----------------+-----+ +----+ +-------+ +----+ | |||
|Destination | | |Destination | | |||
|Group: | +----------[abstract]-+ | |Group: | +----------[abstract]-+ | |||
| rant, | |Public Identifier: | | | rant, | |Public Identifier: | | |||
| rar, | | | | | rar, | | | | |||
| dgName, | | rant, | | | dgName, | | rant, | | |||
| extension |<----+ rar, | | | extension |<----+ rar, | | |||
+----------------------+ | publicIdentifier, | | +----------------------+ | publicIdentifier, | | |||
| destGrpRef, | | | destGrpRef, | | |||
| rrRef, | | | rrRef, | | |||
skipping to change at page 12, line 4 | skipping to change at page 11, line 49 | |||
+---------------------+ | +---------------------+ | |||
^ | ^ | |||
|Various types | |Various types | |||
|of Public | |of Public | |||
|Identifiers... | |Identifiers... | |||
+---------+-------+------------... | +---------+-------+------------... | |||
| | | | | | | | | | |||
+------+ +-----+ +-----+ +-----+ | +------+ +-----+ +-----+ +-----+ | |||
| TN | | TNP | | TNR | | RN | | | TN | | TNP | | TNR | | RN | | |||
+------+ +-----+ +-----+ +-----+ | +------+ +-----+ +-----+ +-----+ | |||
SPPP Data Model | ||||
SPPP Data Model | ||||
Figure 3 | Figure 3 | |||
The objects and attributes that comprise the data model can be | The objects and attributes that comprise the data model can be | |||
described as follows (objects listed from the bottom up): | described as follows (objects listed from the bottom up): | |||
o Public Identifier: | o Public Identifier: | |||
From a broad perspective a public identifier is a well known | From a broad perspective a public identifier is a well known | |||
attribute that is used as the key to perform resolution lookups. | attribute that is used as the key to perform resolution lookups. | |||
Within the context of SPPP, a Public Identifier object can be a | Within the context of SPPP, a Public Identifier object can be a | |||
telephone number, a range of telephone numbers, a PSTN Routing | telephone number, a range of telephone numbers, a PSTN Routing | |||
Number (RN), or a prefix. | Number (RN), or a TN prefix. | |||
An SPPP Public Identifier is associated with a Destination Group | An SPPP Public Identifier is associated with a Destination Group | |||
to create a logical grouping of Public Identifiers that share a | to create a logical grouping of Public Identifiers that share a | |||
common set of Routes. | common set of Routes. | |||
A TN Public Identifier may optionally be associated with zero or | A TN Public Identifier may optionally be associated with zero or | |||
more individual Route Records. This ability for a Public | more individual Route Records. This ability for a Public | |||
Identifier to be directly associated with a set of Route Records | Identifier to be directly associated with a set of Route Records | |||
(e.g. target URI), as opposed to being associated with a | (e.g. target URI), as opposed to being associated with a | |||
Destination Group, supports the use cases where the target URI | Destination Group, supports the use cases where the target URI | |||
skipping to change at page 13, line 22 | skipping to change at page 13, line 18 | |||
three type of Route Records: URIType, NAPTRType, and NSType. | three type of Route Records: URIType, NAPTRType, and NSType. | |||
These Route Records extend the abstract type RteRecType and | These Route Records extend the abstract type RteRecType and | |||
inherit the common attribute 'priority' that is meant for setting | inherit the common attribute 'priority' that is meant for setting | |||
precedence across the route records defined within a Route Group | precedence across the route records defined within a Route Group | |||
in a protocol agnostic fashion. | in a protocol agnostic fashion. | |||
o Organization: | o Organization: | |||
An Organization is an entity that may fulfill any combination of | An Organization is an entity that may fulfill any combination of | |||
three roles: Registrant, Registrar, and Peering Organization. All | three roles: Registrant, Registrar, and Peering Organization. All | |||
SPPP objects are associated with two organization identifiers to | SPPP objects are associated with two organization identifiers to | |||
identify each object's registrant and the registrar. A Route | identify each object's registrant and registrar. A Route Group | |||
Group object is also associated with a set of zero or more | object is also associated with a set of zero or more organization | |||
organization identifiers that identify the peering organizations | identifiers that identify the peering organizations whose query | |||
whose query responses may include the routing information (SED) | responses may include the routing information (SED) defined in the | |||
defined in the Route Records within that Route Group. | Route Records within that Route Group. | |||
4. Transport Protocol Requirements | 4. Transport Protocol Requirements | |||
This section provides requirements for transport protocols suitable | This section provides requirements for transport protocols suitable | |||
for SPPP. More specifically, this section specifies the services, | for SPPP. More specifically, this section specifies the services, | |||
features, and assumptions that SPPP delegates to the chosen transport | features, and assumptions that SPPP delegates to the chosen transport | |||
and envelope technologies. | and envelope technologies. | |||
Two different groups of use cases are specified in | Two different groups of use cases are specified in | |||
[I-D.ietf-drinks-usecases-requirements]. One group of use cases | [I-D.ietf-drinks-usecases-requirements]. One group of use cases | |||
skipping to change at page 17, line 40 | skipping to change at page 17, line 40 | |||
An SPPP update request object is contained within the generic | An SPPP update request object is contained within the generic | |||
<spppUpdateRequest> element. | <spppUpdateRequest> element. | |||
<element name="spppUpdateRequest"> | <element name="spppUpdateRequest"> | |||
<complexType> | <complexType> | |||
<sequence> | <sequence> | |||
<element name="clientTransId" type="spppb:TransIdType" | <element name="clientTransId" type="spppb:TransIdType" | |||
minOccurs="0"/> | minOccurs="0"/> | |||
<element name="minorVer" type="spppb:MinorVerType" | <element name="minorVer" type="spppb:MinorVerType" | |||
minOccurs="0"/> | minOccurs="0"/> | |||
<element name="rqst" type="spppb:BasicRqstType" | <element name="rqstObj" type="spppb:BasicUpdateRqstType" | |||
maxOccurs="unbounded"/> | maxOccurs="unbounded"/> | |||
</sequence> | </sequence> | |||
</complexType> | </complexType> | |||
</element> | </element> | |||
<simpleType name="TransIdType"> | <simpleType name="TransIdType"> | |||
<restriction base="string"/> | <restriction base="string"/> | |||
</simpleType> | </simpleType> | |||
<simpleType name="MinorVerType"> | <simpleType name="MinorVerType"> | |||
<restriction base="unsignedLong"/> | <restriction base="unsignedLong"/> | |||
skipping to change at page 18, line 30 | skipping to change at page 18, line 30 | |||
minor version of the SPPP API that the client is attempting to | minor version of the SPPP API that the client is attempting to | |||
use. This is used in conjunction with the major version | use. This is used in conjunction with the major version | |||
identifier in the XML namespace to identify the version of SPPP | identifier in the XML namespace to identify the version of SPPP | |||
that the client is using. If the element is not present, the | that the client is using. If the element is not present, the | |||
server assumes that the client is using the latest minor version | server assumes that the client is using the latest minor version | |||
supported by the SPPP server for the given major version. The | supported by the SPPP server for the given major version. The | |||
versions supported by a given SPPP server can be retrieved by | versions supported by a given SPPP server can be retrieved by | |||
the client using the SPPP server menu operation described later | the client using the SPPP server menu operation described later | |||
in the document. | in the document. | |||
o rqst: One or more BasicRqstType objects. These are the actions | o rqstObj: One or more BasicUpdateRqstType objects. These are the | |||
that the client is requesting the SPPP server perform. They are | actions that the client is requesting the SPPP server perform. | |||
processed by the SPPP server in the order in which they are | They are processed by the SPPP server in the order in which they | |||
included in the request. And with respect to handling error | are included in the request. And with respect to handling error | |||
conditions, it is a matter of policy whether the objects are | conditions, it is a matter of policy whether the objects are | |||
processed in a "stop and rollback" fashion or in a "stop and | processed in a "stop and rollback" fashion or in a "stop and | |||
commit" fashion. In the "stop and rollback" scenario, the SPPP | commit" fashion. In the "stop and rollback" scenario, the SPPP | |||
server would stop processing BasicRqstType object instances in | server would stop processing BasicUpdateRqstType object | |||
the request at the first error and roll back any BasicRqstType | instances in the request at the first error and roll back any | |||
object instances that had already been processed for that update | BasicUpdateRqstType object instances that had already been | |||
request. In the "stop and commit" scenario the SPPP server | processed for that update request. In the "stop and commit" | |||
would stop processing BasicRqstType object instances in the | scenario the SPPP server would stop processing | |||
request at the first error but commit any BasicRqstType object | BasicUpdateRqstType object instances in the request at the first | |||
instances that had already been processed for that update | error but commit any BasicUpdateRqstType object instances that | |||
request. | had already been processed for that update request. | |||
All update request objects extend the base type BasicRqstType. This | All update request objects extend the base type BasicUpdateRqstType. | |||
base type is defined as follows: | This base type is defined as follows: | |||
<complexType name="BasicRqstType" abstract="true"> | <complexType name="BasicUpdateRqstType" abstract="true"> | |||
<sequence> | <sequence> | |||
<element name="ext" type="spppb:ExtAnyType" minOccurs="0"/> | <element name="ext" type="spppb:ExtAnyType" minOccurs="0"/> | |||
</sequence> | </sequence> | |||
</complexType> | </complexType> | |||
The BasicRqstType object primarily acts as an abstract base type, and | The BasicUpdateRqstType object primarily acts as an abstract base | |||
its only data element is described as follows: | type, and its only data element is described as follows: | |||
o ext: This is the standard extension element for this object. | o ext: This is the standard extension element for this object. | |||
Refer to the Extensibility section of this document for more | Refer to the Extensibility section of this document for more | |||
details. | details. | |||
5.1.1.2. Update Response | 5.1.1.2. Update Response | |||
An SPPP update response object is contained within the generic | An SPPP update response object is contained within the generic | |||
<spppUpdateResponse> element. | <spppUpdateResponse> element. | |||
skipping to change at page 19, line 47 | skipping to change at page 19, line 47 | |||
<sequence> | <sequence> | |||
<element name="code" type="int"/> | <element name="code" type="int"/> | |||
<element name="msg" type="string"/> | <element name="msg" type="string"/> | |||
</sequence> | </sequence> | |||
</complexType> | </complexType> | |||
<complexType name="RqstObjResultCodeType"> | <complexType name="RqstObjResultCodeType"> | |||
<complexContent> | <complexContent> | |||
<extension base="spppb:ResultCodeType"> | <extension base="spppb:ResultCodeType"> | |||
<sequence> | <sequence> | |||
<element name="rqstObj" type="spppb:BasicRqstType"/> | <element name="rqstObj" type="spppb:BasicUpdateRqstType"/> | |||
</sequence> | </sequence> | |||
</extension> | </extension> | |||
</complexContent> | </complexContent> | |||
</complexType> | </complexType> | |||
An <spppUpdateResponse> contains the elements necessary for the SPPP | An <spppUpdateResponse> contains the elements necessary for the SPPP | |||
client to precisely determine the overal result of the request, and | client to precisely determine the overal result of the request, and | |||
if an error occurred, it provides information about the specific | if an error occurred, it provides information about the specific | |||
object, data element, or condition caused the error. | object, data element, or condition caused the error. | |||
skipping to change at page 21, line 15 | skipping to change at page 21, line 15 | |||
5.1.2.1. Query Request | 5.1.2.1. Query Request | |||
An SPPP query request object is contained within the generic | An SPPP query request object is contained within the generic | |||
<spppQueryRequest> element. | <spppQueryRequest> element. | |||
<element name="spppQueryRequest"> | <element name="spppQueryRequest"> | |||
<complexType> | <complexType> | |||
<sequence> | <sequence> | |||
<element name="minorVer" type="spppb:MinorVerType" | <element name="minorVer" type="spppb:MinorVerType" | |||
minOccurs="0"/> | minOccurs="0"/> | |||
<element name="rqst" type="spppb:BasicQueryRqstType"/> | <element name="rqstObj" type="spppb:BasicQueryRqstType"/> | |||
</sequence> | </sequence> | |||
</complexType> | </complexType> | |||
</element> | </element> | |||
The data elements within the <spppQueryRequest> element are described | The data elements within the <spppQueryRequest> element are described | |||
as follows: | as follows: | |||
o minorVer: Zero or one minor version identifier, indicating the | o minorVer: Zero or one minor version identifier, indicating the | |||
minor version of the SPPP API that the client is attempting to | minor version of the SPPP API that the client is attempting to | |||
use. This is used in conjunction with the major version | use. This is used in conjunction with the major version | |||
identifier in the XML namespace to identify the version of SPPP | identifier in the XML namespace to identify the version of SPPP | |||
that the client is using. If the element is not present, the | that the client is using. If the element is not present, the | |||
server assumes that the client is using the latest minor version | server assumes that the client is using the latest minor version | |||
supported by the SPPP server for the given major version. The | supported by the SPPP server for the given major version. The | |||
versions supported by a given SPPP server can be retrieved by | versions supported by a given SPPP server can be retrieved by | |||
the client using the SPPP server menu operation described later | the client using the SPPP server menu operation described later | |||
in the document. | in the document. | |||
o rqst: One BasicQueryRqstType objects. This is the query that | o rqstObj: One BasicQueryRqstType objects. This is the query that | |||
the client is requesting the SPPP server perform. | the client is requesting the SPPP server perform. | |||
All query request objects extend the base type BasicQueryRqstType. | All query request objects extend the base type BasicQueryRqstType. | |||
This base type is defined as follows: | This base type is defined as follows: | |||
<complexType name="BasicQueryRqstType" abstract="true"> | <complexType name="BasicQueryRqstType" abstract="true"> | |||
<sequence> | <sequence> | |||
<element name="ext" type="spppb:ExtAnyType" minOccurs="0"/> | <element name="ext" type="spppb:ExtAnyType" minOccurs="0"/> | |||
</sequence> | </sequence> | |||
</complexType> | </complexType> | |||
skipping to change at page 23, line 23 | skipping to change at page 23, line 23 | |||
individual message event within the category defines by the | individual message event within the category defines by the | |||
first two digits. | first two digits. | |||
The response codes are also categorized as to whether they are | The response codes are also categorized as to whether they are | |||
overall response codes that may only be returned in the | overall response codes that may only be returned in the | |||
"overallResult" data element in SPPP responses, of object level | "overallResult" data element in SPPP responses, of object level | |||
response codes that may only be returned in the "rqstObjResult" | response codes that may only be returned in the "rqstObjResult" | |||
element of the SPPP responses. | element of the SPPP responses. | |||
+--------+--------------------------+-------------------------------+ | +--------+--------------------------+-------------------------------+ | |||
| Result | Text | Overall or Object Level | | | Result | Result Message | Overall or Object Level | | |||
| Code | | | | | Code | | | | |||
+--------+--------------------------+-------------------------------+ | +--------+--------------------------+-------------------------------+ | |||
| 1000 | Request Succeeded. | Overall Response Code | | | 1000 | Request Succeeded. | Overall Response Code | | |||
| | | | | | | | | | |||
| 2001 | Request syntax invalid. | Overall Response Code | | | 2001 | Request syntax invalid. | Overall Response Code | | |||
| | | | | | | | | | |||
| 2002 | Request too large. | Overall Response Code | | | 2002 | Request too large. | Overall Response Code | | |||
| | | | | | | | | | |||
| 2003 | Version not supported. | Overall Response Code | | | 2003 | Version not supported. | Overall Response Code | | |||
| | | | | | | | | | |||
skipping to change at page 26, line 10 | skipping to change at page 26, line 10 | |||
peering organizations (peeringOrg) are instances of OrgIdType. The | peering organizations (peeringOrg) are instances of OrgIdType. The | |||
OrgIdType is defined as a string and all OrgIdType instances SHOULD | OrgIdType is defined as a string and all OrgIdType instances SHOULD | |||
follow the textual convention: "namespace:value" (for example "iana- | follow the textual convention: "namespace:value" (for example "iana- | |||
en:32473"). See the IANA Consideration section for more details. | en:32473"). See the IANA Consideration section for more details. | |||
6. Protocol Commands | 6. Protocol Commands | |||
This section provides a description of each supported protocol | This section provides a description of each supported protocol | |||
command. | command. | |||
6.1. Add Route Group Operation | 6.1. Add Destination Group Operation | |||
As described in the introductory sections, a Destination Group | ||||
represents a set of Public Identifiers with common routing | ||||
information. | ||||
The AddDestGrpRqstType operation creates or overwrites a Destination | ||||
Group object. If a Destination Group with the given name and | ||||
registrant ID (which together comprise the unique key for a | ||||
Destination Group) does not exist, then the server MUST create the | ||||
Destination Group. If a Destination Group with the given name and | ||||
registrant ID does exist, then the server MUST replace the current | ||||
properties of the Destination Group with the properties passed into | ||||
the AddDestGrpsRqstType operation. The XSD declarations of the | ||||
operation request object are as follows: | ||||
<complexType name="AddDestGrpRqstType"> | ||||
<complexContent> | ||||
<extension base="spppb:BasicUpdateRqstType"> | ||||
<sequence> | ||||
<element name="destGrp" type="spppb:DestGrpType"/> | ||||
</sequence> | ||||
</extension> | ||||
</complexContent> | ||||
</complexType> | ||||
The element passed into the spppUpdateRequest element for this | ||||
operation is an element of type AddDestGrpRqsttype, which extends | ||||
BasicUpdateRqstType and contains a DestGrpType object. The | ||||
DestGrpType object structure is defined as follows: | ||||
<complexType name="DestGrpType"> | ||||
<complexContent> | ||||
<extension base="spppb:BasicObjType"> | ||||
<sequence> | ||||
<element name="dgName" type="spppb:ObjNameType"/> | ||||
</sequence> | ||||
</extension> | ||||
</complexContent> | ||||
</complexType> | ||||
The DestGrpType object is composed of the following elements: | ||||
o base: All first class objects extend BasicObjType which contains | ||||
the ID of the registrant organization that owns this object, the | ||||
ID of the registrar organization that provisioned this object, | ||||
the date and time that the object was created by the server, and | ||||
the date and time that the object was last modified. If the | ||||
client passed in either the created date or the modification | ||||
date, the server will ignore them. The server sets these two | ||||
date/time values. | ||||
o dgName: The character string that contains the name of the | ||||
Destination Group. This uniquely identifies this object within | ||||
the context of the registrant ID (a child element of the base | ||||
element as described above). | ||||
o ext: Point of extensibility described in a previous section of | ||||
this document. | ||||
As with the responses to all update operations, the result of the | ||||
AddDestGrpRqstType operation is contained in the generic | ||||
spppUpdateResponse data structure described in an earlier sections of | ||||
this document. For a detailed description of the spppUpdateResponse | ||||
data structure refer to that section of the document. | ||||
6.2. Get Destination Groups Operation | ||||
The getDestGrpsRqst operation allows a client to get the properties | ||||
of Destination Group objects that a registrar organization is | ||||
authorized to view. The server will attempt to find a Destination | ||||
Group object that has the registrant ID and destination group name | ||||
pair contained in each ObjKeyType object instance. If there are no | ||||
matching Destination Groups found then an empty result set will be | ||||
returned. If the set of ObjKeyType objects passed in is empty then | ||||
the server will return the list of Destination Group objects that the | ||||
querying registrar has the authority to view. | ||||
The element passed into the spppQueryRequest element for this | ||||
operation is an instance of type GetDestGrpsRqstType, which extends | ||||
BasicQueryRqstType and contains zero or more ObjKeyType objects. Any | ||||
limitation on the maximum number of objects that may be passed into | ||||
or returned by this operation is a policy decision and not limited by | ||||
the protocol. The XSD declaration of the operation is as follows: | ||||
<complexType name="GetDestGrpsRqstType"> | ||||
<complexContent> | ||||
<extension base="spppb:BasicQueryRqstType"> | ||||
<sequence> | ||||
<element name="objKey" type="spppb:ObjKeyType" | ||||
minOccurs="0" maxOccurs="unbounded"/> | ||||
</sequence> | ||||
</extension> | ||||
</complexContent> | ||||
</complexType> | ||||
As described in an earlier section of this document, the result of | ||||
any spppQueryRequest operation is an spppQueryResponse element that | ||||
contains the overall response code and the query result set, if any. | ||||
Refer to that section of the document for a detailed description of | ||||
the spppQueryResponse element. | ||||
6.3. Add Public Identifier Operation | ||||
A Public Identifier is the search key used for locating the session | ||||
establishment data (SED). In many cases, a Public Identifier is | ||||
attributed to the end user who has a retail relationship with the | ||||
service provider or registrant organization. SPPP supports the | ||||
notion of the carrier-of-record as defined in RFC 5067. Therefore, | ||||
the Registrant under which the Public Identity is being created can | ||||
optionally claim to be a carrier-of-record. | ||||
SPPP identifies two types of Public Identifiers: telephone numbers | ||||
(TN), and the routing numbers (RN). SPPP provides structures to | ||||
manage a single TN, a contiguous range of TNs, and a TN prefix. | ||||
The abstract XML schema type definition PubIDType is a generalization | ||||
for the concrete the Public Identifier schema types. PubIDType | ||||
element 'dgName' represents the name of the destination group that a | ||||
given Public Identifier is a member of. Because a Destination Group | ||||
is uniquely identified by its composite business key, which is | ||||
comprised of its Registrant ID, rantId, and its name, dgName, the | ||||
Public Identity's containing Destination Group is identified by the | ||||
Public Identity's dgName element and the Public Identity's registrant | ||||
ID, rantId, element. The PubIDType object structure is defined as | ||||
follows: | ||||
<complexType name="PubIdType" abstract="true"> | ||||
<complexContent> | ||||
<extension base="spppb:BasicObjType"> | ||||
<sequence> | ||||
<element name="dgName" type="spppb:ObjNameType" minOccurs="0"/> | ||||
</sequence> | ||||
</extension> | ||||
</complexContent> | ||||
</complexType> | ||||
A registrant can add a Public Identifier using the AddPubIdRqstType | ||||
operation. To complete the add request, AddPubIdRqstType XML | ||||
instance is populated into the <spppUpdateRequest> element. A Public | ||||
Identifier may provisioned as a member of a Destination Group or | ||||
provisioned outside of a Destination Group. A Public Identifier that | ||||
is provisioned as a member of a Destionation Group is intended to be | ||||
associated with its SED through the Route Group(s) that are | ||||
associated with its containing Destination Group. A Public | ||||
Identifier that is not provisioned as a member of a Destionation | ||||
Group is intended to be associated with its SED through the Route | ||||
Records that are directly associated with the Public Identifier. If | ||||
a Public Identifier being added already exists then that Public | ||||
Identifier will be replaced with the newly provisioned Public | ||||
Identifier. | ||||
A telephone number is provisioned using the TNType, an extension of | ||||
PubIDType. Each TNType object is uniquely identified by the | ||||
combination of its tn element, and the unique key of its parent | ||||
Destination Group (dgName and rantId). In other words a given | ||||
telephone number string may exist within one or more Destination | ||||
Groups, but must not exist more than once within a Destination Group. | ||||
TNType is defined as follows: | ||||
<complexType name="TNType"> | ||||
<complexContent> | ||||
<extension base="spppb:PubIdType"> | ||||
<sequence> | ||||
<element name="tn" type="string"/> | ||||
<element name="rrRef" type="spppb:RteRecRefType" | ||||
minOccurs="0" maxOccurs="unbounded"/> | ||||
<element name="corInfo" type="spppb:CORInfoType" | ||||
minOccurs="0"/> | ||||
</sequence> | ||||
</extension> | ||||
</complexContent> | ||||
</complexType> | ||||
TNType consists of the following attributes: | ||||
o tn: Telephone number to be added to the Registry. | ||||
o rrRef: Optional reference to route records that are directly | ||||
associated with the TN Public Identifier. Following the SPPP | ||||
data model, the route record could be a protocol agnostic | ||||
URIType or another type. | ||||
o corInfo: corInfo is an optional parameter of type CORInfoType | ||||
that allows the registrant organization to set forth a claim to | ||||
be the carrier-of-record [see RFC 5067]. This is done by | ||||
setting the value of <corClaim> element of the CORInfoType | ||||
object structure to "true". The other two parameters of the | ||||
CORInfoType, <cor> and <corDate> are set by the Registry to | ||||
describe the outcome of the carrier-of-record claim by the | ||||
registrant. In general, inclusion of <corInfo> parameter is | ||||
useful if the Registry has the authority information, such as, | ||||
the number portability data, etc., in order to qualify whether | ||||
the registrant claim can be satisfied. If the carrier-of-record | ||||
claim disagrees with the authority data in the Registry, whether | ||||
the TN add operation fails or not is a matter of policy and it | ||||
is beyond the scope of this document. In the response message | ||||
<spppUpdateResponse>, the SPPP Server must include the <cor> | ||||
parameter of the <corInfo> element to let the registrant know | ||||
the outcome of the claim. | ||||
A routing number is provisioned using the RNType, an extension of | ||||
PubIDType. SSPs that possess the number portability data may be able | ||||
to leverage the RN search key to discover the ingress routes for | ||||
session establishment. Therefore, the registrant organization can | ||||
add the RN and associate it with the appropriate destination group to | ||||
share the route information. Each RNType object is uniquely | ||||
identified by the combination of its rn element, and the unique key | ||||
of its parent Destination Group (dgName and rantId). In other words | ||||
a given routing number string may exist within one or more | ||||
Destination Groups, but must not exist more than once within a | ||||
Destination Group. RNType is defined as follows: | ||||
<complexType name="RNType"> | ||||
<complexContent> | ||||
<extension base="spppb:PubIdType"> | ||||
<sequence> | ||||
<element name="rn" type="string" default="true"/> | ||||
<element name="corInfo" type="spppb:CORInfoType" | ||||
minOccurs="0"/> | ||||
</sequence> | ||||
</extension> | ||||
</complexContent> | ||||
</complexType> | ||||
RNType has the following attributes: | ||||
o rn: Routing Number used as the search key | ||||
o corInfo: Optional <corInfo> element of type CORInfoType. | ||||
TNRType structure is used to provision a contiguous range of | ||||
telephone numbers. The object definition requires a starting TN and | ||||
an ending TN that together define the span of the TN range. Use of | ||||
TNRType is particularly useful when expressing a TN range that does | ||||
not include all the TNs within a TN block or prefix. The TNRType | ||||
definition accommodates the open number plan as well such that the | ||||
TNs that fall between the start and end TN range may include TNs with | ||||
different length variance. Whether the Registry can accommodate the | ||||
open number plan semantics is a matter of policy and is beyond the | ||||
scope of this document. Each TNRType object is uniquely identified | ||||
by the combination of its startTn and endTn elements, and the unique | ||||
key of its parent Destination Group (dgName and rantId). In other | ||||
words a given TN Range may exist within one or more Destination | ||||
Groups, but must not exist more than once within a Destination Group. | ||||
TNRType object structure definition is as follows: | ||||
<complexType name="TNRType"> | ||||
<complexContent> | ||||
<extension base="spppb:PubIdType"> | ||||
<sequence> | ||||
<element name="startTn" type="string"/> | ||||
<element name="endTn" type="string"/> | ||||
<element name="corInfo" type="spppb:CORInfoType" | ||||
minOccurs="0"/> | ||||
</sequence> | ||||
</extension> | ||||
</complexContent> | ||||
</complexType> | ||||
TNRType has the following attributes: | ||||
o startTn: Starting TN in the TN range | ||||
o endTn: The last TN in the TN range | ||||
o corInfo: Optional <corInfo> element of type CORInfoType | ||||
In some cases, it is useful to describe a set of TNs with the help of | ||||
the first few digits of the telephone number, also referred to as the | ||||
telephone number prefix or a block. A given TN prefix may include | ||||
TNs with different length variance in support of open number plan. | ||||
Once again, whether the Registry supports the open number plan | ||||
semantics is a matter of policy and it is beyond the scope of this | ||||
document. The TNPType data structure is used to provision a TN | ||||
prefix. Each TNPType object is uniquely identified by the | ||||
combination of its tnPrefix element, and the unique key of its parent | ||||
Destination Group (dgName and rantId). TNPType is defined as | ||||
follows: | ||||
<complexType name="TNPType"> | ||||
<complexContent> | ||||
<extension base="spppb:PubIdType"> | ||||
<sequence> | ||||
<element name="tnPrefix" type="string"/> | ||||
<element name="corInfo" type="spppb:CORInfoType" | ||||
minOccurs="0"/> | ||||
</sequence> | ||||
</extension> | ||||
</complexContent> | ||||
</complexType> | ||||
TNPType consists of the following attributes: | ||||
o tnPrefix: The telephone number prefix | ||||
o corInfo: Optional <corInfo> element of type CORInfoType. | ||||
The object structure of AddPubIdRqstType is used to add Public | ||||
Identifiers is as follows | ||||
<complexType name="AddPubIdRqstType"> | ||||
<complexContent> | ||||
<extension base="spppb:BasicUpdateRqstType"> | ||||
<sequence> | ||||
<element name="pi" type="spppb:PubIdType"/> | ||||
</sequence> | ||||
</extension> | ||||
</complexContent> | ||||
</complexType> | ||||
6.4. Get Public Identifiers Operation | ||||
The SPPP client can use the GetPubIdsRqstType in the | ||||
<spppQueryRequest> structure to obtain information about one or more | ||||
<pi> objects. If no matching Public Identifiers are found, then an | ||||
empty result set is returned. | ||||
GetPubIdsRqstType object structure is as follows: | ||||
<complexType name="GetPubIdsRqstType"> | ||||
<complexContent> | ||||
<extension base="spppb:BasicQueryRqstType"> | ||||
<sequence> | ||||
<element name="pi" type="spppb:PubIdType" | ||||
maxOccurs="unbounded"/> | ||||
</sequence> | ||||
</extension> | ||||
</complexContent> | ||||
</complexType> | ||||
As described earlier in the document, the result of any | ||||
spppQueryRequest operation is a spppQueryResponse that contains the | ||||
response code and the query result set, if any. | ||||
6.5. Add Route Group Operation | ||||
As described in the introductory sections, a Route Group represents a | As described in the introductory sections, a Route Group represents a | |||
combined grouping of Route Records that define route information, | combined grouping of Route Records that define route information, | |||
Destination Groups that contain a set of Public Identifiers with | Destination Groups that contain a set of Public Identifiers with | |||
common routing information, and the list of peer organizations that | common routing information, and the list of peer organizations that | |||
have access to these public identifiers using this route information. | have access to these public identifiers using this route information. | |||
It is this indirect linking of public identifiers to their route | It is this indirect linking of public identifiers to their route | |||
information that significantly improves the scalability and | information that significantly improves the scalability and | |||
manageability of the peering data. Additions and changes to routing | manageability of the peering data. Additions and changes to routing | |||
information are reduced to a single operation on a Route Group or | information are reduced to a single operation on a Route Group or | |||
skipping to change at page 26, line 37 | skipping to change at page 34, line 21 | |||
(which together comprise the unique key or a Route Group) does not | (which together comprise the unique key or a Route Group) does not | |||
exist, then the server MUST create the Route Group. If a Route Group | exist, then the server MUST create the Route Group. If a Route Group | |||
with the given name and registrant ID does exist, then the server | with the given name and registrant ID does exist, then the server | |||
MUST replace the current properties of the Route Group with the | MUST replace the current properties of the Route Group with the | |||
properties passed into the AddRteGrpRqstType operation. The XSD | properties passed into the AddRteGrpRqstType operation. The XSD | |||
declarations of the AddRteGrpRqstType operation request object are as | declarations of the AddRteGrpRqstType operation request object are as | |||
follows: | follows: | |||
<complexType name="AddRteGrpRqstType"> | <complexType name="AddRteGrpRqstType"> | |||
<complexContent> | <complexContent> | |||
<extension base="spppb:BasicRqstType"> | <extension base="spppb:BasicUpdateRqstType"> | |||
<sequence> | <sequence> | |||
<element name="rteGrp" type="spppb:RteGrpType"/> | <element name="rteGrp" type="spppb:RteGrpType"/> | |||
</sequence> | </sequence> | |||
</extension> | </extension> | |||
</complexContent> | </complexContent> | |||
</complexType> | </complexType> | |||
The element passed into the spppUpdateRequest element for this | The element passed into the spppUpdateRequest element for this | |||
operation is an instance of AddRteGrpRqstType, which extends | operation is an instance of AddRteGrpRqstType, which extends | |||
BasicRqstType and contains one RteGrpType object. The RteGrpType | BasicUpdateRqstType and contains one RteGrpType object. The | |||
object structure is defined as follows: | RteGrpType object structure is defined as follows: | |||
<complexType name="RteGrpType"> | <complexType name="RteGrpType"> | |||
<complexContent> | <complexContent> | |||
<extension base="spppb:BasicObjType"> | <extension base="spppb:BasicObjType"> | |||
<sequence> | <sequence> | |||
<element name="rgName" type="spppb:ObjNameType"/> | <element name="rgName" type="spppb:ObjNameType"/> | |||
<element name="rrRef" type="spppb:RteRecRefType" | <element name="rrRef" type="spppb:RteRecRefType" | |||
minOccurs="0" maxOccurs="unbounded"/> | minOccurs="0" maxOccurs="unbounded"/> | |||
<element name="dgName" type="spppb:ObjNameType" minOccurs="0" | <element name="dgName" type="spppb:ObjNameType" minOccurs="0" | |||
maxOccurs="unbounded"/> | maxOccurs="unbounded"/> | |||
skipping to change at page 30, line 22 | skipping to change at page 38, line 22 | |||
o ext: Point of extensibility described in a previous section of | o ext: Point of extensibility described in a previous section of | |||
this document. | this document. | |||
As with the responses to all update operations, the result of the | As with the responses to all update operations, the result of the | |||
AddRteGrpRqstType operation is contained in the generic | AddRteGrpRqstType operation is contained in the generic | |||
spppUpdateResponse data structure described in an earlier sections of | spppUpdateResponse data structure described in an earlier sections of | |||
this document. For a detailed description of the spppUpdateResponse | this document. For a detailed description of the spppUpdateResponse | |||
data structure refer to that section of the document. | data structure refer to that section of the document. | |||
6.2. Get Route Groups Operation | 6.6. Get Route Groups Operation | |||
The getRteGrpsRqst operation allows a client to get the properties of | The getRteGrpsRqst operation allows a client to get the properties of | |||
Route Group objects that a registrar organization is authorized to | Route Group objects that a registrar organization is authorized to | |||
view. The server will attempt to find a Route Group object that has | view. The server will attempt to find a Route Group object that has | |||
the registrant ID and route group name pair contained in each | the registrant ID and route group name pair contained in each | |||
ObjKeyType object instance. If the set of ObjKeyType objects is | ObjKeyType object instance. If the set of ObjKeyType objects is | |||
empty then the server will return the list of Route Group objects | empty then the server will return the list of Route Group objects | |||
that the querying client has the authority to view. If there are no | that the querying client has the authority to view. If there are no | |||
matching Route Groups found then an empty result set will be | matching Route Groups found then an empty result set will be | |||
returned. | returned. | |||
The element passed into the spppQueryRequest element for this | The element passed into the spppQueryRequest element for this | |||
operation is an instance of type GetRteGrpsRqstType, which extends | operation is an instance of type GetRteGrpsRqstType, which extends | |||
BasicRqstType and contains zero or more ObjKeyType objects. Any | BasicUpdateRqstType and contains zero or more ObjKeyType objects. | |||
limitation on the maximum number of objects that may be passed into | Any limitation on the maximum number of objects that may be passed | |||
or returned by this operation is a policy decision and not limited by | into or returned by this operation is a policy decision and not | |||
the protocol. The XSD declaration of the operation is as follows: | limited by the protocol. The XSD declaration of the operation is as | |||
follows: | ||||
<complexType name="GetRteGrpsRqstType"> | <complexType name="GetRteGrpsRqstType"> | |||
<complexContent> | <complexContent> | |||
<extension base="spppb:BasicQueryRqstType"> | <extension base="spppb:BasicQueryRqstType"> | |||
<sequence> | <sequence> | |||
<element name="objKey" type="spppb:ObjKeyType" | <element name="objKey" type="spppb:ObjKeyType" | |||
minOccurs="0" maxOccurs="unbounded"/> | minOccurs="0" maxOccurs="unbounded"/> | |||
</sequence> | </sequence> | |||
</extension> | </extension> | |||
</complexContent> | </complexContent> | |||
skipping to change at page 30, line 50 | skipping to change at page 39, line 4 | |||
<complexType name="GetRteGrpsRqstType"> | <complexType name="GetRteGrpsRqstType"> | |||
<complexContent> | <complexContent> | |||
<extension base="spppb:BasicQueryRqstType"> | <extension base="spppb:BasicQueryRqstType"> | |||
<sequence> | <sequence> | |||
<element name="objKey" type="spppb:ObjKeyType" | <element name="objKey" type="spppb:ObjKeyType" | |||
minOccurs="0" maxOccurs="unbounded"/> | minOccurs="0" maxOccurs="unbounded"/> | |||
</sequence> | </sequence> | |||
</extension> | </extension> | |||
</complexContent> | </complexContent> | |||
</complexType> | </complexType> | |||
As described in an earlier section of this document, the result of | As described in an earlier section of this document, the result of | |||
any spppQueryRequest operation is an spppQueryResponse element that | any spppQueryRequest operation is an spppQueryResponse element that | |||
contains the overall response code and the query result set, if any. | contains the overall response code and the query result set, if any. | |||
Refer to that section of the document for a detailed description of | Refer to that section of the document for a detailed description of | |||
the spppQueryResponse element. | the spppQueryResponse element. | |||
6.3. Add Destination Group Operation | 6.7. Add Route Record Operation | |||
As described in the introductory sections, a Destination Group | As described in the introductory sections, a Route Group represents a | |||
represents a set of Public Identifiers with common routing | combined grouping of Route Records that define route information. | |||
information. | However, Route Records need not be created to just serve a single | |||
Route Group. Route Records can be created and managed to serve | ||||
multiple Route Groups. As a result, a change to the properties of a | ||||
network node, for example, that is used for multiple routes, would | ||||
necessitate just a single update operation to change the properties | ||||
of that node. The change would then be reflected in all the Route | ||||
Groups whose route record set contains a reference to that node. | ||||
The AddDestGrpRqstType operation creates or overwrites a Destination | The AddRteRecRqstType operation creates or overwrites a Route Record | |||
Group object. If a Destination Group with the given name and | object. If a Route Record with the given name and registrant ID | |||
registrant ID (which together comprise the unique key for a | (which together comprise the unique key or a Route Record) does not | |||
Destination Group) does not exist, then the server MUST create the | exist, then the server MUST create the Route Record. If a Route | |||
Destination Group. If a Destination Group with the given name and | Record with the given name and registrant ID does exist, then the | |||
registrant ID does exist, then the server MUST replace the current | server MUST replace the current properties of the Route Record with | |||
properties of the Destination Group with the properties passed into | the properties passed into the AddRteRecRqstType operation. The XSD | |||
the AddDestGrpsRqstType operation. The XSD declarations of the | declarations of the AddRteRecRqstType operation request object are as | |||
operation request object are as follows: | follows: | |||
<complexType name="AddDestGrpRqstType"> | <complexType name="AddRteRecRqstType"> | |||
<complexContent> | <complexContent> | |||
<extension base="spppb:BasicRqstType"> | <extension base="spppb:BasicUpdateRqstType"> | |||
<sequence> | <sequence> | |||
<element name="destGrp" type="spppb:DestGrpType"/> | <element name="rteRec" type="spppb:RteRecType"/> | |||
</sequence> | </sequence> | |||
</extension> | </extension> | |||
</complexContent> | </complexContent> | |||
</complexType> | </complexType> | |||
The element passed into the spppUpdateRequest element for this | The element passed into the spppUpdateRequest element for this | |||
operation is an element of type AddDestGrpRqsttype, which extends | operation is an instance of AddRteRecRqstType, which extends | |||
BasicRqstType and contains a DestGrpType object. The DestGrpType | BasicUpdateRqstType and contains one RteRecType object. The | |||
object structure is defined as follows: | RteRecType object structure is defined as follows: | |||
<complexType name="DestGrpType"> | <complexType name="RteRecType" abstract="true"> | |||
<complexContent> | <complexContent> | |||
<extension base="spppb:BasicObjType"> | <extension base="spppb:BasicObjType"> | |||
<sequence> | <sequence> | |||
<element name="dgName" type="spppb:ObjNameType"/> | <element name="rrName" type="spppb:ObjNameType"/> | |||
<element name="priority" type="unsignedShort" minOccurs="0"/> | ||||
</sequence> | </sequence> | |||
</extension> | </extension> | |||
</complexContent> | </complexContent> | |||
</complexType> | </complexType> | |||
The DestGrpType object is composed of the following elements: | The RteRecType object is composed of the following elements: | |||
o base: All first class objects extend BasicObjType which contains | o base: All first class objects extend BasicObjType which contains | |||
the ID of the registrant organization that owns this object, the | the ID of the registrant organization that owns this object, the | |||
ID of the registrar organization that provisioned this object, | ID of the registrar organization that provisioned this object, | |||
the date and time that the object was created by the server, and | the date and time that the object was created by the server, and | |||
the date and time that the object was last modified. If the | the date and time that the object was last modified. If the | |||
client passed in either the created date or the modification | client passes in either the created date or the modification | |||
date, the server will ignore them. The server sets these two | date, the server will ignore them. The server sets these two | |||
date/time values. | date/time values. | |||
o dgName: The character string that contains the name of the | o rrName: The character string that contains the name of the Route | |||
Destination Group. This uniquely identifies this object within | Record. It uniquely identifies this object within the context | |||
the context of the registrant ID (a child element of the base | of the registrant ID (a child element of the base element as | |||
element as described above). | described above). | |||
o priority: Zero or one priority value that can be used to provide | ||||
a relative value weighting of one Route Record over another. | ||||
The manner in which this value is used, perhaps in conjunction | ||||
with other factors, is a matter of policy. | ||||
As described above, route records are based on an abstract type: | ||||
RteRecType. The concrete types that use RteRecType as an extension | ||||
base are NAPTRType, NSType, and URIType. The definitions of these | ||||
types are included below. The NAPTRType object is comprised of the | ||||
data elements necessary for a NAPTR that contains routing information | ||||
for a Route Group. The NSType object is comprised of the data | ||||
elements necessary for a Name Server that points to another DNS | ||||
server that contains the desired routing information. The NSType is | ||||
relevant only when the resolution protocol is ENUM. The URIType | ||||
object is comprised of the data elements necessary to house a URI. | ||||
The data provisioned in a Registry can be leveraged for many purposes | ||||
and queried using various protocols including SIP, ENUM and others. | ||||
It is for this reason that a route record type offers a choice of URI | ||||
and DNS resource record types. URIType fulfills the need for both | ||||
SIP and ENUM protocols. When a given URIType is associated to a | ||||
destination group, the user part of the replacement string <uri> that | ||||
may require the Public Identifier cannot be preset. As a SIP | ||||
Redirect, the resolution server will apply <ere> pattern on the input | ||||
Public Identifier in the query and process the replacement string by | ||||
substituting any back reference(s) in the <uri> to arrive at the | ||||
final URI that is returned in the SIP Contact header. For an ENUM | ||||
query, the resolution server will simply return the value of the | ||||
<ere> and <uri> members of the URIType in the NAPTR REGEX parameter. | ||||
<complexType name="NAPTRType"> | ||||
<complexContent> | ||||
<extension base="spppb:RteRecType"> | ||||
<sequence> | ||||
<element name="order" type="unsignedShort"/> | ||||
<element name="flags" type="string" minOccurs="0"/> | ||||
<element name="svcs" type="string"/> | ||||
<element name="regx" type="spppb:RegexParamType" | ||||
minOccurs="0"/> | ||||
<element name="repl" type="string" minOccurs="0"/> | ||||
<element name="ttl" type="positiveInteger" minOccurs="0"/> | ||||
<element name="ext" type="spppb:ExtAnyType" minOccurs="0"/> | ||||
</sequence> | ||||
</extension> | ||||
</complexContent> | ||||
</complexType> | ||||
<complexType name="NSType"> | ||||
<complexContent> | ||||
<extension base="spppb:RteRecType"> | ||||
<sequence> | ||||
<element name="hostName" type="string"/> | ||||
<element name="ttl" type="positiveInteger" minOccurs="0"/> | ||||
<element name="ext" type="spppb:ExtAnyType" minOccurs="0"/> | ||||
</sequence> | ||||
</extension> | ||||
</complexContent> | ||||
</complexType> | ||||
<complexType name="URIType"> | ||||
<complexContent> | ||||
<extension base="spppb:RteRecType"> | ||||
<sequence> | ||||
<element name="ere" type="string" default="^(.*)$"/> | ||||
<element name="uri" type="string"/> | ||||
<element name="ext" type="spppb:ExtAnyType" minOccurs="0"/> | ||||
</sequence> | ||||
</extension> | ||||
</complexContent> | ||||
</complexType> | ||||
The NAPTRType object is composed of the following elements: | ||||
o order: Order value in an ENUM NAPTR, relative to other NAPTRType | ||||
objects in the same Route Group. | ||||
o svcs: ENUM service(s) that are served by the SBE. This field's | ||||
value must be of the form specified in [RFC3761] (e.g., E2U+ | ||||
pstn:sip+sip). The allowable values are a matter of policy and | ||||
not limited by this protocol. | ||||
o regx: NAPTR's regular expression field. If this is not included | ||||
then the Repl field must be included. | ||||
o repl: NAPTR replacement field, should only be provided if the | ||||
Regex field is not provided, otherwise it will be ignored by the | ||||
server. | ||||
o ttl: Number of seconds that an addressing server may cache this | ||||
NAPTR. | ||||
o ext: Point of extensibility described in a previous section of | ||||
this document. | ||||
The NSType object is composed of the following elements: | ||||
o hostName: Fully qualified host name of the name server. | ||||
o ttl: Number of seconds that an addressing server may cache this | ||||
Name Server. | ||||
o ext: Point of extensibility described in a previous section of | o ext: Point of extensibility described in a previous section of | |||
this document. | this document. | |||
The URIType object is composed of the following elements: | ||||
o ere: The POSIX Extended Regular Expression (ere) as defined in | ||||
[RFC3986]. | ||||
o uri: the URI as defined in [RFC3986]. In some cases, this will | ||||
serve as the replacement string and it will be left to the | ||||
resolution server to arrive at the final usable URI. | ||||
As with the responses to all update operations, the result of the | As with the responses to all update operations, the result of the | |||
AddDestGrpRqstType operation is contained in the generic | AddRteRecRqstType operation is contained in the generic | |||
spppUpdateResponse data structure described in an earlier sections of | spppUpdateResponse data structure described in an earlier sections of | |||
this document. For a detailed description of the spppUpdateResponse | this document. For a detailed description of the spppUpdateResponse | |||
data structure refer to that section of the document. | data structure refer to that section of the document. | |||
6.4. Get Destination Groups Operation | 6.8. Get Route Records Operation | |||
The getDestGrpsRqst operation allows a client to get the properties | The getRteRecsRqst operation allows a client to get the properties of | |||
of Destination Group objects that a registrar organization is | Route Record objects that a registrar organization is authorized to | |||
authorized to view. The server will attempt to find a Destination | view. The server will attempt to find a Route Record object that has | |||
Group object that has the registrant ID and destination group name | the registrant ID and route record name pair contained in each | |||
pair contained in each ObjKeyType object instance. If there are no | ObjKeyType object instance. If the set of ObjKeyType objects is | |||
matching Destination Groups found then an empty result set will be | empty then the server will return the list of Route Record objects | |||
returned. If the set of ObjKeyType objects passed in is empty then | that the querying client has the authority to view. If there are no | |||
the server will return the list of Destination Group objects that the | matching Route Record found then an empty result set will be | |||
querying registrar has the authority to view. | returned. | |||
The element passed into the spppQueryRequest element for this | The element passed into the spppQueryRequest element for this | |||
operation is an instance of type GetDestGrpsRqstType, which extends | operation is an instance of type GetRteRecsRqstType, which extends | |||
BasicQueryRqstType and contains zero or more ObjKeyType objects. Any | BasicUpdateRqstType and contains zero or more ObjKeyType objects. | |||
limitation on the maximum number of objects that may be passed into | Any limitation on the maximum number of objects that may be passed | |||
or returned by this operation is a policy decision and not limited by | into or returned by this operation is a policy decision and not | |||
the protocol. The XSD declaration of the operation is as follows: | limited by the protocol. The XSD declaration of the operation is as | |||
follows: | ||||
<complexType name="GetDestGrpsRqstType"> | <complexType name="GetRteRecsRqstType"> | |||
<complexContent> | <complexContent> | |||
<extension base="spppb:BasicQueryRqstType"> | <extension base="spppb:BasicQueryRqstType"> | |||
<sequence> | <sequence> | |||
<element name="objKey" type="spppb:ObjKeyType" | <element name="objKey" type="spppb:ObjKeyType" | |||
minOccurs="0" maxOccurs="unbounded"/> | minOccurs="0" maxOccurs="unbounded"/> | |||
</sequence> | </sequence> | |||
</extension> | </extension> | |||
</complexContent> | </complexContent> | |||
</complexType> | </complexType> | |||
As described in an earlier section of this document, the result of | As described in an earlier section of this document, the result of | |||
any spppQueryRequest operation is an spppQueryResponse element that | any spppQueryRequest operation is an spppQueryResponse element that | |||
contains the overall response code and the query result set, if any. | contains the overall response code and the query result set, if any. | |||
Refer to that section of the document for a detailed description of | Refer to that section of the document for a detailed description of | |||
the spppQueryResponse element. | the spppQueryResponse element. | |||
6.5. Add Route Group Offer Operation | 6.9. Add Route Group Offer Operation | |||
The list of peer organizations whose resolution responses can include | The list of peer organizations whose resolution responses can include | |||
the routing information contained in a given Route Group is | the routing information contained in a given Route Group is | |||
controlled by the organization to which a Route Group object belongs | controlled by the organization to which a Route Group object belongs | |||
(its registrant), and the peer organization that submits resolution | (its registrant), and the peer organization that submits resolution | |||
requests (a data recipient, also know as a peering organization). | requests (a data recipient, also know as a peering organization). | |||
The registrant offers access to a Route Group by submitting a Route | The registrant offers access to a Route Group by submitting a Route | |||
Group Offer. The data recipient can then accept or reject that | Group Offer. The data recipient can then accept or reject that | |||
offer. Not until access to a Route Group has been offered and | offer. Not until access to a Route Group has been offered and | |||
accepted will the data recipient's organization ID be included in the | accepted will the data recipient's organization ID be included in the | |||
skipping to change at page 34, line 7 | skipping to change at page 45, line 15 | |||
AddRteGrpOffersRqstType operation creates or overwrites one or more | AddRteGrpOffersRqstType operation creates or overwrites one or more | |||
Route Group Offer objects. If a Route Group Offer for the given | Route Group Offer objects. If a Route Group Offer for the given | |||
Route Group object key and the offeredTo Org ID does not exist, then | Route Group object key and the offeredTo Org ID does not exist, then | |||
the server creates the Route Group Offer object. If a such a Route | the server creates the Route Group Offer object. If a such a Route | |||
Group Offer does exist, then the server replaces the current object | Group Offer does exist, then the server replaces the current object | |||
with the new object. The XSD declarations of the operation request | with the new object. The XSD declarations of the operation request | |||
object are as follows: | object are as follows: | |||
<complexType name="AddRteGrpOfferRqstType"> | <complexType name="AddRteGrpOfferRqstType"> | |||
<complexContent> | <complexContent> | |||
<extension base="spppb:BasicRqstType"> | <extension base="spppb:BasicUpdateRqstType"> | |||
<sequence> | <sequence> | |||
<element name="rteGrpOffer" type="spppb:RteGrpOfferType"/> | <element name="rteGrpOffer" type="spppb:RteGrpOfferType"/> | |||
</sequence> | </sequence> | |||
</extension> | </extension> | |||
</complexContent> | </complexContent> | |||
</complexType> | </complexType> | |||
The element passed into the spppUpdateRequest element for this | The element passed into the spppUpdateRequest element for this | |||
operation is an instance of AddRteGrpOfferRqstType, which extends | operation is an instance of AddRteGrpOfferRqstType, which extends | |||
BasicRqstType and contains a RteGrpOfferType object. The XSD | BasicUpdateRqstType and contains a RteGrpOfferType object. The XSD | |||
declaration of the RteGrpOfferType is as follows: | declaration of the RteGrpOfferType is as follows: | |||
<complexType name="RteGrpOfferType"> | <complexType name="RteGrpOfferType"> | |||
<complexContent> | <complexContent> | |||
<extension base="spppb:BasicObjType"> | <extension base="spppb:BasicObjType"> | |||
<sequence> | <sequence> | |||
<element name="rteGrpOfferKey" | <element name="rteGrpOfferKey" | |||
type="spppb:RteGrpOfferKeyType"/> | type="spppb:RteGrpOfferKeyType"/> | |||
<element name="status" type="spppb:RteGrpOfferStatusType"/> | <element name="status" type="spppb:RteGrpOfferStatusType"/> | |||
<element name="offerDateTime" type="dateTime"/> | <element name="offerDateTime" type="dateTime"/> | |||
skipping to change at page 35, line 39 | skipping to change at page 47, line 21 | |||
o acceptDateTime: Date and time in GMT when the Route Group Offer | o acceptDateTime: Date and time in GMT when the Route Group Offer | |||
was accepted. | was accepted. | |||
As with the responses to all update operations, the result of the | As with the responses to all update operations, the result of the | |||
AddRteGrpOfferRqstType operation is contained in the generic | AddRteGrpOfferRqstType operation is contained in the generic | |||
spppUpdateResponse data structure described in an earlier sections of | spppUpdateResponse data structure described in an earlier sections of | |||
this document. For a detailed description of the spppUpdateResponse | this document. For a detailed description of the spppUpdateResponse | |||
data structure refer to that section of the document. | data structure refer to that section of the document. | |||
6.6. Accept Route Group Offer Operation | 6.10. Accept Route Group Offer Operation | |||
Not until access to a Route Group has been offered and accepted will | Not until access to a Route Group has been offered and accepted will | |||
the data recipient's organization ID will it be included in the | the data recipient's organization ID will it be included in the | |||
peeringOrg list in that Route Group object, and that Route Group's | peeringOrg list in that Route Group object, and that Route Group's | |||
peering information become a candidate for inclusion in the responses | peering information become a candidate for inclusion in the responses | |||
to the resolution requests submitted by that data recipient. The | to the resolution requests submitted by that data recipient. The | |||
AcceptRteGrpOffersRqstType operation is called by, or on behalf of, | AcceptRteGrpOffersRqstType operation is called by, or on behalf of, | |||
the data recipient to accept a Route Group Offer that is pending in | the data recipient to accept a Route Group Offer that is pending in | |||
the "offered" status for the data recipient's organization ID. If a | the "offered" status for the data recipient's organization ID. If a | |||
Route Group Offer for the given Route Group Offer key (route name, | Route Group Offer for the given Route Group Offer key (route name, | |||
route registrant ID, data recipient's organization ID) exists, then | route registrant ID, data recipient's organization ID) exists, then | |||
the server moves the Route Group Offer to the "accepted" status and | the server moves the Route Group Offer to the "accepted" status and | |||
adds that data recipient's organization ID into the list of | adds that data recipient's organization ID into the list of | |||
peerOrgIds for that Route Group. If a such a Route Group Offer does | peerOrgIds for that Route Group. If a such a Route Group Offer does | |||
not exist, then the server returns the appropriate error code, 2105. | not exist, then the server returns the appropriate error code, 2105. | |||
The XSD declarations for the operation request object are as follows: | The XSD declarations for the operation request object are as follows: | |||
<complexType name="AcceptRteGrpOfferRqstType"> | <complexType name="AcceptRteGrpOfferRqstType"> | |||
<complexContent> | <complexContent> | |||
<extension base="spppb:BasicRqstType"> | <extension base="spppb:BasicUpdateRqstType"> | |||
<sequence> | <sequence> | |||
<element name="rteGrpOfferKey" type="spppb:RteGrpOfferKeyType"/> | <element name="rteGrpOfferKey" type="spppb:RteGrpOfferKeyType"/> | |||
</sequence> | </sequence> | |||
</extension> | </extension> | |||
</complexContent> | </complexContent> | |||
</complexType> | </complexType> | |||
The element passed into the spppUpdateRequest element for this | The element passed into the spppUpdateRequest element for this | |||
operation is an instance of AcceptRteGrpOffersRqstType, which extends | operation is an instance of AcceptRteGrpOffersRqstType, which extends | |||
BasicRqstType and contains a RteGrpOfferKeyType object. | BasicUpdateRqstType and contains a RteGrpOfferKeyType object. | |||
As with the responses to all update operations, the result of the | As with the responses to all update operations, the result of the | |||
AcceptRteGrpOfferRqstType operation is contained in the generic | AcceptRteGrpOfferRqstType operation is contained in the generic | |||
spppUpdateResponse data structure described in an earlier sections of | spppUpdateResponse data structure described in an earlier sections of | |||
this document. For a detailed description of the spppUpdateResponse | this document. For a detailed description of the spppUpdateResponse | |||
data structure refer to that section of the document. | data structure refer to that section of the document. | |||
6.7. Reject Route Group Offer Operation | 6.11. Reject Route Group Offer Operation | |||
The data recipient to which a Route Group has been offered has the | The data recipient to which a Route Group has been offered has the | |||
option of rejecting a Route Group Offer. Furthermore, that offer may | option of rejecting a Route Group Offer. Furthermore, that offer may | |||
be rejected, regardless of whether or not it has been previously | be rejected, regardless of whether or not it has been previously | |||
accepted. The RejectRteGrpOffersRqstType operation is used for these | accepted. The RejectRteGrpOffersRqstType operation is used for these | |||
purposes and is called by, or on behalf of, the data recipient to | purposes and is called by, or on behalf of, the data recipient to | |||
accept a Route Group Offer that is pending in the "offered" status or | accept a Route Group Offer that is pending in the "offered" status or | |||
is in the "accepted" status for the data recipient's organization ID. | is in the "accepted" status for the data recipient's organization ID. | |||
If a Route Group Offer for the given Route Group Offer key (route | If a Route Group Offer for the given Route Group Offer key (route | |||
name, route registrant ID, data recipient's organization ID) exists | name, route registrant ID, data recipient's organization ID) exists | |||
in either the offered or accepted status, then the server deletes | in either the offered or accepted status, then the server deletes | |||
that Route Group Offer object, and, if appropriate, removes the data | that Route Group Offer object, and, if appropriate, removes the data | |||
recipients organization ID from the list of peeringOrg IDs for that | recipients organization ID from the list of peeringOrg IDs for that | |||
Route Group. If the Route Group Offer does not exist, then the | Route Group. If the Route Group Offer does not exist, then the | |||
server returns the appropriate error code, 2105. The XSD | server returns the appropriate error code, 2105. The XSD | |||
declarations for the operation request object are as follows: | declarations for the operation request object are as follows: | |||
<complexType name="RejectRteGrpOfferRqstType"> | <complexType name="RejectRteGrpOfferRqstType"> | |||
<complexContent> | <complexContent> | |||
<extension base="spppb:BasicRqstType"> | <extension base="spppb:BasicUpdateRqstType"> | |||
<sequence> | <sequence> | |||
<element name="rteGrpOfferKey" type="spppb:RteGrpOfferKeyType"/> | <element name="rteGrpOfferKey" type="spppb:RteGrpOfferKeyType"/> | |||
</sequence> | </sequence> | |||
</extension> | </extension> | |||
</complexContent> | </complexContent> | |||
</complexType> | </complexType> | |||
The element passed into the spppUpdateRequest element for this | The element passed into the spppUpdateRequest element for this | |||
operation is an instance of RejectRteGrpOffersRqstType, which extends | operation is an instance of RejectRteGrpOffersRqstType, which extends | |||
BasicRqstType and contains a RteGrpOfferKeyType object. | BasicUpdateRqstType and contains a RteGrpOfferKeyType object. | |||
As with the responses to all update operations, the result of the | As with the responses to all update operations, the result of the | |||
RejectRteGrpOfferRqstType operation is contained in the generic | RejectRteGrpOfferRqstType operation is contained in the generic | |||
spppUpdateResponse data structure described in an earlier sections of | spppUpdateResponse data structure described in an earlier sections of | |||
this document. For a detailed description of the spppUpdateResponse | this document. For a detailed description of the spppUpdateResponse | |||
data structure refer to that section of the document. | data structure refer to that section of the document. | |||
6.8. Get Route Group Offers Operation | 6.12. Get Route Group Offers Operation | |||
The getRteGrpOffersRqst operation allows a client to get the | The getRteGrpOffersRqst operation allows a client to get the | |||
properties of zero or more Route Group Offer objects that registrar | properties of zero or more Route Group Offer objects that registrar | |||
is authorized to view. The server will attempt to find Route Group | is authorized to view. The server will attempt to find Route Group | |||
Offer objects that have all the properties specified in the criteria | Offer objects that have all the properties specified in the criteria | |||
passed into the operation. If no criteria is passed in then the | passed into the operation. If no criteria is passed in then the | |||
server will return the list of Route Group Offer objects that the | server will return the list of Route Group Offer objects that the | |||
querying client has the authority to view. If there are no matching | querying client has the authority to view. If there are no matching | |||
Route Group Offers found then an empty result set will be returned. | Route Group Offers found then an empty result set will be returned. | |||
skipping to change at page 39, line 5 | skipping to change at page 50, line 29 | |||
offers having one of these keys should be included in the result | offers having one of these keys should be included in the result | |||
set. The result set is also subject to other query criteria in | set. The result set is also subject to other query criteria in | |||
the request. | the request. | |||
As described in an earlier section of this document, the result of | As described in an earlier section of this document, the result of | |||
any spppQueryRequest operation is an spppQueryResponse element that | any spppQueryRequest operation is an spppQueryResponse element that | |||
contains the overall response code and the query result set, if any. | contains the overall response code and the query result set, if any. | |||
Refer to that section of the document for a detailed description of | Refer to that section of the document for a detailed description of | |||
the spppQueryResponse element. | the spppQueryResponse element. | |||
6.9. Public Identifier Operations | 6.13. Egress Route Operations | |||
Public Identifier is the search key used for locating the session | ||||
establishment data (SED). In many cases, a Public Identifier is | ||||
attributed to the end user who has a retail relationship with the | ||||
service provider or registrant organization. In SPPP, SED can be | ||||
provisioned by the registrant, or by the registrar on behalf of the | ||||
registrant. Also, SPPP supports the notion of the carrier-of-record | ||||
as defined in RFC 5067. Therefore, the entity adding the Public | ||||
Identity in the Registry can optionally claim to be a carrier-of- | ||||
record. | ||||
SPPP identifies three types of Public Identifiers: telephone number | ||||
(TN), and the routing number (RN). SPPP provides structures to | ||||
manage a single TN, a contiguous range of TNs, and a TN prefix. | ||||
The XML schema type definition PubIDType is the generalization of the | ||||
Public Identifier. PubIDType is an abstract type. In agreement with | ||||
the data model, PubIDType member 'dgName' represents the name of the | ||||
destination group that a given Public Identifier is associated to. | ||||
The PubIDType object structure is defined as follows: | ||||
<complexType name="PubIdType" abstract="true"> | ||||
<complexContent> | ||||
<extension base="spppb:BasicObjType"> | ||||
<sequence> | ||||
<element name="dgName" type="spppb:ObjNameType" minOccurs="0"/> | ||||
</sequence> | ||||
</extension> | ||||
</complexContent> | ||||
</complexType> | ||||
A registrant can add a Public Identifier with the help of a | ||||
BasicRqstType called AddPubIdRqstType. To complete the add request, | ||||
AddPubIdRqstType XML instance is added to <spppUpdateRequest> root | ||||
element. If there is a conflict and a Public Identifier already | ||||
exists in the Registry, the old entry will be replaced with the newly | ||||
provisioned entry. For the add or update operation, the destination | ||||
group name is a mandatory parameter. Not including a valid | ||||
destination group name in the update request will cause the Registry | ||||
to return an appropriate error. | ||||
Telephone number is identified by TNType, an extension of PubIDType. | ||||
Schema definition of TNType is as follows: | ||||
<complexType name="TNType"> | ||||
<complexContent> | ||||
<extension base="spppb:PubIdType"> | ||||
<sequence> | ||||
<element name="tn" type="string"/> | ||||
<element name="rrRef" type="spppb:RteRecRefType" | ||||
minOccurs="0" maxOccurs="unbounded"/> | ||||
<element name="corInfo" type="spppb:CORInfoType" | ||||
minOccurs="0"/> | ||||
</sequence> | ||||
</extension> | ||||
</complexContent> | ||||
</complexType> | ||||
TNType consists of the following attributes: | ||||
o tn: Telephone number to be added to the Registry. | ||||
o rrRef: Optional reference to the route record that is directly | ||||
associated with the TN Public Identifier. Following the SPPP | ||||
data model, the route record could be a protocol agnostic | ||||
URIType or another type. | ||||
o corInfo: corInfo is an optional parameter of type CORInfoType | ||||
that allows the registrant organization to set forth a claim to | ||||
be the carrier-of-record [see RFC 5067]. This is done by | ||||
setting the value of <corClaim> element of the CORInfoType | ||||
object structure to "true". The other two parameters of the | ||||
CORInfoType, <cor> and <corDate> are set by the Registry to | ||||
describe the outcome of the carrier-of-record claim by the | ||||
registrant. In general, inclusion of <corInfo> parameter is | ||||
useful if the Registry has the authority information, such as, | ||||
the number portability data, etc., in order to qualify whether | ||||
the registrant claim can be satisfied. If the carrier-of-record | ||||
claim disagrees with the authority data in the Registry, whether | ||||
the TN add operation fails or not is a matter of policy and it | ||||
is beyond the scope of this document. In the response message | ||||
<spppUpdateResponse>, the SPPP Server must include the <cor> | ||||
parameter of the <corInfo> element to let the registrant know | ||||
the outcome of the claim. | ||||
Routing number is identified by RNType. SSPs that possess the number | ||||
portability data may be able to leverage the RN search key to | ||||
discover the ingress routes for session establishment. Therefore, | ||||
the registrant organization can add the RN and associate it with the | ||||
appropriate destination group to share the route information. RNType | ||||
is defined as follows: | ||||
<complexType name="RNType"> | ||||
<complexContent> | ||||
<extension base="spppb:PubIdType"> | ||||
<sequence> | ||||
<element name="rn" type="string" default="true"/> | ||||
<element name="corInfo" type="spppb:CORInfoType" | ||||
minOccurs="0"/> | ||||
</sequence> | ||||
</extension> | ||||
</complexContent> | ||||
</complexType> | ||||
RNType has the following attributes: | ||||
o rn: Routing Number used as the search key | ||||
o corInfo: Optional <corInfo> element of type CORInfoType. | ||||
TNRType structure is used to add contiguous range of TNs. The object | ||||
definition requires a starting TN and the ending TN that describes | ||||
the TN range. In addition, TNRType includes an optional "prefix" | ||||
attribute to indicate that the given TN range qualifies for the Open | ||||
Number Plan (ONP). In order for the resolution server to correctly | ||||
respond to the queries for TNs in the TNRType object, the Registry | ||||
and/or the resolution server will need the national significant | ||||
number length data for the TN blocks included in the TNRType object. | ||||
Further, <spppUpdateRequest> is transactional in nature, therefore, | ||||
if the Registry encounters an error in adding even a single TN that | ||||
is included in the TNRType object, the whole request will be deemed a | ||||
failure. In other words, the partial success case is not supported. | ||||
TNPType object structure is as follows: | ||||
<complexType name="TNRType"> | ||||
<complexContent> | ||||
<extension base="spppb:PubIdType"> | ||||
<sequence> | ||||
<element name="startTn" type="string"/> | ||||
<element name="endTn" type="string"/> | ||||
<element name="corInfo" type="spppb:CORInfoType" | ||||
minOccurs="0"/> | ||||
</sequence> | ||||
<attribute name="prefix" type="boolean" default="false"> | ||||
</attribute> | ||||
</extension> | ||||
</complexContent> | ||||
</complexType> | ||||
TNRType has the following attributes: | ||||
o startTn: Starting TN in the TN range | ||||
o endTn: The last TN in the TN range | ||||
o corInfo: Optional <corInfo> element of type CORInfoType | ||||
o prefix: Optional attribute, when set to "true", indicates that | ||||
the Open Number Plan applies to a given TN Range | ||||
In some cases, it is useful to describe a set of TNs with the help of | ||||
the first few digits of the telephone number, also referred to as the | ||||
telephone number prefix or a block. In SPPP, the TNPType structure | ||||
is reserved for use of TN prefix as defined below: | ||||
<complexType name="TNPType"> | ||||
<complexContent> | ||||
<extension base="spppb:PubIdType"> | ||||
<sequence> | ||||
<element name="tnPrefix" type="string"/> | ||||
<element name="corInfo" type="spppb:CORInfoType" | ||||
minOccurs="0"/> | ||||
</sequence> | ||||
</extension> | ||||
</complexContent> | ||||
</complexType> | ||||
TNPType consists of the following attributes: | ||||
o tnPrefix: The telephone number prefix | ||||
o corInfo: Optional <corInfo> element of type CORInfoType. | ||||
The object structure of AddPubIdRqstType used to add Public | ||||
Identifiers is as follows | ||||
<complexType name="AddPubIdRqstType"> | ||||
<complexContent> | ||||
<extension base="spppb:BasicRqstType"> | ||||
<sequence> | ||||
<element name="pi" type="spppb:PubIdType"/> | ||||
</sequence> | ||||
</extension> | ||||
</complexContent> | ||||
</complexType> | ||||
The SPPP client can use the GetPubIdsRqstType in the | ||||
<spppQueryRequest> structure to obtain information about one or more | ||||
valid <pi> objects. If the GetPubIdsRqstType object does not include | ||||
<pi> data, then all applicable Public Identity data will be returned | ||||
in the response message. If no matching Public Identifiers are | ||||
found, then an empty result set is returned. | ||||
GetPubIdsRqstType object structure is as follows: | ||||
<complexType name="GetPubIdsRqstType"> | ||||
<complexContent> | ||||
<extension base="spppb:BasicQueryRqstType"> | ||||
<sequence> | ||||
<element name="pi" type="spppb:PubIdType" minOccurs="0" | ||||
maxOccurs="unbounded"/> | ||||
</sequence> | ||||
</extension> | ||||
</complexContent> | ||||
</complexType> | ||||
As described earlier in the document, the result of any | ||||
spppQueryRequest operation is a spppQueryResponse that contains the | ||||
response code and the query result set, if any. | ||||
6.10. Egress Route Operations | ||||
In a high-availability environment, the originating SSP likely has | In a high-availability environment, the originating SSP likely has | |||
more than one egress paths to the ingress SBE of the target SSP. If | more than one egress paths to the ingress SBE of the target SSP. If | |||
the originating SSP wants to exercise greater control and choose a | the originating SSP wants to exercise greater control and choose a | |||
specific egress SBE to be associated to the target ingress SBE, it | specific egress SBE to be associated to the target ingress SBE, it | |||
can do so using the AddEgrRteRqstType object. | can do so using the AddEgrRteRqstType object. | |||
Lets assume that the target SSP has offered to share one or more | Lets assume that the target SSP has offered to share one or more | |||
ingress route information and that the originating SSP has accepted | ingress route information and that the originating SSP has accepted | |||
the offer. In order to add the egress route to the Registry, the | the offer. In order to add the egress route to the Registry, the | |||
skipping to change at page 45, line 20 | skipping to change at page 52, line 7 | |||
should be used for. | should be used for. | |||
o ext: Point of extensibility described in a previous section of | o ext: Point of extensibility described in a previous section of | |||
this document. | this document. | |||
The AddEgrRteRqstType request is used to create or overwrite an | The AddEgrRteRqstType request is used to create or overwrite an | |||
egress route. | egress route. | |||
<complexType name="AddEgrRteRqstType"> | <complexType name="AddEgrRteRqstType"> | |||
<complexContent> | <complexContent> | |||
<extension base="spppb:BasicRqstType"> | <extension base="spppb:BasicUpdateRqstType"> | |||
<sequence> | <sequence> | |||
<element name="egrRte" type="spppb:EgrRteType"/> | <element name="egrRte" type="spppb:EgrRteType"/> | |||
</sequence> | </sequence> | |||
</extension> | </extension> | |||
</complexContent> | </complexContent> | |||
</complexType> | </complexType> | |||
An instance of AddEgrRtesRqstType is added in the spppUpdateRequest | An instance of AddEgrRtesRqstType is added in the spppUpdateRequest | |||
element in order to send a valid request to the server. Any | element in order to send a valid request to the server. Any | |||
limitation on the maximum number of AddEgrRteRqstType instances is a | limitation on the maximum number of AddEgrRteRqstType instances is a | |||
skipping to change at page 46, line 4 | skipping to change at page 52, line 35 | |||
<complexType name="GetEgrRtesRqstType"> | <complexType name="GetEgrRtesRqstType"> | |||
<complexContent> | <complexContent> | |||
<extension base="spppb:BasicQueryRqstType"> | <extension base="spppb:BasicQueryRqstType"> | |||
<sequence> | <sequence> | |||
<element name="objKey" type="spppb:ObjKeyType" | <element name="objKey" type="spppb:ObjKeyType" | |||
minOccurs="0" maxOccurs="unbounded"/> | minOccurs="0" maxOccurs="unbounded"/> | |||
</sequence> | </sequence> | |||
</extension> | </extension> | |||
</complexContent> | </complexContent> | |||
</complexType> | ||||
6.11. Add Route Record Operation | ||||
As described in the introductory sections, a Route Group represents a | ||||
combined grouping of Route Records that define route information. | ||||
However, Route Records need not be created to just serve a single | ||||
Route Group. Route Records can be created and managed to serve | ||||
multiple Route Groups. As a result, a change to the properties of a | ||||
network node, for example, that is used for multiple routes, would | ||||
necessitate just a single update operation to change the properties | ||||
of that node. The change would then be reflected in all the Route | ||||
Groups whose route record set contains a reference to that node. | ||||
The AddRteRecRqstType operation creates or overwrites a Route Record | ||||
object. If a Route Record with the given name and registrant ID | ||||
(which together comprise the unique key or a Route Record) does not | ||||
exist, then the server MUST create the Route Record. If a Route | ||||
Record with the given name and registrant ID does exist, then the | ||||
server MUST replace the current properties of the Route Record with | ||||
the properties passed into the AddRteRecRqstType operation. The XSD | ||||
declarations of the AddRteRecRqstType operation request object are as | ||||
follows: | ||||
<complexType name="AddRteRecRqstType"> | ||||
<complexContent> | ||||
<extension base="spppb:BasicRqstType"> | ||||
<sequence> | ||||
<element name="rteRec" type="spppb:RteRecType"/> | ||||
</sequence> | ||||
</extension> | ||||
</complexContent> | ||||
</complexType> | ||||
The element passed into the spppUpdateRequest element for this | ||||
operation is an instance of AddRteRecRqstType, which extends | ||||
BasicRqstType and contains one RteRecType object. The RteRecType | ||||
object structure is defined as follows: | ||||
<complexType name="RteRecType" abstract="true"> | ||||
<complexContent> | ||||
<extension base="spppb:BasicObjType"> | ||||
<sequence> | ||||
<element name="rrName" type="spppb:ObjNameType"/> | ||||
<element name="priority" type="unsignedShort" minOccurs="0"/> | ||||
</sequence> | ||||
</extension> | ||||
</complexContent> | ||||
</complexType> | ||||
The RteRecType object is composed of the following elements: | ||||
o base: All first class objects extend BasicObjType which contains | ||||
the ID of the registrant organization that owns this object, the | ||||
ID of the registrar organization that provisioned this object, | ||||
the date and time that the object was created by the server, and | ||||
the date and time that the object was last modified. If the | ||||
client passes in either the created date or the modification | ||||
date, the server will ignore them. The server sets these two | ||||
date/time values. | ||||
o rrName: The character string that contains the name of the Route | ||||
Record. It uniquely identifies this object within the context | ||||
of the registrant ID (a child element of the base element as | ||||
described above). | ||||
o priority: Zero or one priority value that can be used to provide | ||||
a relative value weighting of one Route Record over another. | ||||
The manner in which this value is used, perhaps in conjunction | ||||
with other factors, is a matter of policy. | ||||
o ext: Point of extensibility described in a previous section of | ||||
this document. | ||||
As described above, route records are based on an abstract type: | ||||
RteRecType. The concrete types that use RteRecType as an extension | ||||
base are NAPTRType, NSType, and URIType. The definitions of these | ||||
types are included below. The NAPTRType object is comprised of the | ||||
data elements necessary for a NAPTR that contains routing information | ||||
for a Route Group. The NSType object is comprised of the data | ||||
elements necessary for a Name Server that points to another DNS | ||||
server that contains the desired routing information. The URIType | ||||
object is comprised of the data elements necessary to house a URI. | ||||
The data provisioned in a Registry can be leveraged for many purposes | ||||
and queried using various protocols including SIP, ENUM and others. | ||||
It is for this reason that a route record type offers a choice of URI | ||||
and DNS resource record types. URIType fulfills the need for both | ||||
SIP and ENUM protocols. When a given URIType is associated to a | ||||
destination group, the user part of the replacement string <uri> that | ||||
may require the Public Identifier cannot be preset. As a SIP | ||||
Redirect, the resolution server will apply <ere> pattern on the input | ||||
Public Identifier in the query and process the replacement string by | ||||
substituting any back reference(s) in the <uri> to arrive at the | ||||
final URI that is returned in the SIP Contact header. For an ENUM | ||||
query, the resolution server will simply return the value of the | ||||
<ere> and <uri> members of the URIType in the NAPTR REGEX parameter. | ||||
<complexType name="RteRecType" abstract="true"> | ||||
<sequence> | ||||
<element name="rrName" type="spppb:ObjNameType"/> | ||||
<element name="priority" type="unsignedShort"/> | ||||
</sequence> | ||||
</complexType> | ||||
<complexType name="NAPTRType"> | ||||
<complexContent> | ||||
<extension base="spppb:RteRecType"> | ||||
<sequence> | ||||
<element name="order" type="unsignedShort"/> | ||||
<element name="flags" type="string" minOccurs="0"/> | ||||
<element name="svcs" type="string"/> | ||||
<element name="regx" type="spppb:RegexParamType" | ||||
minOccurs="0"/> | ||||
<element name="repl" type="string" minOccurs="0"/> | ||||
<element name="ttl" type="positiveInteger" minOccurs="0"/> | ||||
<element name="ext" type="spppb:ExtAnyType" minOccurs="0"/> | ||||
</sequence> | ||||
</extension> | ||||
</complexContent> | ||||
</complexType> | ||||
<complexType name="NSType"> | ||||
<complexContent> | ||||
<extension base="spppb:RteRecType"> | ||||
<sequence> | ||||
<element name="hostName" type="string"/> | ||||
<element name="ipAddr" type="spppb:IPAddrType" minOccurs="0" | ||||
maxOccurs="unbounded"/> | ||||
<element name="ttl" type="positiveInteger" minOccurs="0"/> | ||||
<element name="ext" type="spppb:ExtAnyType" minOccurs="0"/> | ||||
</sequence> | ||||
</extension> | ||||
</complexContent> | ||||
</complexType> | ||||
<complexType name="URIType"> | ||||
<complexContent> | ||||
<extension base="spppb:RteRecType"> | ||||
<sequence> | ||||
<element name="ere" type="string" default="^(.*)$"/> | ||||
<element name="uri" type="string"/> | ||||
<element name="ext" type="spppb:ExtAnyType" minOccurs="0"/> | ||||
</sequence> | ||||
</extension> | ||||
</complexContent> | ||||
</complexType> | ||||
<complexType name="IPAddrType"> | ||||
<sequence> | ||||
<element name="addr" type="string"/> | ||||
<element name="type" type="spppb:IPType"/> | ||||
<element name="ext" type="spppb:ExtAnyType" minOccurs="0"/> | ||||
</sequence> | ||||
</complexType> | ||||
<simpleType name="IPType"> | ||||
<restriction base="token"> | ||||
<enumeration value="IPv4"/> | ||||
<enumeration value="IPv6"/> | ||||
</restriction> | ||||
</simpleType> | ||||
The NAPTRType object is composed of the following elements: | ||||
o order: Order value in an ENUM NAPTR, relative to other NAPTRType | ||||
objects in the same Route Group. | ||||
o svcs: ENUM service(s) that are served by the SBE. This field's | ||||
value must be of the form specified in [RFC3761] (e.g., E2U+ | ||||
pstn:sip+sip). The allowable values are a matter of policy and | ||||
not limited by this protocol. | ||||
o regx: NAPTR's regular expression field. If this is not included | ||||
then the Repl field must be included. | ||||
o repl: NAPTR replacement field, should only be provided if the | ||||
Regex field is not provided, otherwise it will be ignored by the | ||||
server. | ||||
o ttl: Number of seconds that an addressing server may cache this | ||||
NAPTR. | ||||
o ext: Point of extensibility described in a previous section of | ||||
this document. | ||||
The NSType object is composed of the following elements: | ||||
o hostName: Fully qualified host name of the name server. | ||||
o ipAddr: Zero or more objects of type IpAddrType. Each object | ||||
holds an IP Address and the IP Address type, IPv4 or IP v6. | ||||
o ttl: Number of seconds that an addressing server may cache this | ||||
Name Server. | ||||
o ext: Point of extensibility described in a previous section of | ||||
this document. | ||||
The URIType object is composed of the following elements: | ||||
o ere: The POSIX Extended Regular Expression (ere) as defined in | ||||
[RFC3986]. | ||||
o uri: the URI as defined in [RFC3986]. In some cases, this will | ||||
serve as the replacement string and it will be left to the | ||||
resolution server to arrive at the final usable URI. | ||||
As with the responses to all update operations, the result of the | ||||
AddRteRecRqstType operation is contained in the generic | ||||
spppUpdateResponse data structure described in an earlier sections of | ||||
this document. For a detailed description of the spppUpdateResponse | ||||
data structure refer to that section of the document. | ||||
6.12. Get Route Records Operation | ||||
The getRteRecsRqst operation allows a client to get the properties of | ||||
Route Record objects that a registrar organization is authorized to | ||||
view. The server will attempt to find a Route Record object that has | ||||
the registrant ID and route record name pair contained in each | ||||
ObjKeyType object instance. If the set of ObjKeyType objects is | ||||
empty then the server will return the list of Route Record objects | ||||
that the querying client has the authority to view. If there are no | ||||
matching Route Record found then an empty result set will be | ||||
returned. | ||||
The element passed into the spppQueryRequest element for this | ||||
operation is an instance of type GetRteRecsRqstType, which extends | ||||
BasicRqstType and contains zero or more ObjKeyType objects. Any | ||||
limitation on the maximum number of objects that may be passed into | ||||
or returned by this operation is a policy decision and not limited by | ||||
the protocol. The XSD declaration of the operation is as follows: | ||||
<complexType name="GetRteRecsRqstType"> | ||||
<complexContent> | ||||
<extension base="spppb:BasicQueryRqstType"> | ||||
<sequence> | ||||
<element name="objKey" type="spppb:ObjKeyType" | ||||
minOccurs="0" maxOccurs="unbounded"/> | ||||
</sequence> | ||||
</extension> | ||||
</complexContent> | ||||
</complexType> | </complexType> | |||
As described in an earlier section of this document, the result of | 6.14. Delete Operation | |||
any spppQueryRequest operation is an spppQueryResponse element that | ||||
contains the overall response code and the query result set, if any. | ||||
Refer to that section of the document for a detailed description of | ||||
the spppQueryResponse element. | ||||
6.13. Delete Operation | ||||
In order to remove an object from the Registry, an authorized entity | In order to remove an object from the Registry, an authorized entity | |||
can send the <spppUpdateRequest> to the Registry with a corresponding | can send the <spppUpdateRequest> to the Registry with a corresponding | |||
delete BasicRqstType object. If the entity that issued the command | delete BasicUpdateRqstType object. Each 'Add' operation in SPPP has | |||
is not authorized to perform this operation or if the public | a corresponding 'Del' operation, which is used to delete the | |||
identifier doesn't exist, an appropriate error code will be returned | respective object type from the Registry. If the entity that issued | |||
in the <spppUpdateRespnonse> message. | the command is not authorized to perform this operation an | |||
appropriate error code will be returned in the <spppUpdateRespnonse> | ||||
message. | ||||
As an example, DelPubIdRqstType aids in identifying the Public | As an example, DelPubIdRqstType is used to delete Public Identifiers | |||
Identifier that is used to delete a Public Identifier from the | The DelPubIdsRqstType object definition is shown below: | |||
Registry. DelPubIdsRqstType object definition is shown below: | ||||
<complexType name="DelPubIdRqstType"> | <complexType name="DelPubIdRqstType"> | |||
<complexContent> | <complexContent> | |||
<extension base="spppb:BasicRqstType"> | <extension base="spppb:BasicUpdateRqstType"> | |||
<sequence> | <sequence> | |||
<element name="pi" type="spppb:PubIdType"/> | <element name="pi" type="spppb:PubIdType"/> | |||
</sequence> | </sequence> | |||
</extension> | </extension> | |||
</complexContent> | </complexContent> | |||
</complexType> | </complexType> | |||
Similarly, each 'Add' operation in the SP protocol has a | When an object is deleted, any references to that object must of | |||
corresponding 'Del' operation used to delete the respective object | course also be removed as the SPPP server implementation fulfills the | |||
type from the Registry. | deletion request. Furthermore, the deletion of a composite object | |||
must also result in the deletion of the objects it contains. As a | ||||
result, the following rules apply to the deletion of SPPP object | ||||
types: | ||||
o Destination Groups: When a destination group is deleted all | ||||
public identifiers within that destination group must also be | ||||
automatically deleted by the SPPP implementation as part of | ||||
fulfilling the deletion request. And any references between | ||||
that destination group and any route group must be automatically | ||||
removed by the SPPP implementation as part of fulfilling the | ||||
deletion request. | ||||
o Route Groups: When a route group is deleted any references | ||||
between that route group and any destination group must be | ||||
automatically removed by the SPPP implementation as part of | ||||
fulfilling the deletion request. Similarly any references | ||||
between that route group and any route records must be removed | ||||
by the SPPP implementation as part of fulfilling the deletion | ||||
request. Furthermore, route group offers relating that route | ||||
group must also be deleted as part of fulfilling the deletion | ||||
request. | ||||
o Route Records: When a route record is deleted any references | ||||
between that route record and any route group must be removed by | ||||
the SPPP implementation as part of fulfilling the deletion | ||||
request. | ||||
o Puplic Identifiers: When a public identifier is deleted any | ||||
references between that public identifier and its containing | ||||
destination group must be removed by the SPPP implementation as | ||||
part of fulfilling the deletion request. And any route records | ||||
contained directly within that Public Identifier must be deleted | ||||
by the SPPP implementation as part of fulfilling the deletion | ||||
request. | ||||
7. SPPP Examples | 7. SPPP Examples | |||
This section shows XML message exchange between two SIP Service | This section shows XML message exchange between two SIP Service | |||
Providers (SSP) and a Registry. For the sake of simplicity, the | Providers (SSP) and a Registry. For the sake of simplicity, the | |||
transport wrapper for the SPPP protocol is left out. The SPPP | transport wrapper for the SPPP protocol is left out. The SPPP | |||
protocol messages in this section are valid XML instances that | protocol messages in this section are valid XML instances that | |||
conform to the SPPP schema version within this document. | conform to the SPPP schema version within this document. | |||
In this sample use case scenario, SSP1 and SSP2 provision resource | In this sample use case scenario, SSP1 and SSP2 provision resource | |||
skipping to change at page 54, line 10 | skipping to change at page 56, line 10 | |||
SSP2 adds a destination group to the Registry for use later. The | SSP2 adds a destination group to the Registry for use later. The | |||
SSP2 SPPP client sets a unique transaction identifier 'tx_7777' for | SSP2 SPPP client sets a unique transaction identifier 'tx_7777' for | |||
tracking purposes. The name of the destination group is set to | tracking purposes. The name of the destination group is set to | |||
DEST_GRP_SSP2_1 | DEST_GRP_SSP2_1 | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<spppUpdateRequest | <spppUpdateRequest | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd" | xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd" | |||
xmlns="urn:ietf:params:xml:ns:sppp:base:1"> | xmlns="urn:ietf:params:xml:ns:sppp:base:1"> | |||
<clientTransId>txid-5555</clientTransId> | <clientTransId>txid-5555</clientTransId> | |||
<rqst xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | <rqstObj xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | |||
xsi:type="ns1:AddDestGrpRqstType"> | xsi:type="ns1:AddDestGrpRqstType"> | |||
<destGrp> | <destGrp> | |||
<ns1:rant>iana-en:222</ns1:rant> | <ns1:rant>iana-en:222</ns1:rant> | |||
<ns1:rar>iana-en:222</ns1:rar> | <ns1:rar>iana-en:222</ns1:rar> | |||
<dgName>DEST_GRP_SSP2_1</dgName> | <dgName>DEST_GRP_SSP2_1</dgName> | |||
</destGrp> | </destGrp> | |||
</rqst> | </rqstObj> | |||
</spppUpdateRequest> | </spppUpdateRequest> | |||
The Registry processes the request and return a favorable response | The Registry processes the request and return a favorable response | |||
confirming successful creation of the named destination group. Also, | confirming successful creation of the named destination group. Also, | |||
besides returning a unique transaction identifier, Registry also | besides returning a unique transaction identifier, Registry also | |||
returns the matching client transaction identifier from the request | returns the matching client transaction identifier from the request | |||
message back to the SPPP client. | message back to the SPPP client. | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<spppUpdateResponse | <spppUpdateResponse | |||
skipping to change at page 55, line 10 | skipping to change at page 57, line 10 | |||
7.2. Add Route Records | 7.2. Add Route Records | |||
SSP2 adds an ingress routes in the Registry. | SSP2 adds an ingress routes in the Registry. | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<spppUpdateRequest | <spppUpdateRequest | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd" | xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd" | |||
xmlns="urn:ietf:params:xml:ns:sppp:base:1"> | xmlns="urn:ietf:params:xml:ns:sppp:base:1"> | |||
<rqst xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | <rqstObj xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | |||
xsi:type="ns1:AddRteRecRqstType"> | xsi:type="ns1:AddRteRecRqstType"> | |||
<rteRec xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | <rteRec xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | |||
xsi:type="ns1:NAPTRType"> | xsi:type="ns1:NAPTRType"> | |||
<rant>iana-en:222</rant> | <rant>iana-en:222</rant> | |||
<rar>iana-en:222</rar> | <rar>iana-en:222</rar> | |||
<ns1:rrName>RTE_SSP2_SBE2</ns1:rrName> | <ns1:rrName>RTE_SSP2_SBE2</ns1:rrName> | |||
<order>10</order> | <order>10</order> | |||
<flags>u</flags> | <flags>u</flags> | |||
<svcs>E2U+sip</svcs> | <svcs>E2U+sip</svcs> | |||
<regx> | <regx> | |||
<ere>^(.*)$</ere> | <ere>^(.*)$</ere> | |||
<repl>sip:\1@sbe2.ssp2.example.com</repl> | <repl>sip:\1@sbe2.ssp2.example.com</repl> | |||
</regx> | </regx> | |||
</rteRec> | </rteRec> | |||
</rqst> | </rqstObj> | |||
</spppUpdateRequest> | </spppUpdateRequest> | |||
The Registry returns a success response. | The Registry returns a success response. | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<spppUpdateResponse | <spppUpdateResponse | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd" | xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd" | |||
xmlns="urn:ietf:params:xml:ns:sppp:base:1"> | xmlns="urn:ietf:params:xml:ns:sppp:base:1"> | |||
<serverTransId>tx_id_11145</serverTransId> | <serverTransId>tx_id_11145</serverTransId> | |||
skipping to change at page 56, line 9 | skipping to change at page 58, line 9 | |||
7.3. Add Route Records -- URIType | 7.3. Add Route Records -- URIType | |||
SSP2 adds another ingress routes in the Registry and makes use of | SSP2 adds another ingress routes in the Registry and makes use of | |||
URIType | URIType | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<spppUpdateRequest> | <spppUpdateRequest> | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd" | xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd" | |||
xmlns="urn:ietf:params:xml:ns:sppp:base:1"> | xmlns="urn:ietf:params:xml:ns:sppp:base:1"> | |||
<rqst xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | <rqstObj xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | |||
xsi:type="ns1:AddRteRecRqstType"> | xsi:type="ns1:AddRteRecRqstType"> | |||
<rteRec xsi:type="ns1:URIType"> | <rteRec xsi:type="ns1:URIType"> | |||
<rant>iana-en:222</rant> | <rant>iana-en:222</rant> | |||
<rar>iana-en:222</rar> | <rar>iana-en:222</rar> | |||
<rrName>RTE_SSP2_SBE4</rrName> | <rrName>RTE_SSP2_SBE4</rrName> | |||
<ere>^(.*)$</ere> | <ere>^(.*)$</ere> | |||
<uri>sip:\1;npdi@sbe4.ssp2.example.com</uri> | <uri>sip:\1;npdi@sbe4.ssp2.example.com</uri> | |||
</rteRec> | </rteRec> | |||
</rqst> | </rqstObj> | |||
</spppUpdateRequest> | </spppUpdateRequest> | |||
The Registry returns a success response. | The Registry returns a success response. | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<spppUpdateResponse | <spppUpdateResponse | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd" | xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd" | |||
xmlns="urn:ietf:params:xml:ns:sppp:base:1"> | xmlns="urn:ietf:params:xml:ns:sppp:base:1"> | |||
<serverTransId>tx_id_11145</serverTransId> | <serverTransId>tx_id_11145</serverTransId> | |||
skipping to change at page 57, line 10 | skipping to change at page 59, line 10 | |||
SSP2 creates the grouping of the ingress routes and choses higher | SSP2 creates the grouping of the ingress routes and choses higher | |||
precedence for RTE_SSP2_SBE2 by setting a lower number for the | precedence for RTE_SSP2_SBE2 by setting a lower number for the | |||
"priority" attribute, a protocol agnostic precedence indicator. | "priority" attribute, a protocol agnostic precedence indicator. | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<spppUpdateRequest | <spppUpdateRequest | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd" | xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd" | |||
xmlns="urn:ietf:params:xml:ns:sppp:base:1"> | xmlns="urn:ietf:params:xml:ns:sppp:base:1"> | |||
<rqst xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | <rqstObj xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | |||
xsi:type="ns1:AddRteGrpRqstType"> | xsi:type="ns1:AddRteGrpRqstType"> | |||
<rteGrp> | <rteGrp> | |||
<rant>iana-en:222</rant> | <rant>iana-en:222</rant> | |||
<rar>iana-en:222</rar> | <rar>iana-en:222</rar> | |||
<rgName>RTE_GRP_SSP2_1</rgName> | <rgName>RTE_GRP_SSP2_1</rgName> | |||
<rrRef> | <rrRef> | |||
<rrKey> | <rrKey> | |||
<rant>iana-en:222</rant> | <rant>iana-en:222</rant> | |||
<name>RTE_SSP2_SBE2</name> | <name>RTE_SSP2_SBE2</name> | |||
</rrKey> | </rrKey> | |||
<priority>100</priority> | <priority>100</priority> | |||
</rrRef> | </rrRef> | |||
<dgName>DEST_GRP_SSP2_1</dgName> | <dgName>DEST_GRP_SSP2_1</dgName> | |||
<isInSvc>true</isInSvc> | <isInSvc>true</isInSvc> | |||
<ns1:priority>10</ns1:priority> | <ns1:priority>10</ns1:priority> | |||
</rteGrp> | </rteGrp> | |||
</rqst> | </rqstObj> | |||
</spppUpdateRequest> | </spppUpdateRequest> | |||
To confirm successful processing of this request, Registry returns a | To confirm successful processing of this request, Registry returns a | |||
well-known resolution code '1000' to the SSP2 client. | well-known resolution code '1000' to the SSP2 client. | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<spppUpdateResponse | <spppUpdateResponse | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd" | xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd" | |||
xmlns="urn:ietf:params:xml:ns:sppp:base:1"> | xmlns="urn:ietf:params:xml:ns:sppp:base:1"> | |||
skipping to change at page 58, line 16 | skipping to change at page 60, line 16 | |||
SSP2 activates a TN public identity by associating it with a valid | SSP2 activates a TN public identity by associating it with a valid | |||
destination group. Further, SSP2 puts forth a claim that it is the | destination group. Further, SSP2 puts forth a claim that it is the | |||
carrier-of-record for the TN. | carrier-of-record for the TN. | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<spppUpdateRequest xmlns="urn:ietf:params:xml:ns:sppp:base:1" | <spppUpdateRequest xmlns="urn:ietf:params:xml:ns:sppp:base:1" | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | |||
<clientTransId>txid-5577</clientTransId> | <clientTransId>txid-5577</clientTransId> | |||
<rqst xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | <rqstObj xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | |||
xsi:type="ns1:AddPubIdRqstType"> | xsi:type="ns1:AddPubIdRqstType"> | |||
<pi xsi:type="ns1:TNType"> | <pi xsi:type="ns1:TNType"> | |||
<rant>iana-en:222</rant> | <rant>iana-en:222</rant> | |||
<rar>iana-en:222</rar> | <rar>iana-en:222</rar> | |||
<cDate>2010-05-30T09:30:10Z</cDate> | <cDate>2010-05-30T09:30:10Z</cDate> | |||
<dgName>DEST_GRP_SSP2_1</dgName> | <dgName>DEST_GRP_SSP2_1</dgName> | |||
<tn>+12025556666</tn> | <tn>+12025556666</tn> | |||
<corInfo> | <corInfo> | |||
<corClaim>true</corClaim> | <corClaim>true</corClaim> | |||
</corInfo> | </corInfo> | |||
</pi> | </pi> | |||
</rqst> | </rqstObj> | |||
</spppUpdateRequest> | </spppUpdateRequest> | |||
Assuming that the Registry has access to TN authority data and it | Assuming that the Registry has access to TN authority data and it | |||
performs the required checks to verify that SSP2 is in fact the | performs the required checks to verify that SSP2 is in fact the | |||
service provider of record for the given TN, the request is processed | service provider of record for the given TN, the request is processed | |||
successfully. In the response message, the Registry sets the value | successfully. In the response message, the Registry sets the value | |||
of <cor> to "true" in order to confirm SSP2 claim as the carrier of | of <cor> to "true" in order to confirm SSP2 claim as the carrier of | |||
record and the <corDate> reflects the time when the carrier of record | record and the <corDate> reflects the time when the carrier of record | |||
claim is processed. | claim is processed. | |||
skipping to change at page 60, line 9 | skipping to change at page 62, line 9 | |||
If another entity that SSP2 shares the routes with has access to | If another entity that SSP2 shares the routes with has access to | |||
Number Portability data, it may choose to perform route lookups by | Number Portability data, it may choose to perform route lookups by | |||
routing number. Therefore, SSP2 associates a routing number to a | routing number. Therefore, SSP2 associates a routing number to a | |||
destination group in order to facilitate ingress route discovery. | destination group in order to facilitate ingress route discovery. | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<spppUpdateRequest xmlns="urn:ietf:params:xml:ns:sppp:base:1" | <spppUpdateRequest xmlns="urn:ietf:params:xml:ns:sppp:base:1" | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | |||
<rqst xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | <rqstObj xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | |||
xsi:type="ns1:AddPubIdRqstType"> | xsi:type="ns1:AddPubIdRqstType"> | |||
<pi xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | <pi xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | |||
xsi:type="ns1:RNType"> | xsi:type="ns1:RNType"> | |||
<rant>iana-en:222</rant> | <rant>iana-en:222</rant> | |||
<rar>iana-en:222</rar> | <rar>iana-en:222</rar> | |||
<ns1:dgName>DEST_GRP_SSP2_1</ns1:dgName> | <ns1:dgName>DEST_GRP_SSP2_1</ns1:dgName> | |||
<rn>2025550000</rn> | <rn>2025550000</rn> | |||
</pi> | </pi> | |||
</rqst> | </rqstObj> | |||
</spppUpdateRequest> | </spppUpdateRequest> | |||
Registry completes the request successfully and returns a favorable | Registry completes the request successfully and returns a favorable | |||
response to the SPPP client. | response to the SPPP client. | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<spppUpdateResponse | <spppUpdateResponse | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd" | xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd" | |||
xmlns="urn:ietf:params:xml:ns:sppp:base:1"> | xmlns="urn:ietf:params:xml:ns:sppp:base:1"> | |||
<serverTransId>tx_id_12345</serverTransId> | <serverTransId>tx_id_12345</serverTransId> | |||
<overallResult> | <overallResult> | |||
<code>1000</code> | <code>1000</code> | |||
<msg>Request successful</msg> | <msg>Request successful</msg> | |||
</overallResult> | </overallResult> | |||
</spppUpdateResponse> | </spppUpdateResponse> | |||
7.7. Add TN Range | 7.7. Add TN Range | |||
Next, SSP2 activates a block of ten thousand TNs and associate it to | Next, SSP2 activates a block of ten thousand TNs and associate it to | |||
a destination group. Since the 'prefix' public identity attribute is | a destination group. | |||
not set to 'true', this means that the TNs belong to a closed number | ||||
plan. | ||||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<spppUpdateRequest xmlns="urn:ietf:params:xml:ns:sppp:base:1" | <spppUpdateRequest xmlns="urn:ietf:params:xml:ns:sppp:base:1" | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | |||
<rqst xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | <rqstObj xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | |||
xsi:type="ns1:AddPubIdRqstType"> | xsi:type="ns1:AddPubIdRqstType"> | |||
<pi xsi:type="ns1:TNRType"> | <pi xsi:type="ns1:TNRType"> | |||
<rant>iana-en:222</rant> | <rant>iana-en:222</rant> | |||
<rar>iana-en:222</rar> | <rar>iana-en:222</rar> | |||
<dgName>DEST_GRP_SSP2_1</dgName> | <dgName>DEST_GRP_SSP2_1</dgName> | |||
<startTn>+12026660000</startTn> | <startTn>+12026660000</startTn> | |||
<endTn>+12026669999</endTn> | <endTn>+12026669999</endTn> | |||
</pi> | </pi> | |||
</rqst> | </rqstObj> | |||
</spppUpdateRequest> | </spppUpdateRequest> | |||
Registry completes the request successfully and returns a favorable | Registry completes the request successfully and returns a favorable | |||
response. | response. | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<spppUpdateResponse | <spppUpdateResponse | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd" | xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd" | |||
xmlns="urn:ietf:params:xml:ns:sppp:base:1"> | xmlns="urn:ietf:params:xml:ns:sppp:base:1"> | |||
<serverTransId>tx_id_12244498</serverTransId> | <serverTransId>tx_id_12244498</serverTransId> | |||
<overallResult> | <overallResult> | |||
<code>1000</code> | <code>1000</code> | |||
<msg>Request successful</msg> | <msg>Request successful</msg> | |||
</overallResult> | </overallResult> | |||
</spppUpdateResponse> | </spppUpdateResponse> | |||
7.8. Add TN Range with Open Number Plan support | 7.8. Add TN Prefix | |||
In this case, open number plan refers to TN length variance. | ||||
Inclusion of "prefix" attribute of TNRType with its value set to true | ||||
indicates that the start TN range identified by the <tn> element is | ||||
not necessarily a subscriber number and the Registry will have to | ||||
consult the number plan data for the respective country to know how | ||||
to expand the number range. <endTn> attribute marks the end of the TN | ||||
range. | ||||
<?xml version="1.0" encoding="UTF-8"?> | ||||
<spppUpdateRequest xmlns="urn:ietf:params:xml:ns:sppp:base:1" | ||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||||
xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | ||||
<rqst xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | ||||
xsi:type="ns1:AddPubIdRqstType"> | ||||
<pi xsi:type="ns1:TNRType" prefix="true"> | ||||
<rant>iana-en:222</rant> | ||||
<rar>iana-en:222</rar> | ||||
<ns1:dgName>DEST_GRP_SSP2_1</ns1:dgName> | ||||
<startTn>+4312315566</startTn> | ||||
<endTn>+4312315567</endTn> | ||||
</pi> | ||||
</rqst> | ||||
</spppUpdateRequest> | ||||
Registry completes the request successfully and returns a favorable | ||||
response. | ||||
<?xml version="1.0" encoding="UTF-8"?> | ||||
<spppUpdateResponse | ||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||||
xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd" | ||||
xmlns="urn:ietf:params:xml:ns:sppp:base:1"> | ||||
<serverTransId>tx_id_12255598</serverTransId> | ||||
<overallResult> | ||||
<code>1000</code> | ||||
<msg>Request successful</msg> | ||||
</overallResult> | ||||
</spppUpdateResponse> | ||||
7.9. Add TN Prefix | ||||
Next, SSP2 activates a block of ten thousand TNs using the TNPType | Next, SSP2 activates a block of ten thousand TNs using the TNPType | |||
structure and identifying a TN prefix. | structure and identifying a TN prefix. | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<spppUpdateRequest xmlns="urn:ietf:params:xml:ns:sppp:base:1" | <spppUpdateRequest xmlns="urn:ietf:params:xml:ns:sppp:base:1" | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | |||
<rqst xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | <rqstObj xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | |||
xsi:type="ns1:AddPubIdRqstType"> | xsi:type="ns1:AddPubIdRqstType"> | |||
<pi xsi:type="ns1:TNPType"> | <pi xsi:type="ns1:TNPType"> | |||
<rant>iana-en:222</rant> | <rant>iana-en:222</rant> | |||
<rar>iana-en:222</rar> | <rar>iana-en:222</rar> | |||
<ns1:dgName>DEST_GRP_SSP2_1</ns1:dgName> | <ns1:dgName>DEST_GRP_SSP2_1</ns1:dgName> | |||
<tnPrefix>+1202777</tnPrefix> | <tnPrefix>+1202777</tnPrefix> | |||
</pi> | </pi> | |||
</rqst> | </rqstObj> | |||
</spppUpdateRequest> | </spppUpdateRequest> | |||
Registry completes the request successfully and returns a favorable | Registry completes the request successfully and returns a favorable | |||
response. | response. | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<spppUpdateResponse | <spppUpdateResponse | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd" | xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd" | |||
xmlns="urn:ietf:params:xml:ns:sppp:base:1"> | xmlns="urn:ietf:params:xml:ns:sppp:base:1"> | |||
<serverTransId>tx_id_12387698</serverTransId> | <serverTransId>tx_id_12387698</serverTransId> | |||
<overallResult> | <overallResult> | |||
<code>1000</code> | <code>1000</code> | |||
<msg>Request successful</msg> | <msg>Request successful</msg> | |||
</overallResult> | </overallResult> | |||
</spppUpdateResponse> | </spppUpdateResponse> | |||
7.10. Enable Peering -- Route Group Offer | 7.9. Enable Peering -- Route Group Offer | |||
In order for SSP1 to complete session establishment for a destination | In order for SSP1 to complete session establishment for a destination | |||
TN where the target subscriber has a retail relationship with SSP2, | TN where the target subscriber has a retail relationship with SSP2, | |||
it first requires an asynchronous bi-directional handshake to show | it first requires an asynchronous bi-directional handshake to show | |||
mutual consent. To start the process, SSP2 initiates the peering | mutual consent. To start the process, SSP2 initiates the peering | |||
handshake by offering SSP1 access to its route group. | handshake by offering SSP1 access to its route group. | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<spppUpdateRequest xmlns="urn:ietf:params:xml:ns:sppp:base:1" | <spppUpdateRequest xmlns="urn:ietf:params:xml:ns:sppp:base:1" | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | |||
<rqst xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | <rqstObj xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | |||
xsi:type="ns1:AddRteGrpOfferRqstType"> | xsi:type="ns1:AddRteGrpOfferRqstType"> | |||
<rteGrpOffer> | <rteGrpOffer> | |||
<rant>iana-en:222</rant> | <rant>iana-en:222</rant> | |||
<rar>iana-en:222</rar> | <rar>iana-en:222</rar> | |||
<rteGrpOfferKey> | <rteGrpOfferKey> | |||
<rteGrpKey> | <rteGrpKey> | |||
<rant>iana-en:222</rant> | <rant>iana-en:222</rant> | |||
<name>RTE_GRP_SSP2_1</name> | <name>RTE_GRP_SSP2_1</name> | |||
</rteGrpKey> | </rteGrpKey> | |||
<offeredTo>iana-en:111</offeredTo> | <offeredTo>iana-en:111</offeredTo> | |||
</rteGrpOfferKey> | </rteGrpOfferKey> | |||
<status>offered</status> | <status>offered</status> | |||
<offerDateTime>2006-05-04T18:13:51.0Z</offerDateTime> | <offerDateTime>2006-05-04T18:13:51.0Z</offerDateTime> | |||
</rteGrpOffer> | </rteGrpOffer> | |||
</rqst> | </rqstObj> | |||
</spppUpdateRequest> | </spppUpdateRequest> | |||
Registry completes the request successfully and confirms that the | Registry completes the request successfully and confirms that the | |||
SSP1 will now have the opportunity to weigh in on the offer and | SSP1 will now have the opportunity to weigh in on the offer and | |||
either accept or reject it. The Registry may employ out-of-band | either accept or reject it. The Registry may employ out-of-band | |||
notification mechanisms for quicker updates to SSP1 so they can act | notification mechanisms for quicker updates to SSP1 so they can act | |||
faster, though this topic is beyond the scope of this document. | faster, though this topic is beyond the scope of this document. | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<spppUpdateResponse | <spppUpdateResponse | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd" | xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd" | |||
xmlns="urn:ietf:params:xml:ns:sppp:base:1"> | xmlns="urn:ietf:params:xml:ns:sppp:base:1"> | |||
<serverTransId>tx_id_12277798</serverTransId> | <serverTransId>tx_id_12277798</serverTransId> | |||
<overallResult> | <overallResult> | |||
<code>1000</code> | <code>1000</code> | |||
<msg>Request successful</msg> | <msg>Request successful</msg> | |||
</overallResult> | </overallResult> | |||
</spppUpdateResponse> | </spppUpdateResponse> | |||
7.11. Enable Peering -- Route Group Offer Accept | 7.10. Enable Peering -- Route Group Offer Accept | |||
SSP1 responds to the offer from SSP2 and agrees to have visibility to | SSP1 responds to the offer from SSP2 and agrees to have visibility to | |||
SSP2 ingress routes. | SSP2 ingress routes. | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<spppUpdateRequest xmlns="urn:ietf:params:xml:ns:sppp:base:1" | <spppUpdateRequest xmlns="urn:ietf:params:xml:ns:sppp:base:1" | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | |||
<rqst xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | <rqstObj xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | |||
xsi:type="ns1:AcceptRteGrpOfferRqstType"> | xsi:type="ns1:AcceptRteGrpOfferRqstType"> | |||
<rteGrpOfferKey> | <rteGrpOfferKey> | |||
<rteGrpKey> | <rteGrpKey> | |||
<rant>iana-en:222</rant> | <rant>iana-en:222</rant> | |||
<name>RTE_GRP_SSP2_1</name> | <name>RTE_GRP_SSP2_1</name> | |||
</rteGrpKey> | </rteGrpKey> | |||
<offeredTo>iana-en:111</offeredTo> | <offeredTo>iana-en:111</offeredTo> | |||
</rteGrpOfferKey> | </rteGrpOfferKey> | |||
</rqst> | </rqstObj> | |||
</spppUpdateRequest> | </spppUpdateRequest> | |||
Registry confirms that the request has been processed successfully. | Registry confirms that the request has been processed successfully. | |||
From this point forward, if SSP1 looks up a public identity through | From this point forward, if SSP1 looks up a public identity through | |||
the query resolution server, where the public identity is part of the | the query resolution server, where the public identity is part of the | |||
destination group by way of "RTE_GRP_SSP2_1" route association, SSP2 | destination group by way of "RTE_GRP_SSP2_1" route association, SSP2 | |||
ingress SBE information will be shared with SSP1. | ingress SBE information will be shared with SSP1. | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<spppUpdateResponse | <spppUpdateResponse | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd" | xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd" | |||
xmlns="urn:ietf:params:xml:ns:sppp:base:1"> | xmlns="urn:ietf:params:xml:ns:sppp:base:1"> | |||
<serverTransId>tx_id_12333798</serverTransId> | <serverTransId>tx_id_12333798</serverTransId> | |||
<overallResult> | <overallResult> | |||
<code>1000</code> | <code>1000</code> | |||
<msg>success</msg> | <msg>success</msg> | |||
</overallResult> | </overallResult> | |||
</spppUpdateResponse> | </spppUpdateResponse> | |||
7.12. Add Egress Route | 7.11. Add Egress Route | |||
SSP1 wants to prioritize all outbound traffic to routes associated | SSP1 wants to prioritize all outbound traffic to routes associated | |||
with "RTE_GRP_SSP2_1" route group through "sbe1.ssp1.example.com". | with "RTE_GRP_SSP2_1" route group through "sbe1.ssp1.example.com". | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<spppUpdateRequest xmlns="urn:ietf:params:xml:ns:sppp:base:1" | <spppUpdateRequest xmlns="urn:ietf:params:xml:ns:sppp:base:1" | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | |||
<clientTransId>tx_9000</clientTransId> | <clientTransId>tx_9000</clientTransId> | |||
<rqst xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | <rqstObj xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | |||
xsi:type="ns1:AddEgrRteRqstType"> | xsi:type="ns1:AddEgrRteRqstType"> | |||
<egrRte> | <egrRte> | |||
<rant>iana-en:111</rant> | <rant>iana-en:111</rant> | |||
<rar/> | <rar/> | |||
<egrRteName>EGR_RTE_01</egrRteName> | <egrRteName>EGR_RTE_01</egrRteName> | |||
<pref>50</pref> | <pref>50</pref> | |||
<regxRewriteRule> | <regxRewriteRule> | |||
<ere>^(.*@)(.*)$</ere> | <ere>^(.*@)(.*)$</ere> | |||
<repl>\1\2?route=sbe1.ssp1.example.com</repl> | <repl>\1\2?route=sbe1.ssp1.example.com</repl> | |||
</regxRewriteRule> | </regxRewriteRule> | |||
<ingrRteRec> | <ingrRteRec> | |||
<rant>iana-en:222</ns1:rant> | <rant>iana-en:222</ns1:rant> | |||
<name>SSP2_RTE_REC_3</ns1:name> | <name>SSP2_RTE_REC_3</ns1:name> | |||
</ingrRteRec> | </ingrRteRec> | |||
</egrRte> | </egrRte> | |||
</rqst> | </rqstObj> | |||
</spppUpdateRequest> | </spppUpdateRequest> | |||
Since peering has already been established, the request to add the | Since peering has already been established, the request to add the | |||
egress route has been successfully completed. | egress route has been successfully completed. | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<spppUpdateResponse | <spppUpdateResponse | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd" | xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd" | |||
xmlns="urn:ietf:params:xml:ns:sppp:base:1"> | xmlns="urn:ietf:params:xml:ns:sppp:base:1"> | |||
<clientTransId>tx_9000</clientTransId> | <clientTransId>tx_9000</clientTransId> | |||
<serverTransId>tx_id_12388898</serverTransId> | <serverTransId>tx_id_12388898</serverTransId> | |||
<overallResult> | <overallResult> | |||
<code>1000</code> | <code>1000</code> | |||
<msg>Request successful</msg> | <msg>Request successful</msg> | |||
</overallResult> | </overallResult> | |||
</spppUpdateResponse> | </spppUpdateResponse> | |||
7.13. Get Destination Group | 7.12. Get Destination Group | |||
SSP2 uses the 'GetDestGrpsRqstType' operation to tally the last | SSP2 uses the 'GetDestGrpsRqstType' operation to tally the last | |||
provisioned record for destination group DEST_GRP_SSP2_1. | provisioned record for destination group DEST_GRP_SSP2_1. | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<spppQueryRequest xmlns="urn:ietf:params:xml:ns:sppp:base:1" | <spppQueryRequest xmlns="urn:ietf:params:xml:ns:sppp:base:1" | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | |||
<rqst xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | <rqstObj xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | |||
xsi:type="ns1:GetDestGrpsRqstType"> | xsi:type="ns1:GetDestGrpsRqstType"> | |||
<objKey> | <objKey> | |||
<rant>iana-en:222</rant> | <rant>iana-en:222</rant> | |||
<name>DEST_GRP_SSP2_1</name> | <name>DEST_GRP_SSP2_1</name> | |||
</objKey> | </objKey> | |||
</rqst> | </rqstObj> | |||
</spppQueryRequest> | </spppQueryRequest> | |||
Registry completes the request successfully and returns a favorable | Registry completes the request successfully and returns a favorable | |||
response. | response. | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<spppQueryResponse xmlns="urn:ietf:params:xml:ns:sppp:base:1" | <spppQueryResponse xmlns="urn:ietf:params:xml:ns:sppp:base:1" | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | |||
<overallResult> | <overallResult> | |||
skipping to change at page 68, line 5 | skipping to change at page 69, line 5 | |||
<msg>success</msg> | <msg>success</msg> | |||
</overallResult> | </overallResult> | |||
<resultSet xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | <resultSet xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | |||
xsi:type="ns1:DestGrpType"> | xsi:type="ns1:DestGrpType"> | |||
<rant>iana-en:222</rant> | <rant>iana-en:222</rant> | |||
<rar>iana-en:222</rar> | <rar>iana-en:222</rar> | |||
<dgName>DEST_GRP_SSP2_1</dgName> | <dgName>DEST_GRP_SSP2_1</dgName> | |||
</resultSet> | </resultSet> | |||
</spppQueryResponse> | </spppQueryResponse> | |||
7.14. Get Public Identity | 7.13. Get Public Identity | |||
SSP2 obtains the last provisioned record associated with a given TN. | SSP2 obtains the last provisioned record associated with a given TN. | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<spppQueryRequest xmlns="urn:ietf:params:xml:ns:sppp:base:1" | <spppQueryRequest xmlns="urn:ietf:params:xml:ns:sppp:base:1" | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | |||
<rqst xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | <rqstObj xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | |||
xsi:type="ns1:GetPubIdsRqstType"> | xsi:type="ns1:GetPubIdsRqstType"> | |||
<pi xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | <pi xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | |||
xsi:type="ns1:TNType"> | xsi:type="ns1:TNType"> | |||
<rant>iana-en:222</rant> | <rant>iana-en:222</rant> | |||
<rar>iana-en:222</rar> | <rar>iana-en:222</rar> | |||
<tn>+12025556666</tn> | <tn>+12025556666</tn> | |||
</pi> | </pi> | |||
</rqst> | </rqstObj> | |||
</spppQueryRequest> | </spppQueryRequest> | |||
Registry completes the request successfully and returns a favorable | Registry completes the request successfully and returns a favorable | |||
response. | response. | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<spppQueryResponse xmlns="urn:ietf:params:xml:ns:sppp:base:1" | <spppQueryResponse xmlns="urn:ietf:params:xml:ns:sppp:base:1" | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | |||
<overallResult> | <overallResult> | |||
skipping to change at page 69, line 5 | skipping to change at page 70, line 5 | |||
<dgName>DEST_GRP_1</dgName> | <dgName>DEST_GRP_1</dgName> | |||
<tn>+12025556666</tn> | <tn>+12025556666</tn> | |||
<corInfo> | <corInfo> | |||
<corClaim>true</corClaim> | <corClaim>true</corClaim> | |||
<cor>true</cor> | <cor>true</cor> | |||
<corDate>2010-05-30T09:30:10Z</corDate> | <corDate>2010-05-30T09:30:10Z</corDate> | |||
</corInfo> | </corInfo> | |||
</resultSet> | </resultSet> | |||
</spppQueryResponse> | </spppQueryResponse> | |||
7.15. Get Route Group Request | 7.14. Get Route Group Request | |||
SSP2 obtains the last provisioned record for the route group | SSP2 obtains the last provisioned record for the route group | |||
RTE_GRP_SSP2_1. | RTE_GRP_SSP2_1. | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<spppQueryRequest xmlns="urn:ietf:params:xml:ns:sppp:base:1" | <spppQueryRequest xmlns="urn:ietf:params:xml:ns:sppp:base:1" | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | |||
<rqst xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | <rqstObj xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | |||
xsi:type="ns1:GetRteGrpsRqstType"> | xsi:type="ns1:GetRteGrpsRqstType"> | |||
<objKey> | <objKey> | |||
<rant>iana-en:222</rant> | <rant>iana-en:222</rant> | |||
<name>RTE_GRP_SSP2_1</name> | <name>RTE_GRP_SSP2_1</name> | |||
</objKey> | </objKey> | |||
</rqst> | </rqstObj> | |||
</spppQueryRequest> | </spppQueryRequest> | |||
Registry completes the request successfully and returns a favorable | Registry completes the request successfully and returns a favorable | |||
response. | response. | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<spppQueryResponse xmlns="urn:ietf:params:xml:ns:sppp:base:1" | <spppQueryResponse xmlns="urn:ietf:params:xml:ns:sppp:base:1" | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | |||
<overallResult> | <overallResult> | |||
skipping to change at page 70, line 38 | skipping to change at page 71, line 38 | |||
<name>RTE_SSP2_SBE4</name> | <name>RTE_SSP2_SBE4</name> | |||
</rrKey> | </rrKey> | |||
<priority>101</priority> | <priority>101</priority> | |||
</rrRef> | </rrRef> | |||
<dgName>DEST_GRP_SSP2_1</dgName> | <dgName>DEST_GRP_SSP2_1</dgName> | |||
<isInSvc>true</isInSvc> | <isInSvc>true</isInSvc> | |||
<priority>10</priority> | <priority>10</priority> | |||
</resultSet> | </resultSet> | |||
</spppQueryResponse> | </spppQueryResponse> | |||
7.16. Get Route Group Offers Request | 7.15. Get Route Group Offers Request | |||
SSP2 fetches the last provisioned route group offer to the | SSP2 fetches the last provisioned route group offer to the | |||
<peeringOrg> SSP1. | <peeringOrg> SSP1. | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<spppQueryRequest xmlns="urn:ietf:params:xml:ns:sppp:base:1" | <spppQueryRequest xmlns="urn:ietf:params:xml:ns:sppp:base:1" | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | |||
<rqst xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | <rqstObj xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | |||
xsi:type="ns1:GetRteGrpOffersRqstType"> | xsi:type="ns1:GetRteGrpOffersRqstType"> | |||
<offeredTo>iana-en:111</offeredTo> | <offeredTo>iana-en:111</offeredTo> | |||
</rqst> | </rqstObj> | |||
</spppQueryRequest> | </spppQueryRequest> | |||
Registry processes the request successfully and returns a favorable | Registry processes the request successfully and returns a favorable | |||
response. | response. | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<spppQueryResponse xmlns="urn:ietf:params:xml:ns:sppp:base:1" | <spppQueryResponse xmlns="urn:ietf:params:xml:ns:sppp:base:1" | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | |||
<overallResult> | <overallResult> | |||
skipping to change at page 71, line 35 | skipping to change at page 72, line 35 | |||
<rant>iana-en:222</rant> | <rant>iana-en:222</rant> | |||
<name>RTE_GRP_SSP2_1</name> | <name>RTE_GRP_SSP2_1</name> | |||
</rteGrpKey> | </rteGrpKey> | |||
<offeredTo>iana-en:111</offeredTo> | <offeredTo>iana-en:111</offeredTo> | |||
</rteGrpOfferKey> | </rteGrpOfferKey> | |||
<status>offered</status> | <status>offered</status> | |||
<offerDateTime>2006-05-04T18:13:51.0Z</offerDateTime> | <offerDateTime>2006-05-04T18:13:51.0Z</offerDateTime> | |||
</resultSet> | </resultSet> | |||
</spppQueryResponse> | </spppQueryResponse> | |||
7.17. Get Egress Route | 7.16. Get Egress Route | |||
SSP1 wants to verify the last provisioned record for the egress route | SSP1 wants to verify the last provisioned record for the egress route | |||
called EGR_RTE_01. | called EGR_RTE_01. | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<spppQueryRequest xmlns="urn:ietf:params:xml:ns:sppp:base:1" | <spppQueryRequest xmlns="urn:ietf:params:xml:ns:sppp:base:1" | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | |||
<rqst xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | <rqstObj xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | |||
xsi:type="ns1:GetEgrRtesRqstType"> | xsi:type="ns1:GetEgrRtesRqstType"> | |||
<objKey> | <objKey> | |||
<rant>iana-en:111</rant> | <rant>iana-en:111</rant> | |||
<name>EGR_RTE_01</name> | <name>EGR_RTE_01</name> | |||
</objKey> | </objKey> | |||
</rqst> | </rqstObj> | |||
</spppQueryRequest> | </spppQueryRequest> | |||
Registry completes the request successfully and returns a favorable | Registry completes the request successfully and returns a favorable | |||
response. | response. | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<spppQueryResponse xmlns="urn:ietf:params:xml:ns:sppp:base:1" | <spppQueryResponse xmlns="urn:ietf:params:xml:ns:sppp:base:1" | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | |||
<overallResult> | <overallResult> | |||
skipping to change at page 73, line 5 | skipping to change at page 74, line 5 | |||
<ere>^(.*)$</ere> | <ere>^(.*)$</ere> | |||
<repl>sip:\1@sbe1.ssp1.example.com</repl> | <repl>sip:\1@sbe1.ssp1.example.com</repl> | |||
</regxRewriteRule> | </regxRewriteRule> | |||
<ingressRte> | <ingressRte> | |||
<rant>iana-en:222</rant> | <rant>iana-en:222</rant> | |||
<name>RTE_GRP_SSP2_1</name> | <name>RTE_GRP_SSP2_1</name> | |||
</ingressRte> | </ingressRte> | |||
</resultSet> | </resultSet> | |||
</spppQueryResponse> | </spppQueryResponse> | |||
7.18. Delete Destination Group | 7.17. Delete Destination Group | |||
SSP2 initiates a request to delete the destination group | SSP2 initiates a request to delete the destination group | |||
DEST_GRP_SSP2_1. | DEST_GRP_SSP2_1. | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<spppUpdateRequest xmlns="urn:ietf:params:xml:ns:sppp:base:1" | <spppUpdateRequest xmlns="urn:ietf:params:xml:ns:sppp:base:1" | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | |||
<rqst xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | <rqstObj xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | |||
xsi:type="ns1:DelDestGrpRqstType"> | xsi:type="ns1:DelDestGrpRqstType"> | |||
<objKey> | <objKey> | |||
<rant>iana-en:222</rant> | <rant>iana-en:222</rant> | |||
<name>DEST_GRP_SSP2_1</name> | <name>DEST_GRP_SSP2_1</name> | |||
</objKey> | </objKey> | |||
</rqst> | </rqstObj> | |||
</spppUpdateRequest> | </spppUpdateRequest> | |||
Registry completes the request successfully and returns a favorable | Registry completes the request successfully and returns a favorable | |||
response. | response. | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<spppUpdateResponse xmlns="urn:ietf:params:xml:ns:sppp:base:1" | <spppUpdateResponse xmlns="urn:ietf:params:xml:ns:sppp:base:1" | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | |||
<serverTransId>txid-982543123</serverTransId> | <serverTransId>txid-982543123</serverTransId> | |||
<overallResult> | <overallResult> | |||
<code>1000</code> | <code>1000</code> | |||
<msg>Success</msg> | <msg>Success</msg> | |||
</overallResult> | </overallResult> | |||
</spppUpdateResponse> | </spppUpdateResponse> | |||
7.19. Delete Public Identity | 7.18. Delete Public Identity | |||
SSP2 choses to de-activate the TN and remove it from the Registry. | SSP2 choses to de-activate the TN and remove it from the Registry. | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<spppUpdateRequest xmlns="urn:ietf:params:xml:ns:sppp:base:1" | <spppUpdateRequest xmlns="urn:ietf:params:xml:ns:sppp:base:1" | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | |||
<rqst xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | <rqstObj xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | |||
xsi:type="ns1:DelPubIdRqstType"> | xsi:type="ns1:DelPubIdRqstType"> | |||
<pi xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | <pi xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | |||
xsi:type="ns1:TNType"> | xsi:type="ns1:TNType"> | |||
<rant>iana-en:222</rant> | <rant>iana-en:222</rant> | |||
<rar>iana-en:222</rar> | <rar>iana-en:222</rar> | |||
<tn>+12025556666</tn> | <tn>+12025556666</tn> | |||
</pi> | </pi> | |||
</rqst> | </rqstObj> | |||
</spppUpdateRequest> | </spppUpdateRequest> | |||
Registry completes the request successfully and returns a favorable | Registry completes the request successfully and returns a favorable | |||
response. | response. | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<spppUpdateResponse xmlns="urn:ietf:params:xml:ns:sppp:base:1" | <spppUpdateResponse xmlns="urn:ietf:params:xml:ns:sppp:base:1" | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | |||
<serverTransId>txid-98298273123</serverTransId> | <serverTransId>txid-98298273123</serverTransId> | |||
<overallResult> | <overallResult> | |||
<code>1000</code> | <code>1000</code> | |||
<msg>success</msg> | <msg>success</msg> | |||
</overallResult> | </overallResult> | |||
</spppUpdateResponse> | </spppUpdateResponse> | |||
7.20. Delete Route Group Request | 7.19. Delete Route Group Request | |||
SSP2 removes the route group called RTE_GRP_SSP2_1. | SSP2 removes the route group called RTE_GRP_SSP2_1. | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<spppUpdateRequest xmlns="urn:ietf:params:xml:ns:sppp:base:1" | <spppUpdateRequest xmlns="urn:ietf:params:xml:ns:sppp:base:1" | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | |||
<rqst xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | <rqstObj xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | |||
xsi:type="ns1:DelRteGrpRqstType"> | xsi:type="ns1:DelRteGrpRqstType"> | |||
<objKey> | <objKey> | |||
<rant>iana-en:222</rant> | <rant>iana-en:222</rant> | |||
<name>RTE_GRP_SSP2_1</name> | <name>RTE_GRP_SSP2_1</name> | |||
</objKey> | </objKey> | |||
</rqst> | </rqstObj> | |||
</spppUpdateRequest> | </spppUpdateRequest> | |||
Registry completes the request successfully and returns a favorable | Registry completes the request successfully and returns a favorable | |||
response. | response. | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<spppUpdateResponse xmlns="urn:ietf:params:xml:ns:sppp:base:1" | <spppUpdateResponse xmlns="urn:ietf:params:xml:ns:sppp:base:1" | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | |||
<serverTransId>txid-982543123</serverTransId> | <serverTransId>txid-982543123</serverTransId> | |||
<overallResult> | <overallResult> | |||
<code>1000</code> | <code>1000</code> | |||
<msg>msg</msg> | <msg>msg</msg> | |||
</overallResult> | </overallResult> | |||
</spppUpdateResponse> | </spppUpdateResponse> | |||
7.21. Delete Route Group Offers Request | 7.20. Delete Route Group Offers Request | |||
SSP2 no longer wants to share route group RTE_GRP_SSP2_1 with SSP1. | SSP2 no longer wants to share route group RTE_GRP_SSP2_1 with SSP1. | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<spppUpdateRequest xmlns="urn:ietf:params:xml:ns:sppp:base:1" | <spppUpdateRequest xmlns="urn:ietf:params:xml:ns:sppp:base:1" | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | |||
<rqst xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | <rqstObj xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | |||
xsi:type="ns1:DelRteGrpOfferRqstType"> | xsi:type="ns1:DelRteGrpOfferRqstType"> | |||
<rteGrpOfferKey> | <rteGrpOfferKey> | |||
<rteGrpKey> | <rteGrpKey> | |||
<rant>iana-en:222</rant> | <rant>iana-en:222</rant> | |||
<name>RTE_GRP_SSP2_1</name> | <name>RTE_GRP_SSP2_1</name> | |||
</rteGrpKey> | </rteGrpKey> | |||
<offeredTo>iana-en:111</offeredTo> | <offeredTo>iana-en:111</offeredTo> | |||
</rteGrpOfferKey> | </rteGrpOfferKey> | |||
</rqst> | </rqstObj> | |||
</spppUpdateRequest> | </spppUpdateRequest> | |||
Registry completes the request successfully and returns a favorable | Registry completes the request successfully and returns a favorable | |||
response. Restoring this resource sharing will require a new route | response. Restoring this resource sharing will require a new route | |||
group offer from SSP2 to SSP1 followed by a successful route group | group offer from SSP2 to SSP1 followed by a successful route group | |||
accept request from SSP1. | accept request from SSP1. | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<spppUpdateResponse xmlns="urn:ietf:params:xml:ns:sppp:base:1" | <spppUpdateResponse xmlns="urn:ietf:params:xml:ns:sppp:base:1" | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | |||
<serverTransId>txid-982543123</serverTransId> | <serverTransId>txid-982543123</serverTransId> | |||
<overallResult> | <overallResult> | |||
<code>1000</code> | <code>1000</code> | |||
<msg>Success</msg> | <msg>Success</msg> | |||
</overallResult> | </overallResult> | |||
</spppUpdateResponse> | </spppUpdateResponse> | |||
7.22. Delete Egress Route | 7.21. Delete Egress Route | |||
SSP1 decides to remove the egress route with the label EGR_RTE_01. | SSP1 decides to remove the egress route with the label EGR_RTE_01. | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<spppUpdateRequest xmlns="urn:ietf:params:xml:ns:sppp:base:1" | <spppUpdateRequest xmlns="urn:ietf:params:xml:ns:sppp:base:1" | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | |||
<rqst xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | <rqstObj xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1" | |||
xsi:type="ns1:DelEgrRteRqstType"> | xsi:type="ns1:DelEgrRteRqstType"> | |||
<objKey> | <objKey> | |||
<rant>iana-en:111</rant> | <rant>iana-en:111</rant> | |||
<name>EGR_RTE_01</name> | <name>EGR_RTE_01</name> | |||
</objKey> | </objKey> | |||
</rqst> | </rqstObj> | |||
</spppUpdateRequest> | </spppUpdateRequest> | |||
Registry completes the request successfully and returns a favorable | Registry completes the request successfully and returns a favorable | |||
response. | response. | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<spppUpdateResponse xmlns="urn:ietf:params:xml:ns:sppp:base:1" | <spppUpdateResponse xmlns="urn:ietf:params:xml:ns:sppp:base:1" | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | xsi:schemaLocation="urn:ietf:params:xml:ns:sppp:base:1 sppp.xsd"> | |||
<serverTransId>txid-982543123</serverTransId> | <serverTransId>txid-982543123</serverTransId> | |||
skipping to change at page 79, line 7 | skipping to change at page 80, line 7 | |||
attribute in the XML declaration is OPTIONAL if UTF-8 encoding is | attribute in the XML declaration is OPTIONAL if UTF-8 encoding is | |||
used. SPPP clients and servers MUST accept a UTF-8 BOM if present, | used. SPPP clients and servers MUST accept a UTF-8 BOM if present, | |||
though emitting a UTF-8 BOM is NOT RECOMMENDED. | though emitting a UTF-8 BOM is NOT RECOMMENDED. | |||
Example XML declarations: | Example XML declarations: | |||
<?xml?> version="1.0" encoding="UTF-8" standalone="no"?> | <?xml?> version="1.0" encoding="UTF-8" standalone="no"?> | |||
9. Security Considerations | 9. Security Considerations | |||
The transport protocol section contains some security properties that | SPPP implementations manage data that is considered confidential and | |||
the transport protocol must provide so that authenticated endpoints | critical. Furthermor, SPPP implementations can support provisioning | |||
can exchange data confidentially and with integrity protection. | activities for multiple registrars and registrants. As a result any | |||
SPPP implementation must address the requirements for | ||||
confidentiality, authentication, and authorization. | ||||
More details will be provided in a future revision of this document. | With respect to confidentiality and authentication, the transport | |||
protocol section contains some security properties that the transport | ||||
protocol must provide so that authenticated endpoints can exchange | ||||
data confidentially and with integrity protection. | ||||
With respect to authorization, the SPPP server implementation must | ||||
define and implement a set of authorization rules that precisely | ||||
address (1) which registrars will be authorized to create/modify/ | ||||
delete each SPPP object type for given registrant(s) and (2) which | ||||
registrars will be authorized to view/get each SPPP object type for a | ||||
given registrant(s). These authorization rules are left as a matter | ||||
of policy and are not specified within the context of SPPP. However, | ||||
any SPPP implementation must specify these authorization rules in | ||||
order to function in a realiable and safe manner. | ||||
10. IANA Considerations | 10. IANA Considerations | |||
This document uses URNs to describe XML namespaces and XML schemas | This document uses URNs to describe XML namespaces and XML schemas | |||
conforming to a registry mechanism described in [RFC3688]. | conforming to a registry mechanism described in [RFC3688]. | |||
Two URI assignments are requested. | Two URI assignments are requested. | |||
Registration request for the SPPP XML namespace: | Registration request for the SPPP XML namespace: | |||
urn:ietf:params:xml:ns:sppp:base:1 | urn:ietf:params:xml:ns:sppp:base:1 | |||
skipping to change at page 82, line 33 | skipping to change at page 83, line 33 | |||
</complexType> | </complexType> | |||
<complexType name="TNRType"> | <complexType name="TNRType"> | |||
<complexContent> | <complexContent> | |||
<extension base="spppb:PubIdType"> | <extension base="spppb:PubIdType"> | |||
<sequence> | <sequence> | |||
<element name="startTn" type="string"/> | <element name="startTn" type="string"/> | |||
<element name="endTn" type="string"/> | <element name="endTn" type="string"/> | |||
<element name="corInfo" type="spppb:CORInfoType" | <element name="corInfo" type="spppb:CORInfoType" | |||
minOccurs="0"/> | minOccurs="0"/> | |||
</sequence> | </sequence> | |||
<attribute name="prefix" type="boolean" default="false"> | ||||
</attribute> | ||||
</extension> | </extension> | |||
</complexContent> | </complexContent> | |||
</complexType> | </complexType> | |||
<complexType name="TNPType"> | <complexType name="TNPType"> | |||
<complexContent> | <complexContent> | |||
<extension base="spppb:PubIdType"> | <extension base="spppb:PubIdType"> | |||
<sequence> | <sequence> | |||
<element name="tnPrefix" type="string"/> | <element name="tnPrefix" type="string"/> | |||
<element name="corInfo" type="spppb:CORInfoType" | <element name="corInfo" type="spppb:CORInfoType" | |||
minOccurs="0"/> | minOccurs="0"/> | |||
skipping to change at page 83, line 17 | skipping to change at page 84, line 15 | |||
minOccurs="0"/> | minOccurs="0"/> | |||
</sequence> | </sequence> | |||
</extension> | </extension> | |||
</complexContent> | </complexContent> | |||
</complexType> | </complexType> | |||
<complexType name="RteRecType" abstract="true"> | <complexType name="RteRecType" abstract="true"> | |||
<complexContent> | <complexContent> | |||
<extension base="spppb:BasicObjType"> | <extension base="spppb:BasicObjType"> | |||
<sequence> | <sequence> | |||
<element name="rrName" type="spppb:ObjNameType"/> | <element name="rrName" type="spppb:ObjNameType"/> | |||
<element name="priority" type="unsignedShort" minOccurs="0"/> | ||||
</sequence> | </sequence> | |||
</extension> | </extension> | |||
</complexContent> | </complexContent> | |||
</complexType> | </complexType> | |||
<complexType name="NAPTRType"> | <complexType name="NAPTRType"> | |||
<complexContent> | <complexContent> | |||
<extension base="spppb:RteRecType"> | <extension base="spppb:RteRecType"> | |||
<sequence> | <sequence> | |||
<element name="order" type="unsignedShort"/> | <element name="order" type="unsignedShort"/> | |||
<element name="flags" type="string" minOccurs="0"/> | <element name="flags" type="string" minOccurs="0"/> | |||
skipping to change at page 83, line 42 | skipping to change at page 84, line 41 | |||
<element name="ext" type="spppb:ExtAnyType" minOccurs="0"/> | <element name="ext" type="spppb:ExtAnyType" minOccurs="0"/> | |||
</sequence> | </sequence> | |||
</extension> | </extension> | |||
</complexContent> | </complexContent> | |||
</complexType> | </complexType> | |||
<complexType name="NSType"> | <complexType name="NSType"> | |||
<complexContent> | <complexContent> | |||
<extension base="spppb:RteRecType"> | <extension base="spppb:RteRecType"> | |||
<sequence> | <sequence> | |||
<element name="hostName" type="string"/> | <element name="hostName" type="string"/> | |||
<element name="ipAddr" type="spppb:IPAddrType" minOccurs="0" | ||||
maxOccurs="unbounded"/> | ||||
<element name="ttl" type="positiveInteger" minOccurs="0"/> | <element name="ttl" type="positiveInteger" minOccurs="0"/> | |||
<element name="ext" type="spppb:ExtAnyType" minOccurs="0"/> | <element name="ext" type="spppb:ExtAnyType" minOccurs="0"/> | |||
</sequence> | </sequence> | |||
</extension> | </extension> | |||
</complexContent> | </complexContent> | |||
</complexType> | </complexType> | |||
<complexType name="URIType"> | <complexType name="URIType"> | |||
<complexContent> | <complexContent> | |||
<extension base="spppb:RteRecType"> | <extension base="spppb:RteRecType"> | |||
<sequence> | <sequence> | |||
skipping to change at page 85, line 31 | skipping to change at page 86, line 27 | |||
</simpleType> | </simpleType> | |||
<simpleType name="MinorVerType"> | <simpleType name="MinorVerType"> | |||
<restriction base="unsignedLong"/> | <restriction base="unsignedLong"/> | |||
</simpleType> | </simpleType> | |||
<complexType name="ObjKeyType"> | <complexType name="ObjKeyType"> | |||
<sequence> | <sequence> | |||
<element name="rant" type="spppb:OrgIdType"/> | <element name="rant" type="spppb:OrgIdType"/> | |||
<element name="name" type="spppb:ObjNameType"/> | <element name="name" type="spppb:ObjNameType"/> | |||
</sequence> | </sequence> | |||
</complexType> | </complexType> | |||
<complexType name="IPAddrType"> | ||||
<sequence> | ||||
<element name="addr" type="string"/> | ||||
<element name="type" type="spppb:IPType"/> | ||||
<element name="ext" type="spppb:ExtAnyType" minOccurs="0"/> | ||||
</sequence> | ||||
</complexType> | ||||
<simpleType name="IPType"> | ||||
<restriction base="token"> | ||||
<enumeration value="IPv4"/> | ||||
<enumeration value="IPv6"/> | ||||
</restriction> | ||||
</simpleType> | ||||
<complexType name="RteRecRefType"> | <complexType name="RteRecRefType"> | |||
<sequence> | <sequence> | |||
<element name="rrKey" type="spppb:ObjKeyType"/> | <element name="rrKey" type="spppb:ObjKeyType"/> | |||
<element name="priority" type="unsignedShort"/> | <element name="priority" type="unsignedShort"/> | |||
<element name="ext" type="spppb:ExtAnyType" minOccurs="0"/> | <element name="ext" type="spppb:ExtAnyType" minOccurs="0"/> | |||
</sequence> | </sequence> | |||
</complexType> | </complexType> | |||
<complexType name="SourceIdentType"> | <complexType name="SourceIdentType"> | |||
<sequence> | <sequence> | |||
<element name="sourceIdentLabel" type="string"/> | <element name="sourceIdentLabel" type="string"/> | |||
skipping to change at page 87, line 25 | skipping to change at page 88, line 8 | |||
<complexType name="ResultCodeType"> | <complexType name="ResultCodeType"> | |||
<sequence> | <sequence> | |||
<element name="code" type="int"/> | <element name="code" type="int"/> | |||
<element name="msg" type="string"/> | <element name="msg" type="string"/> | |||
</sequence> | </sequence> | |||
</complexType> | </complexType> | |||
<complexType name="RqstObjResultCodeType"> | <complexType name="RqstObjResultCodeType"> | |||
<complexContent> | <complexContent> | |||
<extension base="spppb:ResultCodeType"> | <extension base="spppb:ResultCodeType"> | |||
<sequence> | <sequence> | |||
<element name="rqstObj" type="spppb:BasicRqstType"/> | <element name="rqstObj" type="spppb:BasicUpdateRqstType"/> | |||
</sequence> | </sequence> | |||
</extension> | </extension> | |||
</complexContent> | </complexContent> | |||
</complexType> | </complexType> | |||
<complexType name="BasicRqstType" abstract="true"> | <complexType name="BasicUpdateRqstType" abstract="true"> | |||
<sequence> | <sequence> | |||
<element name="ext" type="spppb:ExtAnyType" minOccurs="0"/> | <element name="ext" type="spppb:ExtAnyType" minOccurs="0"/> | |||
</sequence> | </sequence> | |||
</complexType> | </complexType> | |||
<complexType name="BasicQueryRqstType" abstract="true"> | <complexType name="BasicQueryRqstType" abstract="true"> | |||
<sequence> | <sequence> | |||
<element name="ext" type="spppb:ExtAnyType" minOccurs="0"/> | <element name="ext" type="spppb:ExtAnyType" minOccurs="0"/> | |||
</sequence> | </sequence> | |||
</complexType> | </complexType> | |||
<complexType name="AddRteGrpRqstType"> | <complexType name="AddRteGrpRqstType"> | |||
<complexContent> | <complexContent> | |||
<extension base="spppb:BasicRqstType"> | <extension base="spppb:BasicUpdateRqstType"> | |||
<sequence> | <sequence> | |||
<element name="rteGrp" type="spppb:RteGrpType"/> | <element name="rteGrp" type="spppb:RteGrpType"/> | |||
</sequence> | </sequence> | |||
</extension> | </extension> | |||
</complexContent> | </complexContent> | |||
</complexType> | </complexType> | |||
<complexType name="DelRteGrpRqstType"> | <complexType name="DelRteGrpRqstType"> | |||
<complexContent> | <complexContent> | |||
<extension base="spppb:BasicRqstType"> | <extension base="spppb:BasicUpdateRqstType"> | |||
<sequence> | <sequence> | |||
<element name="objKey" type="spppb:ObjKeyType"/> | <element name="objKey" type="spppb:ObjKeyType"/> | |||
</sequence> | </sequence> | |||
</extension> | </extension> | |||
</complexContent> | </complexContent> | |||
</complexType> | </complexType> | |||
<complexType name="GetRteGrpsRqstType"> | <complexType name="GetRteGrpsRqstType"> | |||
<complexContent> | <complexContent> | |||
<extension base="spppb:BasicQueryRqstType"> | <extension base="spppb:BasicQueryRqstType"> | |||
<sequence> | <sequence> | |||
skipping to change at page 88, line 20 | skipping to change at page 89, line 4 | |||
</complexType> | </complexType> | |||
<complexType name="GetRteGrpsRqstType"> | <complexType name="GetRteGrpsRqstType"> | |||
<complexContent> | <complexContent> | |||
<extension base="spppb:BasicQueryRqstType"> | <extension base="spppb:BasicQueryRqstType"> | |||
<sequence> | <sequence> | |||
<element name="objKey" type="spppb:ObjKeyType" | <element name="objKey" type="spppb:ObjKeyType" | |||
minOccurs="0" maxOccurs="unbounded"/> | minOccurs="0" maxOccurs="unbounded"/> | |||
</sequence> | </sequence> | |||
</extension> | </extension> | |||
</complexContent> | </complexContent> | |||
</complexType> | </complexType> | |||
<complexType name="AddRteRecRqstType"> | <complexType name="AddRteRecRqstType"> | |||
<complexContent> | <complexContent> | |||
<extension base="spppb:BasicRqstType"> | <extension base="spppb:BasicUpdateRqstType"> | |||
<sequence> | <sequence> | |||
<element name="rteRec" type="spppb:RteRecType"/> | <element name="rteRec" type="spppb:RteRecType"/> | |||
</sequence> | </sequence> | |||
</extension> | </extension> | |||
</complexContent> | </complexContent> | |||
</complexType> | </complexType> | |||
<complexType name="DelRteRecRqstType"> | <complexType name="DelRteRecRqstType"> | |||
<complexContent> | <complexContent> | |||
<extension base="spppb:BasicRqstType"> | <extension base="spppb:BasicUpdateRqstType"> | |||
<sequence> | <sequence> | |||
<element name="objKey" type="spppb:ObjKeyType"/> | <element name="objKey" type="spppb:ObjKeyType"/> | |||
</sequence> | </sequence> | |||
</extension> | </extension> | |||
</complexContent> | </complexContent> | |||
</complexType> | </complexType> | |||
<complexType name="GetRteRecsRqstType"> | <complexType name="GetRteRecsRqstType"> | |||
<complexContent> | <complexContent> | |||
<extension base="spppb:BasicQueryRqstType"> | <extension base="spppb:BasicQueryRqstType"> | |||
<sequence> | <sequence> | |||
<element name="objKey" type="spppb:ObjKeyType" | <element name="objKey" type="spppb:ObjKeyType" | |||
minOccurs="0" maxOccurs="unbounded"/> | minOccurs="0" maxOccurs="unbounded"/> | |||
</sequence> | </sequence> | |||
</extension> | </extension> | |||
</complexContent> | </complexContent> | |||
</complexType> | </complexType> | |||
<complexType name="AddDestGrpRqstType"> | <complexType name="AddDestGrpRqstType"> | |||
<complexContent> | <complexContent> | |||
<extension base="spppb:BasicRqstType"> | <extension base="spppb:BasicUpdateRqstType"> | |||
<sequence> | <sequence> | |||
<element name="destGrp" type="spppb:DestGrpType"/> | <element name="destGrp" type="spppb:DestGrpType"/> | |||
</sequence> | </sequence> | |||
</extension> | </extension> | |||
</complexContent> | </complexContent> | |||
</complexType> | </complexType> | |||
<complexType name="DelDestGrpRqstType"> | <complexType name="DelDestGrpRqstType"> | |||
<complexContent> | <complexContent> | |||
<extension base="spppb:BasicRqstType"> | <extension base="spppb:BasicUpdateRqstType"> | |||
<sequence> | <sequence> | |||
<element name="objKey" type="spppb:ObjKeyType"/> | <element name="objKey" type="spppb:ObjKeyType"/> | |||
</sequence> | </sequence> | |||
</extension> | </extension> | |||
</complexContent> | </complexContent> | |||
</complexType> | </complexType> | |||
<complexType name="GetDestGrpsRqstType"> | <complexType name="GetDestGrpsRqstType"> | |||
<complexContent> | <complexContent> | |||
<extension base="spppb:BasicQueryRqstType"> | <extension base="spppb:BasicQueryRqstType"> | |||
<sequence> | <sequence> | |||
<element name="objKey" type="spppb:ObjKeyType" | <element name="objKey" type="spppb:ObjKeyType" | |||
minOccurs="0" maxOccurs="unbounded"/> | minOccurs="0" maxOccurs="unbounded"/> | |||
</sequence> | </sequence> | |||
</extension> | </extension> | |||
</complexContent> | </complexContent> | |||
</complexType> | </complexType> | |||
<complexType name="AddPubIdRqstType"> | <complexType name="AddPubIdRqstType"> | |||
<complexContent> | <complexContent> | |||
<extension base="spppb:BasicRqstType"> | <extension base="spppb:BasicUpdateRqstType"> | |||
<sequence> | <sequence> | |||
<element name="pi" type="spppb:PubIdType"/> | <element name="pi" type="spppb:PubIdType"/> | |||
</sequence> | </sequence> | |||
</extension> | </extension> | |||
</complexContent> | </complexContent> | |||
</complexType> | </complexType> | |||
<complexType name="DelPubIdRqstType"> | <complexType name="DelPubIdRqstType"> | |||
<complexContent> | <complexContent> | |||
<extension base="spppb:BasicRqstType"> | <extension base="spppb:BasicUpdateRqstType"> | |||
<sequence> | <sequence> | |||
<element name="pi" type="spppb:PubIdType"/> | <element name="pi" type="spppb:PubIdType"/> | |||
</sequence> | </sequence> | |||
</extension> | </extension> | |||
</complexContent> | </complexContent> | |||
</complexType> | </complexType> | |||
<complexType name="GetPubIdsRqstType"> | <complexType name="GetPubIdsRqstType"> | |||
<complexContent> | <complexContent> | |||
<extension base="spppb:BasicQueryRqstType"> | <extension base="spppb:BasicQueryRqstType"> | |||
<sequence> | <sequence> | |||
<element name="pi" type="spppb:PubIdType" minOccurs="0" | <element name="pi" type="spppb:PubIdType" | |||
maxOccurs="unbounded"/> | maxOccurs="unbounded"/> | |||
</sequence> | </sequence> | |||
</extension> | </extension> | |||
</complexContent> | </complexContent> | |||
</complexType> | </complexType> | |||
<complexType name="AddRteGrpOfferRqstType"> | <complexType name="AddRteGrpOfferRqstType"> | |||
<complexContent> | <complexContent> | |||
<extension base="spppb:BasicRqstType"> | <extension base="spppb:BasicUpdateRqstType"> | |||
<sequence> | <sequence> | |||
<element name="rteGrpOffer" type="spppb:RteGrpOfferType"/> | <element name="rteGrpOffer" type="spppb:RteGrpOfferType"/> | |||
</sequence> | </sequence> | |||
</extension> | </extension> | |||
</complexContent> | </complexContent> | |||
</complexType> | </complexType> | |||
<complexType name="DelRteGrpOfferRqstType"> | <complexType name="DelRteGrpOfferRqstType"> | |||
<complexContent> | <complexContent> | |||
<extension base="spppb:BasicRqstType"> | <extension base="spppb:BasicUpdateRqstType"> | |||
<sequence> | <sequence> | |||
<element name="rteGrpOfferKey" | <element name="rteGrpOfferKey" | |||
type="spppb:RteGrpOfferKeyType" /> | type="spppb:RteGrpOfferKeyType" /> | |||
</sequence> | </sequence> | |||
</extension> | </extension> | |||
</complexContent> | </complexContent> | |||
</complexType> | </complexType> | |||
<complexType name="AcceptRteGrpOfferRqstType"> | <complexType name="AcceptRteGrpOfferRqstType"> | |||
<complexContent> | <complexContent> | |||
<extension base="spppb:BasicRqstType"> | <extension base="spppb:BasicUpdateRqstType"> | |||
<sequence> | <sequence> | |||
<element name="rteGrpOfferKey" | <element name="rteGrpOfferKey" | |||
type="spppb:RteGrpOfferKeyType"/> | type="spppb:RteGrpOfferKeyType"/> | |||
</sequence> | </sequence> | |||
</extension> | </extension> | |||
</complexContent> | </complexContent> | |||
</complexType> | </complexType> | |||
<complexType name="RejectRteGrpOfferRqstType"> | <complexType name="RejectRteGrpOfferRqstType"> | |||
<complexContent> | <complexContent> | |||
<extension base="spppb:BasicRqstType"> | <extension base="spppb:BasicUpdateRqstType"> | |||
<sequence> | <sequence> | |||
<element name="rteGrpOfferKey" | <element name="rteGrpOfferKey" | |||
type="spppb:RteGrpOfferKeyType"/> | type="spppb:RteGrpOfferKeyType"/> | |||
</sequence> | </sequence> | |||
</extension> | </extension> | |||
</complexContent> | </complexContent> | |||
</complexType> | </complexType> | |||
<complexType name="GetRteGrpOffersRqstType"> | <complexType name="GetRteGrpOffersRqstType"> | |||
<complexContent> | <complexContent> | |||
<extension base="spppb:BasicQueryRqstType"> | <extension base="spppb:BasicQueryRqstType"> | |||
skipping to change at page 91, line 20 | skipping to change at page 92, line 4 | |||
minOccurs="0"/> | minOccurs="0"/> | |||
<element name="rteGrpOfferKey" | <element name="rteGrpOfferKey" | |||
type="spppb:RteGrpOfferKeyType" minOccurs="0" | type="spppb:RteGrpOfferKeyType" minOccurs="0" | |||
maxOccurs="unbounded"/> | maxOccurs="unbounded"/> | |||
</sequence> | </sequence> | |||
</extension> | </extension> | |||
</complexContent> | </complexContent> | |||
</complexType> | </complexType> | |||
<complexType name="AddEgrRteRqstType"> | <complexType name="AddEgrRteRqstType"> | |||
<complexContent> | <complexContent> | |||
<extension base="spppb:BasicRqstType"> | <extension base="spppb:BasicUpdateRqstType"> | |||
<sequence> | <sequence> | |||
<element name="egrRte" type="spppb:EgrRteType"/> | <element name="egrRte" type="spppb:EgrRteType"/> | |||
</sequence> | </sequence> | |||
</extension> | </extension> | |||
</complexContent> | </complexContent> | |||
</complexType> | </complexType> | |||
<complexType name="DelEgrRteRqstType"> | <complexType name="DelEgrRteRqstType"> | |||
<complexContent> | <complexContent> | |||
<extension base="spppb:BasicRqstType"> | <extension base="spppb:BasicUpdateRqstType"> | |||
<sequence> | <sequence> | |||
<element name="objKey" type="spppb:ObjKeyType"/> | <element name="objKey" type="spppb:ObjKeyType"/> | |||
</sequence> | </sequence> | |||
</extension> | </extension> | |||
</complexContent> | </complexContent> | |||
</complexType> | </complexType> | |||
<complexType name="GetEgrRtesRqstType"> | <complexType name="GetEgrRtesRqstType"> | |||
<complexContent> | <complexContent> | |||
<extension base="spppb:BasicQueryRqstType"> | <extension base="spppb:BasicQueryRqstType"> | |||
<sequence> | <sequence> | |||
skipping to change at page 92, line 9 | skipping to change at page 92, line 41 | |||
<documentation> -------- Generic Request and Response Definitions | <documentation> -------- Generic Request and Response Definitions | |||
--------------- </documentation> | --------------- </documentation> | |||
</annotation> | </annotation> | |||
<element name="spppUpdateRequest"> | <element name="spppUpdateRequest"> | |||
<complexType> | <complexType> | |||
<sequence> | <sequence> | |||
<element name="clientTransId" type="spppb:TransIdType" | <element name="clientTransId" type="spppb:TransIdType" | |||
minOccurs="0"/> | minOccurs="0"/> | |||
<element name="minorVer" type="spppb:MinorVerType" | <element name="minorVer" type="spppb:MinorVerType" | |||
minOccurs="0"/> | minOccurs="0"/> | |||
<element name="rqst" type="spppb:BasicRqstType" | <element name="rqst" type="spppb:BasicUpdateRqstType" | |||
maxOccurs="unbounded"/> | maxOccurs="unbounded"/> | |||
</sequence> | </sequence> | |||
</complexType> | </complexType> | |||
</element> | </element> | |||
<element name="spppUpdateResponse"> | <element name="spppUpdateResponse"> | |||
<complexType> | <complexType> | |||
<sequence> | <sequence> | |||
<element name="clientTransId" type="spppb:TransIdType" | <element name="clientTransId" type="spppb:TransIdType" | |||
minOccurs="0"/> | minOccurs="0"/> | |||
<element name="serverTransId" type="spppb:TransIdType"/> | <element name="serverTransId" type="spppb:TransIdType"/> | |||
skipping to change at page 94, line 10 | skipping to change at page 94, line 10 | |||
</sequence> | </sequence> | |||
</complexType> | </complexType> | |||
</element> | </element> | |||
</schema> | </schema> | |||
12. Acknowledgments | 12. Acknowledgments | |||
This document is a result of various discussions held in the DRINKS | This document is a result of various discussions held in the DRINKS | |||
working group and within the DRINKS protocol design team, which is | working group and within the DRINKS protocol design team, which is | |||
comprised of the following individuals, in alphabetical order: | comprised of the following individuals, in alphabetical order: | |||
Alexander Mayrhofer, Deborah A Guyton, David Schwartz, Lisa | Alexander Mayrhofer, Deborah A Guyton, David Schwartz, Lisa | |||
Dusseault, Manjul Maharishi, Otmar Lendl, Richard Shockey and Sumanth | Dusseault, Manjul Maharishi, Mickael Marrache, Otmar Lendl, Richard | |||
Channabasappa. | Shockey, Samuel Melloul, and Sumanth Channabasappa. | |||
13. References | 13. References | |||
13.1. Normative References | 13.1. Normative References | |||
[I-D.ietf-drinks-sppp-over-soap] | [I-D.ietf-drinks-sppp-over-soap] | |||
Cartwright, K., "SPPP Over SOAP and HTTP", | Cartwright, K., "SPPP Over SOAP and HTTP", | |||
draft-ietf-drinks-sppp-over-soap-01 (work in progress), | draft-ietf-drinks-sppp-over-soap-02 (work in progress), | |||
October 2010. | February 2011. | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, March 1997. | Requirement Levels", BCP 14, RFC 2119, March 1997. | |||
[RFC2277] Alvestrand, H., "IETF Policy on Character Sets and | [RFC2277] Alvestrand, H., "IETF Policy on Character Sets and | |||
Languages", BCP 18, RFC 2277, January 1998. | Languages", BCP 18, RFC 2277, January 1998. | |||
[RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO | [RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO | |||
10646", STD 63, RFC 3629, November 2003. | 10646", STD 63, RFC 3629, November 2003. | |||
End of changes. 153 change blocks. | ||||
782 lines changed or deleted | 762 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |