draft-ietf-drinks-spprov-03.txt   draft-ietf-drinks-spprov-04.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: April 25, 2011 TNS Expires: August 21, 2011 TNS
S. Ali S. Ali
NeuStar NeuStar
A. Mayrhofer A. Mayrhofer
enum.at GmbH enum.at GmbH
October 22, 2010 February 17, 2011
Session Peering Provisioning Protocol Session Peering Provisioning Protocol
draft-ietf-drinks-spprov-03 draft-ietf-drinks-spprov-04
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 April 25, 2011. This Internet-Draft will expire on August 21, 2011.
Copyright Notice Copyright Notice
Copyright (c) 2010 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
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 7 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 7
3. Protocol High Level Design . . . . . . . . . . . . . . . . . . 9 3. Protocol High Level Design . . . . . . . . . . . . . . . . . . 9
3.1. Protocol Layering . . . . . . . . . . . . . . . . . . . . 9 3.1. Protocol Layering . . . . . . . . . . . . . . . . . . . . 9
3.2. Protocol Data Model . . . . . . . . . . . . . . . . . . . 10 3.2. Protocol Data Model . . . . . . . . . . . . . . . . . . . 10
4. Transport Protocol Requirements . . . . . . . . . . . . . . . 14 4. Transport Protocol Requirements . . . . . . . . . . . . . . . 14
4.1. Connection Oriented . . . . . . . . . . . . . . . . . . . 15 4.1. Connection Oriented . . . . . . . . . . . . . . . . . . . 14
4.2. Request and Response Model . . . . . . . . . . . . . . . . 15 4.2. Request and Response Model . . . . . . . . . . . . . . . . 14
4.3. Connection Lifetime . . . . . . . . . . . . . . . . . . . 15 4.3. Connection Lifetime . . . . . . . . . . . . . . . . . . . 15
4.4. Authentication . . . . . . . . . . . . . . . . . . . . . . 15 4.4. Authentication . . . . . . . . . . . . . . . . . . . . . . 15
4.5. Confidentiality and Integrity . . . . . . . . . . . . . . 16 4.5. Confidentiality and Integrity . . . . . . . . . . . . . . 15
4.6. Near Real Time . . . . . . . . . . . . . . . . . . . . . . 16 4.6. Near Real Time . . . . . . . . . . . . . . . . . . . . . . 15
4.7. Request and Response Sizes . . . . . . . . . . . . . . . . 16 4.7. Request and Response Sizes . . . . . . . . . . . . . . . . 16
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 . . . . . . . . . . . . . . . . . . . 17 4.10. Mandatory Transport . . . . . . . . . . . . . . . . . . . 16
5. Base Protocol Data Structures . . . . . . . . . . . . . . . . 18 5. Base Protocol Data Structures . . . . . . . . . . . . . . . . 17
5.1. Request and Response Structures . . . . . . . . . . . . . 18 5.1. Request and Response Structures . . . . . . . . . . . . . 17
5.1.1. Update Request and Response Structures . . . . . . . . 18 5.1.1. Update Request and Response Structures . . . . . . . . 17
5.1.2. Query Request and Response Structures . . . . . . . . 21 5.1.2. Query Request and Response Structures . . . . . . . . 20
5.2. Response Codes and Messages . . . . . . . . . . . . . . . 23 5.2. Response Codes and Messages . . . . . . . . . . . . . . . 22
5.3. Basic Object Type and Organization Identifiers . . . . . . 25 5.3. Basic Object Type and Organization Identifiers . . . . . . 24
6. Protocol Commands . . . . . . . . . . . . . . . . . . . . . . 27 6. Protocol Commands . . . . . . . . . . . . . . . . . . . . . . 26
6.1. Add Route Group Operation . . . . . . . . . . . . . . . . 27 6.1. Add Route Group Operation . . . . . . . . . . . . . . . . 26
6.2. Get Route Groups Operation . . . . . . . . . . . . . . . . 31 6.2. Get Route Groups Operation . . . . . . . . . . . . . . . . 30
6.3. Add Destination Group Operation . . . . . . . . . . . . . 32 6.3. Add Destination Group Operation . . . . . . . . . . . . . 31
6.4. Get Destination Groups Operation . . . . . . . . . . . . . 33 6.4. Get Destination Groups Operation . . . . . . . . . . . . . 32
6.5. Add Route Group Offer Operation . . . . . . . . . . . . . 34 6.5. Add Route Group Offer Operation . . . . . . . . . . . . . 33
6.6. Accept Route Group Offer Operation . . . . . . . . . . . . 36 6.6. Accept Route Group Offer Operation . . . . . . . . . . . . 35
6.7. Reject Route Group Offer Operation . . . . . . . . . . . . 37 6.7. Reject Route Group Offer Operation . . . . . . . . . . . . 36
6.8. Get Route Group Offers Operation . . . . . . . . . . . . . 38 6.8. Get Route Group Offers Operation . . . . . . . . . . . . . 37
6.9. Public Identifier Operations . . . . . . . . . . . . . . . 40 6.9. Public Identifier Operations . . . . . . . . . . . . . . . 39
6.10. Egress Route Operations . . . . . . . . . . . . . . . . . 45 6.10. Egress Route Operations . . . . . . . . . . . . . . . . . 43
6.11. Add Route Record Operation . . . . . . . . . . . . . . . . 47 6.11. Add Route Record Operation . . . . . . . . . . . . . . . . 46
6.12. Get Route Records Operation . . . . . . . . . . . . . . . 52 6.12. Get Route Records Operation . . . . . . . . . . . . . . . 50
6.13. Delete Operation . . . . . . . . . . . . . . . . . . . . . 53 6.13. Delete Operation . . . . . . . . . . . . . . . . . . . . . 51
7. SPPP Examples . . . . . . . . . . . . . . . . . . . . . . . . 54 7. SPPP Examples . . . . . . . . . . . . . . . . . . . . . . . . 53
7.1. Add Destination Group . . . . . . . . . . . . . . . . . . 54 7.1. Add Destination Group . . . . . . . . . . . . . . . . . . 53
7.2. Add Route Records . . . . . . . . . . . . . . . . . . . . 55 7.2. Add Route Records . . . . . . . . . . . . . . . . . . . . 54
7.3. Add Route Records -- URIType . . . . . . . . . . . . . . . 56 7.3. Add Route Records -- URIType . . . . . . . . . . . . . . . 55
7.4. Add Route Group . . . . . . . . . . . . . . . . . . . . . 57 7.4. Add Route Group . . . . . . . . . . . . . . . . . . . . . 56
7.5. Add Public Identity -- Successful COR claim . . . . . . . 59 7.5. Add Public Identity -- Successful COR claim . . . . . . . 58
7.6. Add LRN . . . . . . . . . . . . . . . . . . . . . . . . . 60 7.6. Add LRN . . . . . . . . . . . . . . . . . . . . . . . . . 59
7.7. Add TN Range . . . . . . . . . . . . . . . . . . . . . . . 61 7.7. Add TN Range . . . . . . . . . . . . . . . . . . . . . . . 60
7.8. Add TN Range with Open Number Plan support . . . . . . . . 62 7.8. Add TN Range with Open Number Plan support . . . . . . . . 61
7.9. Add TN Prefix . . . . . . . . . . . . . . . . . . . . . . 63 7.9. Add TN Prefix . . . . . . . . . . . . . . . . . . . . . . 62
7.10. Enable Peering -- Route Group Offer . . . . . . . . . . . 64 7.10. Enable Peering -- Route Group Offer . . . . . . . . . . . 63
7.11. Enable Peering -- Route Group Offer Accept . . . . . . . . 66 7.11. Enable Peering -- Route Group Offer Accept . . . . . . . . 65
7.12. Add Egress Route . . . . . . . . . . . . . . . . . . . . . 67 7.12. Add Egress Route . . . . . . . . . . . . . . . . . . . . . 66
7.13. Get Destination Group . . . . . . . . . . . . . . . . . . 68 7.13. Get Destination Group . . . . . . . . . . . . . . . . . . 67
7.14. Get Public Identity . . . . . . . . . . . . . . . . . . . 69 7.14. Get Public Identity . . . . . . . . . . . . . . . . . . . 68
7.15. Get Route Group Request . . . . . . . . . . . . . . . . . 70 7.15. Get Route Group Request . . . . . . . . . . . . . . . . . 69
7.16. Get Route Group Offers Request . . . . . . . . . . . . . . 71 7.16. Get Route Group Offers Request . . . . . . . . . . . . . . 70
7.17. Get Egree Route . . . . . . . . . . . . . . . . . . . . . 72 7.17. Get Egress Route . . . . . . . . . . . . . . . . . . . . . 71
7.18. Delete Destination Group . . . . . . . . . . . . . . . . . 74 7.18. Delete Destination Group . . . . . . . . . . . . . . . . . 73
7.19. Delete Public Identity . . . . . . . . . . . . . . . . . . 74 7.19. Delete Public Identity . . . . . . . . . . . . . . . . . . 73
7.20. Delete Route Group Request . . . . . . . . . . . . . . . . 75 7.20. Delete Route Group Request . . . . . . . . . . . . . . . . 74
7.21. Delete Route Group Offers Request . . . . . . . . . . . . 76 7.21. Delete Route Group Offers Request . . . . . . . . . . . . 75
7.22. Delete Egress Route . . . . . . . . . . . . . . . . . . . 77 7.22. Delete Egress Route . . . . . . . . . . . . . . . . . . . 76
8. XML Considerations . . . . . . . . . . . . . . . . . . . . . . 79 8. XML Considerations . . . . . . . . . . . . . . . . . . . . . . 78
8.1. Namespaces . . . . . . . . . . . . . . . . . . . . . . . . 79 8.1. Namespaces . . . . . . . . . . . . . . . . . . . . . . . . 78
8.2. Versioning and Character Encoding . . . . . . . . . . . . 79 8.2. Versioning and Character Encoding . . . . . . . . . . . . 78
9. Security Considerations . . . . . . . . . . . . . . . . . . . 80 9. Security Considerations . . . . . . . . . . . . . . . . . . . 79
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 81 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 80
11. Formal Specification . . . . . . . . . . . . . . . . . . . . . 82 11. Formal Specification . . . . . . . . . . . . . . . . . . . . . 81
12. Specification Extensibility . . . . . . . . . . . . . . . . . 95 12. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 94
13. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 96 13. References . . . . . . . . . . . . . . . . . . . . . . . . . . 95
14. References . . . . . . . . . . . . . . . . . . . . . . . . . . 97 13.1. Normative References . . . . . . . . . . . . . . . . . . . 95
14.1. Normative References . . . . . . . . . . . . . . . . . . . 97 13.2. Informative References . . . . . . . . . . . . . . . . . . 95
14.2. Informative References . . . . . . . . . . . . . . . . . . 97 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 97
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 99
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
exchanges. This document is narrowly focused on the provisioning exchanges. This document is narrowly focused on the provisioning
protocol for these registries. This protocol prescribes a way for an protocol for these registries. This protocol prescribes a way for an
entity to provision session-related data into a registry. The data entity to provision session-related data into a registry. The data
being provisioned can be optionally shared with other participating being provisioned can be optionally shared with other participating
peering entities. The requirements and use cases driving this peering entities. The requirements and use cases driving this
skipping to change at page 11, line 16 skipping to change at page 11, line 16
associated with 2 | | associated with 2 | |
Organizations to +------------------+ Organizations to +------------------+
identify the ^ identify the ^
registrant and |A Route Group is registrant and |A Route Group is
the registrar |associated with the registrar |associated with
|zero or more Peering |zero or more Peering
|Organizations |Organizations
| |
+--------+--------------+ +--------+--------------+
|Route Group: | +-----[abstract]-+ |Route Group: | +-----[abstract]-+
| rantId, | | Route Record: | | rant, | | Route Record: |
| rarId, | | | | rar, | | |
| rteGrpName, | | rrName, | | rgName, | | rrName, |
| destGrpRef, +------->| priority, | | destGrpRef, +------->| priority, |
| isInSvc, | | extension | | isInSvc, | | extension |
| rteRecRef, | | | | rrRef, | | |
| peeringOrg, | +----------------+ | peeringOrg, | +----------------+
| sourceIdent, | ^ | sourceIdent, | ^
| priority, | | | priority, | |
| extension | |Various types | extension | |Various types
+-----------------------+ |of Route +-----------------------+ |of Route
^ |Records... ^ |Records...
| +------+------------... | +------+------------...
| | | | | | | |
| +----+ +-------+ +----+ | +----+ +-------+ +----+
| | URI| | NAPTR | | NS | | | URI| | NAPTR | | NS |
+----------------+-----+ +----+ +-------+ +----+ +----------------+-----+ +----+ +-------+ +----+
|Destination | |Destination |
|Group: | +----------[abstract]-+ |Group: | +----------[abstract]-+
| rantId, | |Public Identifier: | | rant, | |Public Identifier: |
| rarId, | | | | rar, | | |
| dgName, | | rantId, | | dgName, | | rant, |
| extension |<----+ rarId, | | extension |<----+ rar, |
+----------------------+ | publicIdentifier, | +----------------------+ | publicIdentifier, |
| destGrpRef, | | destGrpRef, |
| rteRec, | | rrRef, |
| extension | | extension |
+---------------------+ +---------------------+
^ ^
|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:
A public identifier is a well known attribute that is used as the From a broad perspective a public identifier is a well known
key to perform lookup functions. For the purposes of this attribute that is used as the key to perform resolution lookups.
document, a Public Identifier can be a telephone number, a range Within the context of SPPP, a Public Identifier object can be a
of telephone numbers, a PSTN Routing Number (RN), or perhaps telephone number, a range of telephone numbers, a PSTN Routing
another type of lookup key. Number (RN), or a prefix.
A Public Identifier is associated with a Destination Group to An SPPP Public Identifier is associated with a Destination Group
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
contains data specifically tailored to an individual TN Public contains data specifically tailored to an individual TN Public
Identifier. Identifier.
o Telephone Number Range:
A public identifier may represent an inclusive range of telephone
numbers. The TN range is defined by the first and last telephone
number of the inclusive range. For example, a TN range defined by
tn=12125550000 and endTn=12125560000 means all the TNs from
12125550000 to 12125560000 inclusive are included.
o Destination Group: o Destination Group:
A name collection of zero or more Public Identifiers that can be A named collection of zero or more Public Identifiers that can be
associated with one or more Route Groups for the purpose of associated with one or more Route Groups for the purpose of
facilitating the management of thier common routing information. facilitating the management of their common routing information.
o Route Group: o Route Group:
A Route Group contains a set of references to Route Records, a set A Route Group contains a set of references to Route Records, a set
of Destination Group references, and a set of peering organization of Destination Group references, and a set of peering organization
identifiers. This is used to establishe a three part identifiers. This is used to establish a three part relationships
relationships between a set of Public Identifiers and their common between a set of Public Identifiers and their common routing
routing information (SED), and the list of peering organizations information (SED), and the list of peering organizations whose
whose query responses may include that routing information in query responses may include that routing information in their
their query responses. To support the use cases defined in query responses. To support the use cases defined in [I-D.ietf-
[I-D.ietf-drinks-usecases-requirements], this document defines the drinks-usecases-requirements], this document defines the following
following types of Route Records: NAPTRType, NSType, and URIType. types of Route Records: NAPTRType, NSType, and URIType. The
sourceIdent element within a Route Group, in concert with the set
The sourceIdent element within a Route Group, in concert with the of peering organization identifiers enables fine grained source
set of peering organization identifiers enables fine grained based routing. Further details about the Route Group and source
source based routing. Further details about the Route Group and based routing refer to the definitions and descriptions of the
source based routing refer to the definitions and descriptions of Route Group operations found later in this document.
the Route Group operations found later in this document.
o Route Record: o Route Record:
A Route Record contains the data that a resolution system returns A Route Record contains the data that a resolution system returns
in response to a successful query for a Public Identifier. Route in response to a successful query for a Public Identifier. Route
Recoords are associated with a Route Group for SED that is not Recoords are associated with a Route Group for SED that is not
specific to a Public Identifier. specific to a Public Identifier.
To support the use cases defined in To support the use cases defined in
[I-D.ietf-drinks-usecases-requirements], SPPP protocol defines [I-D.ietf-drinks-usecases-requirements], SPPP protocol defines
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
skipping to change at page 14, line 33 skipping to change at page 14, line 33
"download" of a whole local number portability database to a "download" of a whole local number portability database to a
Registry. Registry.
As a result, a transport protocol for SPPP must be very flexible and As a result, a transport protocol for SPPP must be very flexible and
accommodate various sizes of data set sizes. accommodate various sizes of data set sizes.
For the reasons outlined above, it is conceivable that provisioning For the reasons outlined above, it is conceivable that provisioning
and distributing may use different transport protocols. This and distributing may use different transport protocols. This
document focuses on the provisioning protocol. document focuses on the provisioning protocol.
A few topics remain open for discussion:
o The ability to establish multiple connections between a client and
server may be desirable. If so, we may want to specify the
relation of transactions between the various connections.
o Pipelining of requests is required at the SPPP protocol layer. It
may have impacts at the transport level that need to be outlined.
o Scope: the current scope of this effort is based upon having a
connection oriented transport. Is there any need to support a
transport protocol with asynchronous operation?
o If it is required that responses arrive in the order of the
requests, this must be specified clearly.
4.1. Connection Oriented 4.1. Connection Oriented
The SPPP protocol follows a model where a Client establishes a The SPPP protocol follows a model where a Client establishes a
connection to a Server in order to further exchange provisioning connection to a Server in order to further exchange provisioning
transactions over such point-to-point connection. A transport transactions over such point-to-point connection. A transport
protocol for SPPP MUST therefore be connection oriented. protocol for SPPP MUST therefore be connection oriented.
Note that the role of the "Client" and the "Server" only applies to Note that the role of the "Client" and the "Server" only applies to
the connection, and those roles are not related in any way to the the connection, and those roles are not related in any way to the
type of entity that participates in a protocol exchange. For type of entity that participates in a protocol exchange. For
skipping to change at page 16, line 9 skipping to change at page 15, line 38
potentially also the Client to authenticate the Server. While potentially also the Client to authenticate the Server. While
authentication of the Server by the Client is expected to be used authentication of the Server by the Client is expected to be used
only to prevent impersonation of the Server, authentication of the only to prevent impersonation of the Server, authentication of the
Client by the Server is expected to be used to identify and further Client by the Server is expected to be used to identify and further
authorize the Client to certain resources on the Server. authorize the Client to certain resources on the Server.
Therefore, an SPPP transport protocol MUST provide means for a Server Therefore, an SPPP transport protocol MUST provide means for a Server
to authenticate and authorize a Client, and MAY provide means for to authenticate and authorize a Client, and MAY provide means for
Clients to authenticate a Server. Clients to authenticate a Server.
However, SPPP transport SHOULD also allow for unauthenticated
connections.
4.5. Confidentiality and Integrity 4.5. Confidentiality and Integrity
Data that is transported over the protocol is deemed confidential. Data that is transported over the protocol is deemed confidential.
Therefore, a transport protocol suitable for SPPP MUST ensure Therefore, a transport protocol suitable for SPPP MUST ensure
confidentiality and integrity protection by providing encryption confidentiality and integrity protection by providing encryption
capabilities. capabilities.
Additionally, a DRINKS protocol MUST NOT use an unreliable lower- Additionally, a DRINKS protocol MUST NOT use an unreliable lower-
layer transport protocol that does not provide confidentiality and layer transport protocol that does not provide confidentiality and
integrity protection. integrity protection.
skipping to change at page 25, line 24 skipping to change at page 24, line 24
the following parameters: "AttributeName" and "AttributeValue". the following parameters: "AttributeName" and "AttributeValue".
The use of these parameters MUST adhere to the following rules: The use of these parameters MUST adhere to the following rules:
o All parameters within a response message are mandatory and MUST o All parameters within a response message are mandatory and MUST
be present. be present.
o Any value provided for the "AttributeName" parameter MUST be an o Any value provided for the "AttributeName" parameter MUST be an
exact XSD element name of the protocol data element that the exact XSD element name of the protocol data element that the
response message is referring to. For example, valid values for response message is referring to. For example, valid values for
"attribute name" are "dgName", "rteGrpName", "rteRec", etc. "attribute name" are "dgName", "rgName", "rteRec", etc.
o The value for "AttributeValue" MUST be the value of the data o The value for "AttributeValue" MUST be the value of the data
element to which the preceding "AttributeName" refers. element to which the preceding "AttributeName" refers.
o Result code 2104 SHOULD be used whenever an element value does o Result code 2104 SHOULD be used whenever an element value does
not adhere to data validation rules. not adhere to data validation rules.
o Result codes 2104 and 2105 MUST NOT be used interchangeably. o Result codes 2104 and 2105 MUST NOT be used interchangeably.
Response code 2105 SHOULD be returned by an update operation Response code 2105 SHOULD be returned by an update operation
when the data element(s) used to uniquely identify a pre- when the data element(s) used to uniquely identify a pre-
skipping to change at page 26, line 7 skipping to change at page 25, line 7
All first class objects extend the basic object type BasicObjType All first class objects extend the basic object type BasicObjType
which contains the identifier of the registrant organization that which contains the identifier of the registrant organization that
owns this object, the identifier of the registrar organization that owns this object, the identifier of the registrar organization that
provisioned this object, the date and time that the object was 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 created by the server, and the date and time that the object was last
modified. modified.
<complexType name="BasicObjType" abstract="true"> <complexType name="BasicObjType" abstract="true">
<sequence> <sequence>
<element name="rantId" type="spppb:OrgIdType"/> <element name="rant" type="spppb:OrgIdType"/>
<element name="rarId" type="spppb:OrgIdType"/> <element name="rar" type="spppb:OrgIdType"/>
<element name="crtDate" type="dateTime" minOccurs="0"/> <element name="cDate" type="dateTime" minOccurs="0"/>
<element name="modDate" type="dateTime" minOccurs="0"/> <element name="mDate" type="dateTime" minOccurs="0"/>
<element name="ext" type="spppb:ExtAnyType" minOccurs="0"/> <element name="ext" type="spppb:ExtAnyType" minOccurs="0"/>
</sequence> </sequence>
</complexType> </complexType>
The identifiers used for registrants (rantId), registrars (rarId) and The identifiers used for registrants (rant), registrars (rar) and
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.
skipping to change at page 28, line 9 skipping to change at page 27, line 9
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 BasicRqstType and contains one RteGrpType object. The RteGrpType
object structure is defined as follows: 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="rteGrpName" type="spppb:ObjNameType"/> <element name="rgName" type="spppb:ObjNameType"/>
<element name="rteRecRef" 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"/>
<element name="peeringOrg" type="spppb:OrgIdType" <element name="peeringOrg" type="spppb:OrgIdType"
minOccurs="0" maxOccurs="unbounded"/> minOccurs="0" maxOccurs="unbounded"/>
<element name="sourceIdent" type="spppb:SourceIdentType" <element name="sourceIdent" type="spppb:SourceIdentType"
minOccurs="0" maxOccurs="unbounded"/> minOccurs="0" maxOccurs="unbounded"/>
<element name="isInSvc" type="boolean"/> <element name="isInSvc" type="boolean"/>
<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>
</extension> </extension>
</complexContent> </complexContent>
</complexType> </complexType>
<complexType name="RteRecRefType"> <complexType name="RteRecRefType">
<sequence> <sequence>
<element name="rteRec" 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>
The RteGrpType object is composed of the following elements: The RteGrpType 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 passes 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 rteGrpName: The character string that contains the name of the o rgName: The character string that contains the name of the Route
Route Group. It uniquely identifies this object within the Group. It uniquely identifies this object within the context of
context of the registrant ID (a child element of the base the registrant ID (a child element of the base element as
element as described above). described above).
o rteRecRef: Set of zero or more objects of type RteRecRefType o rrRef: Set of zero or more objects of type RteRecRefType that
that house the unique keys of the Route Records that the the house the unique keys of the Route Records that the RteGrpType
RteGrpType object refers to and their relative priority within object refers to and their relative priority within the context
the context of a given route group. The associated Route of a given route group. The associated Route Records contain
Records contain the routing information, sometimes called SED, the routing information, sometimes called SED, associated with
associated with this Roue Group. this Route Group.
o dgName: Set of zero or more names of DestGrpType object o dgName: Set of zero or more names of DestGrpType object
instances. Each dgName name, in association with this Route instances. Each dgName name, in association with this Route
Group's registrant ID, uniquely identifies a DestGrpType object Group's registrant ID, uniquely identifies a DestGrpType object
instance whose public identifiers are reachable using the instance whose public identifiers are reachable using the
routing information housed in this Route Group. An intended routing information housed in this Route Group. An intended
side affect of this is that a Route Group cannot provide routing side affect of this is that a Route Group cannot provide routing
information for a Destination Group belonging to another information for a Destination Group belonging to another
registrant. registrant.
skipping to change at page 34, line 45 skipping to change at page 33, line 45
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
peeringOrg list in a Route Group object, and that Route Group's peeringOrg list in a 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
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 offeredToOrg 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:BasicRqstType">
<sequence> <sequence>
<element name="rteGrpOffer" type="spppb:RteGrpOfferType"/> <element name="rteGrpOffer" type="spppb:RteGrpOfferType"/>
skipping to change at page 39, line 5 skipping to change at page 38, line 5
Route Group Offers found then an empty result set will be returned. Route Group Offers found then an empty result set will be returned.
The element passed into the spppQueryRequest element for this The element passed into the spppQueryRequest element for this
operation is an instance of GetRteGrpOffersRqstType, which extends operation is an instance of GetRteGrpOffersRqstType, which extends
BasicQueryRqstType and contains the criteria that the returned Route BasicQueryRqstType and contains the criteria that the returned Route
Group Offer objects must match. Any limitation on the maximum number Group Offer objects must match. Any limitation on the maximum number
of objects that may be returned by this operation is a policy of objects that may be returned by this operation is a policy
decision and not limited by the protocol. The XSD declaration of the decision and not limited by the protocol. The XSD declaration of the
operation is as follows: operation is as follows:
<complexType name="GetRteGrpOffersRqstType"> <complexType name="GetRteGrpOffersRqstType">
<complexContent> <complexContent>
<extension base="spppb:BasicQueryRqstType"> <extension base="spppb:BasicQueryRqstType">
<sequence> <sequence>
<element name="offeredByPeers" type="boolean" minOccurs="0"/> <element name="offeredBy" type="spppb:OrgIdType"
<element name="offeredToPeers" type="boolean" minOccurs="0"/> minOccurs="0" maxOccurs="unbounded"/>
<element name="status" type="spppb:RteGrpOfferStatusType" <element name="offeredTo" type="spppb:OrgIdType"
minOccurs="0"/> minOccurs="0" maxOccurs="unbounded"/>
<element name="peeringOrg" type="spppb:OrgIdType" <element name="status" type="spppb:RteGrpOfferStatusType"
minOccurs="0" maxOccurs="unbounded"/> 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>
The GetRteGrpOffersRqstType object is composed of the following The GetRteGrpOffersRqstType object is composed of the following
elements: elements:
o offeredByPeers: Zero or one boolean value that, if true, o offeredBy: Zero or more organization IDs. Only offers that are
indicates that only offers that are offered by peering offered to the organization IDs in this list should be included
organizations to the querying registrant should be included in
the result set. If this value is false, the offers by peering
organizations to the querying registrant should not be included
in the result set. The result set is also subject to other in the result set. The result set is also subject to other
query criteria in the request. query criteria in the request.
o offeredToPeers: Zero or one boolean value that, if true, o offeredTo: Zero or more organization IDs. Only offers that are
indicates that only offers that are offered to peering offered by the organization IDs in this list should be included
organizations by the querying registrant should be included in
the result set. If this value is false, the offers to peering
organizations by the querying registrant should not be included
in the result set. The result set is also subject to other in the result set. The result set is also subject to other
query criteria in the request. query criteria in the request.
o status: The status of the offer, offered or accepted. Only o status: The status of the offer, offered or accepted. Only
offers in the specified status should be included in the result offers in the specified status should be included in the result
set. If this element is not present then the status of the set. If this element is not present then the status of the
offer should not be considered in the query. The result set is offer should not be considered in the query. The result set is
also subject to other query criteria in the request. also subject to other query criteria in the request.
o peeringOrg: Zero or more organization IDs. Only offers that are
offered to or offered by the organization IDs in this list
should be included in the result set. The result set is also
subject to other query criteria in the request.
o rteGrpOfferKey: Zero or more Route Group Offer Keys. Only o rteGrpOfferKey: Zero or more Route Group Offer Keys. Only
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.
skipping to change at page 40, line 29 skipping to change at page 39, line 18
establishment data (SED). In many cases, a Public Identifier is establishment data (SED). In many cases, a Public Identifier is
attributed to the end user who has a retail relationship with the attributed to the end user who has a retail relationship with the
service provider or registrant organization. In SPPP, SED can be service provider or registrant organization. In SPPP, SED can be
provisioned by the registrant, or by the registrar on behalf of the provisioned by the registrant, or by the registrar on behalf of the
registrant. Also, SPPP supports the notion of the carrier-of-record registrant. Also, SPPP supports the notion of the carrier-of-record
as defined in RFC 5067. Therefore, the entity adding the Public as defined in RFC 5067. Therefore, the entity adding the Public
Identity in the Registry can optionally claim to be a carrier-of- Identity in the Registry can optionally claim to be a carrier-of-
record. record.
SPPP identifies three types of Public Identifiers: telephone number SPPP identifies three types of Public Identifiers: telephone number
(TN), email address, and the routing number (RN). SPPP provides (TN), and the routing number (RN). SPPP provides structures to
structures to manage a single TN, a contiguous range of TNs, and a TN manage a single TN, a contiguous range of TNs, and a TN prefix.
prefix.
The XML schema type definition PubIDType is the generalization of the The XML schema type definition PubIDType is the generalization of the
Public Identifier. PubIDType is an abstract type. In agreement with Public Identifier. PubIDType is an abstract type. In agreement with
the data model, PubIDType member 'dgName' represents the name of the the data model, PubIDType member 'dgName' represents the name of the
destination group that a given Public Identifier is associated to. destination group that a given Public Identifier is associated to.
The PubIDType object structure is defined as follows: The PubIDType object structure is defined as follows:
<complexType name="PubIdType" abstract="true"> <complexType name="PubIdType" abstract="true">
<complexContent> <complexContent>
<extension base="spppb:BasicObjType"> <extension base="spppb:BasicObjType">
skipping to change at page 41, line 14 skipping to change at page 39, line 48
BasicRqstType called AddPubIdRqstType. To complete the add request, BasicRqstType called AddPubIdRqstType. To complete the add request,
AddPubIdRqstType XML instance is added to <spppUpdateRequest> root AddPubIdRqstType XML instance is added to <spppUpdateRequest> root
element. If there is a conflict and a Public Identifier already element. If there is a conflict and a Public Identifier already
exists in the Registry, the old entry will be replaced with the newly exists in the Registry, the old entry will be replaced with the newly
provisioned entry. For the add or update operation, the destination provisioned entry. For the add or update operation, the destination
group name is a mandatory parameter. Not including a valid group name is a mandatory parameter. Not including a valid
destination group name in the update request will cause the Registry destination group name in the update request will cause the Registry
to return an appropriate error. to return an appropriate error.
Telephone number is identified by TNType, an extension of PubIDType. Telephone number is identified by TNType, an extension of PubIDType.
TNType is composed of the following attributes: 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 tn: Telephone number to be added to the Registry.
o rteRecRef: Optional reference to the route record that is o rrRef: Optional reference to the route record that is directly
directly associated with the TN Public Identifier. Following associated with the TN Public Identifier. Following the SPPP
the SPPP data model, the route record could be a protocol data model, the route record could be a protocol agnostic
agnostic URIType or another type. URIType or another type.
o corInfo: corInfo is an optional parameter of type CORInfoType o corInfo: corInfo is an optional parameter of type CORInfoType
that allows the registrant organization to set forth a claim to that allows the registrant organization to set forth a claim to
be the carrier-of-record [see RFC 5067]. This is done by be the carrier-of-record [see RFC 5067]. This is done by
setting the value of <corClaim> element of the CORInfoType setting the value of <corClaim> element of the CORInfoType
object structure to "true". The other two parameters of the object structure to "true". The other two parameters of the
CORInfoType, <cor> and <corDateTime> are set by the Registry to CORInfoType, <cor> and <corDate> are set by the Registry to
describe the outcome of the carrier-of-record claim by the describe the outcome of the carrier-of-record claim by the
registrant. In general, inclusion of <corInfo> parameter is registrant. In general, inclusion of <corInfo> parameter is
useful if the Registry has the authority information, such as, useful if the Registry has the authority information, such as,
the number portability data, etc., in order to qualify whether the number portability data, etc., in order to qualify whether
the registrant claim can be satisfied. If the carrier-of-record the registrant claim can be satisfied. If the carrier-of-record
claim disagrees with the authority data in the Registry, whether claim disagrees with the authority data in the Registry, whether
the TN add operation fails or not is a matter of policy and it 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 is beyond the scope of this document. In the response message
<spppUpdateResponse>, the SPPP Server must include the <cor> <spppUpdateResponse>, the SPPP Server must include the <cor>
parameter of the <corInfo> element to let the registrant know parameter of the <corInfo> element to let the registrant know
the outcome of the claim. the outcome of the claim.
TNType object definition is as follows:
<complexType name="TNType">
<complexContent>
<extension base="spppb:PubIdType">
<sequence>
<element name="tn" type="string"/>
<element name="rteRecRef" type="spppb:RteRecRefType"
minOccurs="0" maxOccurs="unbounded"/>
<element name="corInfo" type="spppb:CORInfoType"
minOccurs="0"/>
</sequence>
</extension>
</complexContent>
</complexType>
Routing number is identified by RNType. SSPs that possess the number Routing number is identified by RNType. SSPs that possess the number
portability data may be able to leverage the RN search key to portability data may be able to leverage the RN search key to
discover the ingress routes for session establishment. Therefore, discover the ingress routes for session establishment. Therefore,
the registrant organization can add the RN and associate it with the the registrant organization can add the RN and associate it with the
appropriate destination group to share the route information. appropriate destination group to share the route information. RNType
is defined as follows:
RNType is composed of the following attributes:
o rn: Routing Number used as the search key
o corInfo: Optional <corInfo> element of type CORInfoType.
RNType object information is as follows:
<complexType name="RNType"> <complexType name="RNType">
<complexContent> <complexContent>
<extension base="spppb:PubIdType"> <extension base="spppb:PubIdType">
<sequence> <sequence>
<element name="rn" type="string" default="true"/> <element name="rn" type="string" default="true"/>
<element name="corInfo" type="spppb:CORInfoType" <element name="corInfo" type="spppb:CORInfoType"
minOccurs="0"/> minOccurs="0"/>
</sequence> </sequence>
</extension> </extension>
</complexContent> </complexContent>
</complexType> </complexType>
A contiguous range of TNs is added with the help of TNRType RNType has the following attributes:
structure. 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 to correctly
expand the number range that qualifies for Open Number Plan, the
Registry must have the required data related to the national
significant number length for the TNs in the TN range object.
Further, <spppUpdateRequest> is transactional in nature, therefore,
if the Registry encounters an error in adding even a single TN of a
TNRType object, the whole request will be deemed a failure. In other
words, the partial success case is not supported.
TNRType is composed of 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 rn: Routing Number used as the search key
o prefix: Optional attribute, when set to "true", indicates that o corInfo: Optional <corInfo> element of type CORInfoType.
the Open Number Plan applies to a given TN Range
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: TNPType object structure is as follows:
<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"/>
skipping to change at page 43, line 39 skipping to change at page 42, line 4
<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 name="prefix" type="boolean" default="false">
</attribute> </attribute>
</extension> </extension>
</complexContent> </complexContent>
</complexType> </complexType>
In some cases, it is useful to describe a set of TNs with the help of TNRType has the following attributes:
the first few digits of the telephone numbers identified as telephone
number prefix. In many instances, the numbering authority assigns TN
prefix, also referred to as a TN block, to a well-known telephony
service provider. In SPPP, the TNPType structure describes a TN
prefix and it consists of the following attributes:
o tnPrefix: The telephone number prefix o startTn: Starting TN in the TN range
o corInfo: Optional <corInfo> element of type CORInfoType. o endTn: The last TN in the TN range
TNPType object structure is as follows: 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"> <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"/>
</sequence> </sequence>
</extension> </extension>
</complexContent> </complexContent>
</complexType> </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 The object structure of AddPubIdRqstType used to add Public
Identifiers is as follows Identifiers is as follows
<complexType name="AddPubIdRqstType"> <complexType name="AddPubIdRqstType">
<complexContent> <complexContent>
<extension base="spppb:BasicRqstType"> <extension base="spppb:BasicRqstType">
<sequence> <sequence>
<element name="pi" type="spppb:PubIdType"/> <element name="pi" type="spppb:PubIdType"/>
</sequence> </sequence>
</extension> </extension>
</complexContent> </complexContent>
</complexType> </complexType>
skipping to change at page 44, line 36 skipping to change at page 43, line 14
<complexType name="AddPubIdRqstType"> <complexType name="AddPubIdRqstType">
<complexContent> <complexContent>
<extension base="spppb:BasicRqstType"> <extension base="spppb:BasicRqstType">
<sequence> <sequence>
<element name="pi" type="spppb:PubIdType"/> <element name="pi" type="spppb:PubIdType"/>
</sequence> </sequence>
</extension> </extension>
</complexContent> </complexContent>
</complexType> </complexType>
The client can set the GetPubIdsRqstType in the <spppQueryRequest> The SPPP client can use the GetPubIdsRqstType in the
structure to obtain information about one or more <pi> objects that <spppQueryRequest> structure to obtain information about one or more
were successfully provisioned earlier and that the calling entity is valid <pi> objects. If the GetPubIdsRqstType object does not include
privileged to see. If the GetPubIdsRqstType object does not include <pi> data, then all applicable Public Identity data will be returned
<pi> data, then all authorized Public Identity data will be returned in the response message. If no matching Public Identifiers are
by the Registry in the response. If no matching Public Identifiers found, then an empty result set is returned.
are found, then an empty result set will be returned.
GetPubIdsRqstType object structure is as follows: GetPubIdsRqstType object structure is as follows:
<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" minOccurs="0"
maxOccurs="unbounded"/> maxOccurs="unbounded"/>
</sequence> </sequence>
</extension> </extension>
</complexContent> </complexContent>
</complexType> </complexType>
As described in an earlier section of this document, the result of As described earlier in the document, the result of any
any spppQueryRequest operation is a spppQueryResponse that contains spppQueryRequest operation is a spppQueryResponse that contains the
the response code and the query result set, if any. response code and the query result set, if any.
6.10. Egress Route Operations 6.10. Egress Route Operations
The egress route add operation allows a call originating SSP to In a high-availability environment, the originating SSP likely has
define a preferred egress route in an attempt to reach the ingress more than one egress paths to the ingress SBE of the target SSP. If
SBE of the target SSP. The need arises when there is a choice of the originating SSP wants to exercise greater control and choose a
egress SBE and an SSP wants to exercise greater control in deciding specific egress SBE to be associated to the target ingress SBE, it
how to route the outbound session establishment request. can do so using the AddEgrRteRqstType object.
As a first step, it is assumed that the target SSP has offered to Lets assume that the target SSP has offered to share one or more
share the route group that consists of the ingress route information ingress route information and that the originating SSP has accepted
to the SBE(s) and the originating SSP has accepted the offer. Next, the offer. In order to add the egress route to the Registry, the
the originating SSP can add the egress route in the Registry, with originating SSP uses a valid regular expression to rewrite ingress
appropriate regular expression, to rewrite ingress route information route in order to include the egress SBE information. Also, more
from the target SSP and include the egress SBE information. In high- than one egress route can be associated with a given ingress route in
availability configurations, the originating SSP will likely add a support of fault-tolerant configurations. The supporting SPPP
secondary egress route object re-writing the same ingress route from protocol structure provides a way to include route precedence
the target SSP with a secondary choice of egress SBE as a backup. In information to help manage traffic to more than one outbound egress
this case, the backup egress route definition will carry the higher SBE.
integer value for the "pref" parameter to indicate a lower priority.
An egress route is identified by type EgrRteType and its object An egress route is identified by type EgrRteType and its object
structure is shown below: structure is shown below:
<complexType name="EgrRteType"> <complexType name="EgrRteType">
<complexContent> <complexContent>
<extension base="spppb:BasicObjType"> <extension base="spppb:BasicObjType">
<sequence> <sequence>
<element name="egrRteName" type="spppb:ObjNameType"/> <element name="egrRteName" type="spppb:ObjNameType"/>
<element name="pref" type="unsignedShort"/> <element name="pref" type="unsignedShort"/>
skipping to change at page 47, line 35 skipping to change at page 46, line 4
<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> </complexType>
6.11. Add Route Record Operation 6.11. Add Route Record 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.
However, Route Records need not be created to just server a single However, Route Records need not be created to just serve a single
Route Group. Route Records can be created and managed to serve Route Group. Route Records can be created and managed to serve
multiple Route Groups. As a result, a change to the properties of a multiple Route Groups. As a result, a change to the properties of a
network node, for example, that is used for multiple routes, would network node, for example, that is used for multiple routes, would
necessitate just a single update operation to change the properties necessitate just a single update operation to change the properties
of that node. The change would then be reflected in all the Route of that node. The change would then be reflected in all the Route
Groups whose route record set contains a reference to that node. Groups whose route record set contains a reference to that node.
The AddRteRecRqstType operation creates or overwrites a Route Record The AddRteRecRqstType operation creates or overwrites a Route Record
object. If a Route Record with the given name and registrant ID object. If a Route Record with the given name and registrant ID
(which together comprise the unique key or a Route Record) does not (which together comprise the unique key or a Route Record) does not
skipping to change at page 55, line 13 skipping to change at page 54, line 13
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" <rqst xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1"
xsi:type="ns1:AddDestGrpRqstType"> xsi:type="ns1:AddDestGrpRqstType">
<destGrp> <destGrp>
<ns1:rantId>iana-en:222</ns1:rantId> <ns1:rant>iana-en:222</ns1:rant>
<ns1:rarId>iana-en:222</ns1:rarId> <ns1:rar>iana-en:222</ns1:rar>
<dgName>DEST_GRP_SSP2_1</dgName> <dgName>DEST_GRP_SSP2_1</dgName>
</destGrp> </destGrp>
</rqst> </rqst>
</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
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_7777</clientTransId> <clientTransId>tx_5555</clientTransId>
<serverTransId>tx_id_12346</serverTransId> <serverTransId>tx_id_12346</serverTransId>
<overallResult> <overallResult>
<code>1000</code> <code>1000</code>
<msg>success</msg> <msg>success</msg>
</overallResult> </overallResult>
</spppUpdateResponse> </spppUpdateResponse>
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" <rqst 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">
<rantId>iana-en:222</rantId> <rant>iana-en:222</rant>
<rarId>iana-en:222</rarId> <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> </rqst>
skipping to change at page 57, line 5 skipping to change at page 56, line 5
<code>1000</code> <code>1000</code>
<msg>Request successful</msg> <msg>Request successful</msg>
</overallResult> </overallResult>
</spppUpdateResponse> </spppUpdateResponse>
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" <rqst 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 xsi:type="ns1:URIType">
xsi:type="ns1:URIType"> <rant>iana-en:222</rant>
<rantId>iana-en:222</rantId> <rar>iana-en:222</rar>
<rarId>iana-en:222</rarId> <rrName>RTE_SSP2_SBE4</rrName>
<ns1:rrName>RTE_SSP2_SBE4</ns1:rrName> <ere>^(.*)$</ere>
<ns1:ere>^(.*)$</ns1:ere> <uri>sip:\1;npdi@sbe4.ssp2.example.com</uri>
<ns1:uri>sip:\1;npdi@sbe4.ssp2.example.com</ns1:uri>
</rteRec> </rteRec>
</rqst> </rqst>
</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"
skipping to change at page 58, line 13 skipping to change at page 57, line 13
"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" <rqst xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1"
xsi:type="ns1:AddRteGrpRqstType"> xsi:type="ns1:AddRteGrpRqstType">
<rteGrp> <rteGrp>
<rantId>iana-en:222</rantId> <rant>iana-en:222</rant>
<rarId>iana-en:222</rarId> <rar>iana-en:222</rar>
<rteGrpName>RTE_GRP_SSP2_1</rteGrpName> <rgName>RTE_GRP_SSP2_1</rgName>
<ns1:rteRecRef> <rrRef>
<ns1:rteRec> <rrKey>
<ns1:rantId>iana-en:222</ns1:rantId> <rant>iana-en:222</rant>
<ns1:name>RTE_SSP2_SBE2</ns1:name> <name>RTE_SSP2_SBE2</name>
</ns1:rteRec> </rrKey>
<ns1:priority>100</ns1:priority> <priority>100</priority>
</ns1:rteRecRef> </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> </rqst>
</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.
skipping to change at page 59, line 18 skipping to change at page 58, line 18
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" <rqst 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 xsi:type="ns1:TNType">
xsi:type="ns1:TNType"> <rant>iana-en:222</rant>
<ns1:rantId>iana-en:222</ns1:rantId> <rar>iana-en:222</rar>
<ns1:rarId>iana-en:222</ns1:rarId> <cDate>2010-05-30T09:30:10Z</cDate>
<ns1:crtDate>2010-05-30T09:30:10Z</ns1:crtDate> <dgName>DEST_GRP_SSP2_1</dgName>
<ns1:dgName>DEST_GRP_SSP2_1</ns1:dgName>
<tn>+12025556666</tn> <tn>+12025556666</tn>
<ns1:corInfo> <corInfo>
<ns1:corClaim>true</ns1:corClaim> <corClaim>true</corClaim>
</ns1:corInfo> </corInfo>
</pi> </pi>
</rqst> </rqst>
</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 was service provider of record for the given TN, the request is processed
processed successfully. <cor> element confirms SSP2 claim to be the successfully. In the response message, the Registry sets the value
carrier of record has been accepted and the processing time is of <cor> to "true" in order to confirm SSP2 claim as the carrier of
reflected by <corDateTime> data element. record and the <corDate> reflects the time when the carrier of record
claim is processed.
<?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>txid-5577</clientTransId> <clientTransId>txid-5577</clientTransId>
<serverTransId>tx_id_12345</serverTransId> <serverTransId>tx_id_12345</serverTransId>
<overallResult> <overallResult>
<code>1000</code> <code>1000</code>
<msg>success</msg> <msg>success</msg>
</overallResult> </overallResult>
<rqstObjResult> <rqstObjResult>
<code>1000</code> <code>1000</code>
<msg>success</msg> <msg>success</msg>
<rqstObj 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 xsi:type="ns1:TNType">
xsi:type="ns1:TNType"> <rant>iana-en:222</rant>
<ns1:rantId>iana-en:222</ns1:rantId> <rar>iana-en:222</rar>
<ns1:rarId>iana-en:222</ns1:rarId> <cDate>2010-05-30T09:30:10Z</cDate>
<ns1:crtDate>2010-05-30T09:30:10Z</ns1:crtDate> <dgName>DEST_GRP_SSP2_1</dgName>
<ns1:dgName>DEST_GRP_SSP2_1</ns1:dgName> <tn>+12025556666</tn>
<tn>+12025556666</tn> <corInfo>
<ns1:corInfo> <corClaim>true</corClaim>
<ns1:corClaim>true</ns1:corClaim> <cor>true</cor>
<ns1:cor>true</ns1:cor> <corDate>2010-05-30T09:30:11Z</corDate>
<ns1:corDateTime>2006-05-04T18:13:51.0Z </corInfo>
</ns1:corDateTime> </pi>
</ns1:corInfo>
</pi>
</rqstObj> </rqstObj>
</rqstObjResult> </rqstObjResult>
</spppUpdateResponse> </spppUpdateResponse>
7.6. Add LRN 7.6. Add LRN
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" <rqst 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">
<rantId>rantId0</rantId> <rant>iana-en:222</rant>
<rarId>rarId0</rarId> <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> </rqst>
</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"?>
skipping to change at page 62, line 11 skipping to change at page 61, line 11
a destination group. Since the 'prefix' public identity attribute is a destination group. Since the 'prefix' public identity attribute is
not set to 'true', this means that the TNs belong to a closed number not set to 'true', this means that the TNs belong to a closed number
plan. 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" <rqst 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 xsi:type="ns1:TNRType">
xsi:type="ns1:TNRType"> <rant>iana-en:222</rant>
<rantId>iana-en:222</rantId> <rar>iana-en:222</rar>
<rarId>iana-en:222</rarId> <dgName>DEST_GRP_SSP2_1</dgName>
<ns1:dgName>DEST_GRP_SSP2_1</ns1:dgName>
<startTn>+12026660000</startTn> <startTn>+12026660000</startTn>
<endTn>+12026669999</endTn> <endTn>+12026669999</endTn>
</pi> </pi>
</rqst> </rqst>
</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"?>
skipping to change at page 63, line 11 skipping to change at page 62, line 11
consult the number plan data for the respective country to know how 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 to expand the number range. <endTn> attribute marks the end of the TN
range. range.
<?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" <rqst 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 xsi:type="ns1:TNRType" prefix="true">
xsi:type="ns1:TNRType" prefix="true"> <rant>iana-en:222</rant>
<rantId>iana-en:222</rantId> <rar>iana-en:222</rar>
<rarId>iana-en:222</rarId>
<ns1:dgName>DEST_GRP_SSP2_1</ns1:dgName> <ns1:dgName>DEST_GRP_SSP2_1</ns1:dgName>
<startTn>+4312315566</startTn> <startTn>+4312315566</startTn>
<endTn>+4312315567</endTn> <endTn>+4312315567</endTn>
</pi> </pi>
</rqst> </rqst>
</spppUpdateRequest> </spppUpdateRequest>
Registry completes the request successfully and returns a favorable Registry completes the request successfully and returns a favorable
response. response.
skipping to change at page 64, line 11 skipping to change at page 63, line 11
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" <rqst 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 xsi:type="ns1:TNPType">
xsi:type="ns1:TNPType"> <rant>iana-en:222</rant>
<rantId>iana-en:222</rantId> <rar>iana-en:222</rar>
<rarId>iana-en:222</rarId>
<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> </rqst>
</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"?>
skipping to change at page 65, line 12 skipping to change at page 64, line 12
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" <rqst xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1"
xsi:type="ns1:AddRteGrpOfferRqstType"> xsi:type="ns1:AddRteGrpOfferRqstType">
<rteGrpOffer> <rteGrpOffer>
<rantId>iana-en:222</rantId> <rant>iana-en:222</rant>
<rarId>iana-en:222</rarId> <rar>iana-en:222</rar>
<rteGrpOfferKey> <rteGrpOfferKey>
<rteGrpKey> <rteGrpKey>
<rantId>iana-en:222</rantId> <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> </rqst>
</spppUpdateRequest> </spppUpdateRequest>
skipping to change at page 66, line 18 skipping to change at page 65, line 18
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" <rqst xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1"
xsi:type="ns1:AcceptRteGrpOfferRqstType"> xsi:type="ns1:AcceptRteGrpOfferRqstType">
<rteGrpOfferKey> <rteGrpOfferKey>
<rteGrpKey> <rteGrpKey>
<rantId>iana-en:222</rantId> <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> </rqst>
</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
skipping to change at page 67, line 18 skipping to change at page 66, line 18
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" <rqst xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1"
xsi:type="ns1:AddEgrRteRqstType"> xsi:type="ns1:AddEgrRteRqstType">
<egrRte> <egrRte>
<rantId>iana-en:111</rantId> <rant>iana-en:111</rant>
<rarId/> <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>
<ns1:ingrRteRec> <ingrRteRec>
<ns1:rantId>iana-en:222</ns1:rantId> <rant>iana-en:222</ns1:rant>
<ns1:name>SSP2_RTE_REC_3</ns1:name> <name>SSP2_RTE_REC_3</ns1:name>
</ns1:ingrRteRec> </ingrRteRec>
</egrRte> </egrRte>
</rqst> </rqst>
</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"
skipping to change at page 68, line 19 skipping to change at page 67, line 19
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" <rqst xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1"
xsi:type="ns1:GetDestGrpsRqstType"> xsi:type="ns1:GetDestGrpsRqstType">
<objKey> <objKey>
<rantId>iana-en:222</rantId> <rant>iana-en:222</rant>
<name>DEST_GRP_SSP2_1</name> <name>DEST_GRP_SSP2_1</name>
</objKey> </objKey>
</rqst> </rqst>
</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>
<code>1000</code> <code>1000</code>
<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">
<rantId>iana-en:222</rantId> <rant>iana-en:222</rant>
<rarId>iana-en:222</rarId> <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.14. 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" <rqst 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">
<rantId>iana-en:222</rantId> <rant>iana-en:222</rant>
<rarId>iana-en:222</rarId> <rar>iana-en:222</rar>
<tn>+12025556666</tn> <tn>+12025556666</tn>
</pi> </pi>
</rqst> </rqst>
</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>
<code>1000</code> <code>1000</code>
<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:TNType"> xsi:type="ns1:TNType">
<rantId>iana-en:222</rantId> <rant>iana-en:222</rant>
<rarId>iana-en:222</rarId> <rar>iana-en:222</rar>
<ns1:dgName>DEST_GRP_1</ns1:dgName> <dgName>DEST_GRP_1</dgName>
<tn>+12025556666</tn> <tn>+12025556666</tn>
<ns1:corInfo> <corInfo>
<ns1:corClaim>true</ns1:corClaim> <corClaim>true</corClaim>
<ns1:cor>true</ns1:cor> <cor>true</cor>
<ns1:corDateTime>2010-05-30T09:30:10Z</ns1:corDateTime> <corDate>2010-05-30T09:30:10Z</corDate>
</ns1:corInfo> </corInfo>
</resultSet> </resultSet>
</spppQueryResponse> </spppQueryResponse>
7.15. Get Route Group Request 7.15. 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" <rqst xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1"
xsi:type="ns1:GetRteGrpsRqstType"> xsi:type="ns1:GetRteGrpsRqstType">
<objKey> <objKey>
<rantId>iana-en:222</rantId> <rant>iana-en:222</rant>
<name>RTE_GRP_SSP2_1</name> <name>RTE_GRP_SSP2_1</name>
</objKey> </objKey>
</rqst> </rqst>
</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>
<code>1000</code> <code>1000</code>
<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:RteGrpType"> xsi:type="ns1:RteGrpType">
<rantId>iana-en:222</rantId> <rant>iana-en:222</rant>
<rarId>iana-en:222</rarId> <rar>iana-en:222</rar>
<rteGrpName>RTE_GRP_SSP2_1</rteGrpName> <rgName>RTE_GRP_SSP2_1</rgName>
<ns1:rteRecRef> <rrRef>
<ns1:rteRec> <rrKey>
<ns1:rantId>iana-en:222</ns1:rantId> <rant>iana-en:222</rant>
<ns1:name>RTE_SSP2_SBE2</ns1:name> <name>RTE_SSP2_SBE2</name>
</ns1:rteRec> </rrKey>
<ns1:priority>100</ns1:priority> <priority>100</priority>
</ns1:rteRecRef> </rrRef>
<ns1:rteRecRef> <rrRef>
<ns1:rteRec> <rrKey>
<ns1:rantId>iana-en:222</ns1:rantId> <rant>iana-en:222</rant>
<ns1:name>RTE_SSP2_SBE4</ns1:name> <name>RTE_SSP2_SBE4</name>
</ns1:rteRec> </rrKey>
<ns1:priority>101</ns1:priority> <priority>101</priority>
</ns1:rteRecRef> </rrRef>
<dgName>DEST_GRP_SSP2_1</dgName> <dgName>DEST_GRP_SSP2_1</dgName>
<isInSvc>true</isInSvc> <isInSvc>true</isInSvc>
<ns1:priority>10</ns1:priority> <priority>10</priority>
</resultSet> </resultSet>
</spppQueryResponse> </spppQueryResponse>
7.16. Get Route Group Offers Request 7.16. Get Route Group Offers Request
SSP2 choses to fetch the last provisioned route group sharing offer SSP2 fetches the last provisioned route group offer to the
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" <rqst xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1"
xsi:type="ns1:GetRteGrpOffersRqstType"> xsi:type="ns1:GetRteGrpOffersRqstType">
<ns1:offeredToPeers>true</ns1:offeredToPeers> <offeredTo>iana-en:111</offeredTo>
<ns1:peeringOrg>ssp1</ns1:peeringOrg>
</rqst> </rqst>
</spppQueryRequest> </spppQueryRequest>
Registry completes 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>
<code>1000</code> <code>1000</code>
<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:RteGrpOfferType"> xsi:type="ns1:RteGrpOfferType">
<rantId>iana-en:222</rantId> <rant>iana-en:222</rant>
<rarId>iana-en:222</rarId> <rar>iana-en:222</rar>
<rteGrpOfferKey> <rteGrpOfferKey>
<rteGrpKey> <rteGrpKey>
<rantId>iana-en:222</rantId> <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 Egree Route 7.17. 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" <rqst xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1"
xsi:type="ns1:GetEgrRtesRqstType"> xsi:type="ns1:GetEgrRtesRqstType">
<ns1:objKey> <objKey>
<rantId>iana-en:111</rantId> <rant>iana-en:111</rant>
<name>EGR_RTE_01</name> <name>EGR_RTE_01</name>
</ns1:objKey> </objKey>
</rqst> </rqst>
</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>
<code>1000</code> <code>1000</code>
<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:EgrRteType"> xsi:type="ns1:EgrRteType">
<rantId>iana-en:111</rantId> <rant>iana-en:111</rant>
<rarId>iana-en:111</rarId> <rar>iana-en:111</rar>
<egrRteName>EGR_RTE_01</egrRteName> <egrRteName>EGR_RTE_01</egrRteName>
<pref>50</pref> <pref>50</pref>
<svcs>E2U+sip</svcs> <svcs>E2U+sip</svcs>
<regxRewriteRule> <regxRewriteRule>
<ere>^(.*)$</ere> <ere>^(.*)$</ere>
<repl>sip:\1@sbe1.ssp1.example.com</repl> <repl>sip:\1@sbe1.ssp1.example.com</repl>
</regxRewriteRule> </regxRewriteRule>
<ingressRte> <ingressRte>
<rantId>iana-en:222</rantId> <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.18. 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" <rqst xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1"
xsi:type="ns1:DelDestGrpRqstType"> xsi:type="ns1:DelDestGrpRqstType">
<objKey> <objKey>
<rantId>iana-en:222</rantId> <rant>iana-en:222</rant>
<name>DEST_GRP_SSP2_1</name> <name>DEST_GRP_SSP2_1</name>
</objKey> </objKey>
</rqst> </rqst>
</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"
skipping to change at page 75, line 13 skipping to change at page 74, line 13
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" <rqst 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">
<rantId>iana-en:222</rantId> <rant>iana-en:222</rant>
<rarId>iana-en:222</rarId> <rar>iana-en:222</rar>
<tn>+12025556666</tn> <tn>+12025556666</tn>
</pi> </pi>
</rqst> </rqst>
</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"
skipping to change at page 76, line 12 skipping to change at page 75, line 12
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" <rqst xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1"
xsi:type="ns1:DelRteGrpRqstType"> xsi:type="ns1:DelRteGrpRqstType">
<objKey> <objKey>
<rantId>iana-en:222</rantId> <rant>iana-en:222</rant>
<name>RTE_GRP_SSP2_1</name> <name>RTE_GRP_SSP2_1</name>
</objKey> </objKey>
</rqst> </rqst>
</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"
skipping to change at page 77, line 13 skipping to change at page 76, line 13
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" <rqst xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1"
xsi:type="ns1:DelRteGrpOfferRqstType"> xsi:type="ns1:DelRteGrpOfferRqstType">
<rteGrpOfferKey> <rteGrpOfferKey>
<rteGrpKey> <rteGrpKey>
<rantId>iana-en:222</rantId> <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> </rqst>
</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
skipping to change at page 78, line 12 skipping to change at page 77, line 12
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" <rqst xmlns:ns1="urn:ietf:params:xml:ns:sppp:base:1"
xsi:type="ns1:DelEgrRteRqstType"> xsi:type="ns1:DelEgrRteRqstType">
<objKey> <objKey>
<rantId>iana-en:111</rantId> <rant>iana-en:111</rant>
<name>EGR_RTE_01</name> <name>EGR_RTE_01</name>
</objKey> </objKey>
</rqst> </rqst>
</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"
skipping to change at page 79, line 21 skipping to change at page 78, line 21
XML is case sensitive. Unless stated otherwise, XML specifications XML is case sensitive. Unless stated otherwise, XML specifications
and examples provided in this document MUST be interpreted in the and examples provided in this document MUST be interpreted in the
character case presented to develop a conforming implementation. character case presented to develop a conforming implementation.
This section discusses a small number of XML-related considerations This section discusses a small number of XML-related considerations
pertaining to SPPP. pertaining to SPPP.
8.1. Namespaces 8.1. Namespaces
All SPPP protocol elements are defined in the namespaces in te IANA All SPPP protocol elements are defined in the namespaces in the IANA
Considerations section and in the Formal Protocol Specification Considerations section and in the Formal Protocol Specification
section of this document. section of this document.
8.2. Versioning and Character Encoding 8.2. Versioning and Character Encoding
All XML instances SHOULD begin with an <?xml?> declaration to All XML instances SHOULD begin with an <?xml?> declaration to
identify the version of XML that is being used, optionally identify identify the version of XML that is being used, optionally identify
use of the character encoding used, and optionally provide a hint to use of the character encoding used, and optionally provide a hint to
an XML parser that an external schema file is needed to validate the an XML parser that an external schema file is needed to validate the
XML instance. XML instance.
skipping to change at page 82, line 24 skipping to change at page 81, line 24
elementFormDefault="qualified" xml:lang="EN"> elementFormDefault="qualified" xml:lang="EN">
<annotation> <annotation>
<documentation> <documentation>
------------------ Object Type Definitions -------------- ------------------ Object Type Definitions --------------
</documentation> </documentation>
</annotation> </annotation>
<complexType name="RteGrpType"> <complexType name="RteGrpType">
<complexContent> <complexContent>
<extension base="spppb:BasicObjType"> <extension base="spppb:BasicObjType">
<sequence> <sequence>
<element name="rteGrpName" type="spppb:ObjNameType"/> <element name="rgName" type="spppb:ObjNameType"/>
<element name="rteRecRef" 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"/>
<element name="peeringOrg" type="spppb:OrgIdType" minOccurs="0" <element name="peeringOrg" type="spppb:OrgIdType" minOccurs="0"
maxOccurs="unbounded"/> maxOccurs="unbounded"/>
<element name="sourceIdent" type="spppb:SourceIdentType" <element name="sourceIdent" type="spppb:SourceIdentType"
minOccurs="0" maxOccurs="unbounded"/> minOccurs="0" maxOccurs="unbounded"/>
<element name="isInSvc" type="boolean"/> <element name="isInSvc" type="boolean"/>
<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"/>
skipping to change at page 83, line 11 skipping to change at page 82, line 11
</complexType> </complexType>
<complexType name="PubIdType" abstract="true"> <complexType name="PubIdType" abstract="true">
<complexContent> <complexContent>
<extension base="spppb:BasicObjType"> <extension base="spppb:BasicObjType">
<sequence> <sequence>
<element name="dgName" type="spppb:ObjNameType" minOccurs="0"/> <element name="dgName" type="spppb:ObjNameType" minOccurs="0"/>
</sequence> </sequence>
</extension> </extension>
</complexContent> </complexContent>
</complexType> </complexType>
<complexType name="EmailType">
<complexContent>
<extension base="spppb:PubIdType">
<sequence>
<element name="email" type="string"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="TNType"> <complexType name="TNType">
<complexContent> <complexContent>
<extension base="spppb:PubIdType"> <extension base="spppb:PubIdType">
<sequence> <sequence>
<element name="tn" type="string"/> <element name="tn" type="string"/>
<element name="rteRecRef" type="spppb:RteRecRefType" <element name="rrRef" type="spppb:RteRecRefType"
minOccurs="0" maxOccurs="unbounded"/> minOccurs="0" maxOccurs="unbounded"/>
<element name="corInfo" type="spppb:CORInfoType" <element name="corInfo" type="spppb:CORInfoType"
minOccurs="0"/> minOccurs="0"/>
</sequence> </sequence>
</extension> </extension>
</complexContent> </complexContent>
</complexType> </complexType>
<complexType name="TNRType"> <complexType name="TNRType">
<complexContent> <complexContent>
<extension base="spppb:PubIdType"> <extension base="spppb:PubIdType">
skipping to change at page 86, line 8 skipping to change at page 84, line 47
</sequence> </sequence>
</extension> </extension>
</complexContent> </complexContent>
</complexType> </complexType>
<annotation> <annotation>
<documentation> ------------------ Abstract Object and Element <documentation> ------------------ Abstract Object and Element
Type Definitions -------------- </documentation> Type Definitions -------------- </documentation>
</annotation> </annotation>
<complexType name="BasicObjType" abstract="true"> <complexType name="BasicObjType" abstract="true">
<sequence> <sequence>
<element name="rantId" type="spppb:OrgIdType"/> <element name="rant" type="spppb:OrgIdType"/>
<element name="rarId" type="spppb:OrgIdType"/> <element name="rar" type="spppb:OrgIdType"/>
<element name="crtDate" type="dateTime" minOccurs="0"/> <element name="cDate" type="dateTime" minOccurs="0"/>
<element name="modDate" type="dateTime" minOccurs="0"/> <element name="mDate" type="dateTime" minOccurs="0"/>
<element name="ext" type="spppb:ExtAnyType" minOccurs="0"/> <element name="ext" type="spppb:ExtAnyType" minOccurs="0"/>
</sequence> </sequence>
</complexType> </complexType>
<complexType name="RegexParamType"> <complexType name="RegexParamType">
<sequence> <sequence>
<element name="ere" type="string" default="^(.*)$"/> <element name="ere" type="string" default="^(.*)$"/>
<element name="repl" type="string"/> <element name="repl" type="string"/>
</sequence> </sequence>
</complexType> </complexType>
<simpleType name="OrgIdType"> <simpleType name="OrgIdType">
<restriction base="string"/> <restriction base="string"/>
skipping to change at page 86, line 35 skipping to change at page 85, line 27
<restriction base="string"/> <restriction base="string"/>
</simpleType> </simpleType>
<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"/>
</simpleType> </simpleType>
<complexType name="ObjKeyType"> <complexType name="ObjKeyType">
<sequence> <sequence>
<element name="rantId" 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"> <complexType name="IPAddrType">
<sequence> <sequence>
<element name="addr" type="string"/> <element name="addr" type="string"/>
<element name="type" type="spppb:IPType"/> <element name="type" type="spppb:IPType"/>
<element name="ext" type="spppb:ExtAnyType" minOccurs="0"/> <element name="ext" type="spppb:ExtAnyType" minOccurs="0"/>
</sequence> </sequence>
</complexType> </complexType>
<simpleType name="IPType"> <simpleType name="IPType">
<restriction base="token"> <restriction base="token">
<enumeration value="IPv4"/> <enumeration value="IPv4"/>
<enumeration value="IPv6"/> <enumeration value="IPv6"/>
</restriction> </restriction>
</simpleType> </simpleType>
<complexType name="RteRecRefType"> <complexType name="RteRecRefType">
<sequence> <sequence>
<element name="rteRec" 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"/>
<element name="sourceIdentScheme" <element name="sourceIdentScheme"
type="spppb:SourceIdentSchemeType"/> type="spppb:SourceIdentSchemeType"/>
<element name="ext" type="spppb:ExtAnyType" minOccurs="0"/> <element name="ext" type="spppb:ExtAnyType" minOccurs="0"/>
skipping to change at page 87, line 31 skipping to change at page 86, line 22
<enumeration value="uri"/> <enumeration value="uri"/>
<enumeration value="ip"/> <enumeration value="ip"/>
<enumeration value="rootDomain"/> <enumeration value="rootDomain"/>
</restriction> </restriction>
</simpleType> </simpleType>
<complexType name="CORInfoType"> <complexType name="CORInfoType">
<sequence> <sequence>
<element name="corClaim" type="boolean" default="true"/> <element name="corClaim" type="boolean" default="true"/>
<element name="cor" type="boolean" default="false" <element name="cor" type="boolean" default="false"
minOccurs="0"/> minOccurs="0"/>
<element name="corDateTime" type="dateTime" minOccurs="0"/> <element name="corDate" type="dateTime" minOccurs="0"/>
</sequence> </sequence>
</complexType> </complexType>
<complexType name="SvcMenuType"> <complexType name="SvcMenuType">
<sequence> <sequence>
<element name="serverStatus" type="spppb:ServerStatusType"/> <element name="serverStatus" type="spppb:ServerStatusType"/>
<element name="majMinVersion" type="string" <element name="majMinVersion" type="string"
maxOccurs="unbounded"/> maxOccurs="unbounded"/>
<element name="objURI" type="anyURI" maxOccurs="unbounded"/> <element name="objURI" type="anyURI" maxOccurs="unbounded"/>
<element name="extURI" type="anyURI" minOccurs="0" <element name="extURI" type="anyURI" minOccurs="0"
maxOccurs="unbounded"/> maxOccurs="unbounded"/>
skipping to change at page 92, line 14 skipping to change at page 91, line 5
<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">
<sequence> <sequence>
<element name="offeredByPeers" type="boolean" <element name="offeredBy" type="spppb:OrgIdType"
minOccurs="0"/> minOccurs="0" maxOccurs="unbounded"/>
<element name="offeredToPeers" type="boolean" <element name="offeredTo" type="spppb:OrgIdType"
minOccurs="0"/> minOccurs="0" maxOccurs="unbounded"/>
<element name="status" type="spppb:RteGrpOfferStatusType" <element name="status" type="spppb:RteGrpOfferStatusType"
minOccurs="0"/> minOccurs="0"/>
<element name="peeringOrg" type="spppb:OrgIdType"
minOccurs="0" maxOccurs="unbounded"/>
<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:BasicRqstType">
skipping to change at page 94, line 4 skipping to change at page 92, line 41
minOccurs="0"/> minOccurs="0"/>
<element name="rqst" type="spppb:BasicQueryRqstType"/> <element name="rqst" type="spppb:BasicQueryRqstType"/>
</sequence> </sequence>
</complexType> </complexType>
</element> </element>
<element name="spppQueryResponse"> <element name="spppQueryResponse">
<complexType> <complexType>
<sequence> <sequence>
<element name="overallResult" type="spppb:ResultCodeType"/> <element name="overallResult" type="spppb:ResultCodeType"/>
<element name="resultSet" type="spppb:BasicObjType" <element name="resultSet" type="spppb:BasicObjType"
minOccurs="0" maxOccurs=" unbounded"/> minOccurs="0" maxOccurs="unbounded"/>
</sequence> </sequence>
</complexType> </complexType>
</element> </element>
<element name="spppServerStatusRequest"> <element name="spppServerStatusRequest">
<complexType> <complexType>
<sequence> <sequence>
<element name="minorVer" type="spppb:MinorVerType" <element name="minorVer" type="spppb:MinorVerType"
minOccurs="0"/> minOccurs="0"/>
</sequence> </sequence>
</complexType> </complexType>
skipping to change at page 95, line 4 skipping to change at page 94, line 4
</element> </element>
<element name="spppServerStatusResponse"> <element name="spppServerStatusResponse">
<complexType> <complexType>
<sequence> <sequence>
<element name="overallResult" type="spppb:ResultCodeType"/> <element name="overallResult" type="spppb:ResultCodeType"/>
<element name="svcMenu" type="spppb:SvcMenuType"/> <element name="svcMenu" type="spppb:SvcMenuType"/>
</sequence> </sequence>
</complexType> </complexType>
</element> </element>
</schema> </schema>
12. Specification Extensibility 12. Acknowledgments
The protocol defined in this specification is extensible. This
section explains how to extend the protocol and what procedures are
necessary to follow in order to ensure proper extensions.
13. 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, Otmar Lendl, Richard Shockey and Sumanth
Channabasappa. Channabasappa.
14. References 13. References
14.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-00 (work in progress), draft-ietf-drinks-sppp-over-soap-01 (work in progress),
June 2010. October 2010.
[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.
[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
January 2004. January 2004.
[RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
Resource Identifier (URI): Generic Syntax", STD 66, Resource Identifier (URI): Generic Syntax", STD 66,
RFC 3986, January 2005. RFC 3986, January 2005.
14.2. Informative References 13.2. Informative References
[I-D.ietf-drinks-usecases-requirements] [I-D.ietf-drinks-usecases-requirements]
Channabasappa, S., "DRINKS Use cases and Protocol Channabasappa, S., "DRINKS Use cases and Protocol
Requirements", draft-ietf-drinks-usecases-requirements-03 Requirements", draft-ietf-drinks-usecases-requirements-04
(work in progress), May 2010. (work in progress), October 2010.
[RFC2781] Hoffman, P. and F. Yergeau, "UTF-16, an encoding of ISO [RFC2781] Hoffman, P. and F. Yergeau, "UTF-16, an encoding of ISO
10646", RFC 2781, February 2000. 10646", RFC 2781, February 2000.
[RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
A., Peterson, J., Sparks, R., Handley, M., and E. A., Peterson, J., Sparks, R., Handley, M., and E.
Schooler, "SIP: Session Initiation Protocol", RFC 3261, Schooler, "SIP: Session Initiation Protocol", RFC 3261,
June 2002. June 2002.
[RFC3761] Faltstrom, P. and M. Mealling, "The E.164 to Uniform [RFC3761] Faltstrom, P. and M. Mealling, "The E.164 to Uniform
 End of changes. 115 change blocks. 
435 lines changed or deleted 368 lines changed or added

This html diff was produced by rfcdiff 1.40. The latest version is available from http://tools.ietf.org/tools/rfcdiff/