draft-ietf-speermint-architecture-04.txt | draft-ietf-speermint-architecture-05.txt | |||
---|---|---|---|---|
Speermint Working Group R. Penno | Speermint Working Group R. Penno | |||
Internet Draft Juniper Networks | Internet Draft Juniper Networks | |||
Intended status: Informational D. Malas | Intended status: Informational D. Malas | |||
Expires: January 2008 Level 3 | Expires: August 2008 Level 3 | |||
S. Khan | S. Khan | |||
Comcast | Comcast | |||
A. Uzelac | A. Uzelac | |||
Global Crossing | Global Crossing | |||
August 10, 2007 | February 24, 2008 | |||
SPEERMINT Peering Architecture | SPEERMINT Peering Architecture | |||
draft-ietf-speermint-architecture-04 | draft-ietf-speermint-architecture-05 | |||
Status of this Memo | Status of this Memo | |||
By submitting this Internet-Draft, each author represents that | By submitting this Internet-Draft, each author represents that | |||
any applicable patent or other IPR claims of which he or she is | any applicable patent or other IPR claims of which he or she is | |||
aware have been or will be disclosed, and any of which he or she | aware have been or will be disclosed, and any of which he or she | |||
becomes aware will be disclosed, in accordance with Section 6 of | becomes aware will be disclosed, in accordance with Section 6 of | |||
BCP 79. | BCP 79. | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF), its areas, and its working groups. Note that | Task Force (IETF), its areas, and its working groups. Note that | |||
other groups may also distribute working documents as Internet- | other groups may also distribute working documents as Internet- | |||
Drafts. | Drafts. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six | |||
and may be updated, replaced, or obsoleted by other documents at any | months and may be updated, replaced, or obsoleted by other documents | |||
time. It is inappropriate to use Internet-Drafts as reference | at any time. It is inappropriate to use Internet-Drafts as | |||
material or to cite them other than as "work in progress." | reference material or to cite them other than as "work in progress." | |||
The list of current Internet-Drafts can be accessed at | The list of current Internet-Drafts can be accessed at | |||
http://www.ietf.org/ietf/1id-abstracts.txt | http://www.ietf.org/ietf/1id-abstracts.txt | |||
The list of Internet-Draft Shadow Directories can be accessed at | The list of Internet-Draft Shadow Directories can be accessed at | |||
http://www.ietf.org/shadow.html | http://www.ietf.org/shadow.html | |||
This Internet-Draft will expire on January 2008. | This Internet-Draft will expire on January 2008. | |||
Copyright Notice | Copyright Notice | |||
Copyright (C) The IETF Trust (2007). | Copyright (C) The IETF Trust (2008). | |||
Abstract | Abstract | |||
This document defines the SPEERMINT peering architecture, its | This document defines the SPEERMINT peering architecture, its | |||
functional components and peering interface functions. It also | functional components and peering interface functions. It also | |||
describes the steps taken to establish a session between two peering | describes the steps taken to establish a session between two peering | |||
domains in the context of the functions defined. | domains in the context of the functions defined. | |||
Conventions used in this document | Conventions used in this document | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
document are to be interpreted as described in RFC-2119[1] | document are to be interpreted as described in RFC 2119[1] | |||
Table of Contents | Table of Contents | |||
1. Introduction...................................................3 | 1. Introduction...................................................3 | |||
2. Network Context................................................3 | 2. Network Context................................................4 | |||
3. Procedures.....................................................6 | 3. Procedures.....................................................5 | |||
4. Reference SPEERMINT Architecture...............................6 | 4. Reference SPEERMINT Architecture...............................6 | |||
5. Peer Function Examples.........................................8 | 5. Peer Function Examples.........................................8 | |||
5.1. The Location Function (LF) of an Initiating Provider......8 | 5.1. The Location Function (LF) of an Initiating Provider......8 | |||
5.1.1. Target address analysis..............................8 | 5.1.1. Target address analysis..............................8 | |||
5.1.2. User ENUM Lookup.....................................9 | 5.1.2. User ENUM Lookup.....................................9 | |||
5.1.3. Carrier ENUM lookup.................................10 | 5.1.3. Carrier ENUM lookup.................................10 | |||
5.1.4. Routing Table.......................................10 | 5.1.4. Routing Table.......................................10 | |||
5.1.5. SIP DNS Resolution..................................10 | 5.1.5. SIP DNS Resolution..................................10 | |||
5.1.6. SIP Redirect Server.................................11 | 5.1.6. SIP Redirect Server.................................11 | |||
5.2. The Location Function (LF) of a Receiving Provider.......11 | 5.2. The Location Function (LF) of a Receiving Provider.......11 | |||
5.2.1. Publish ENUM records................................11 | 5.2.1. Publish ENUM records................................11 | |||
5.2.2. Publish SIP DNS records.............................11 | 5.2.2. Publish SIP DNS records.............................11 | |||
5.2.3. Subscribe Notify....................................11 | 5.2.3. Subscribe Notify....................................11 | |||
5.3. Signaling Function (SF)..................................11 | 5.3. Signaling Function (SF)..................................11 | |||
5.4. The Signaling Function (SF) of an Initiating Provider....12 | 5.4. The Signaling Function (SF) of an Initiating Provider....12 | |||
5.4.1. Setup TLS connection................................12 | 5.4.1. Setup TLS connection................................12 | |||
5.4.2. IPSec...............................................12 | 5.4.2. IPSec...............................................12 | |||
5.4.3. Co-Location.........................................13 | 5.4.3. Co-Location.........................................12 | |||
5.4.4. Send the SIP request................................13 | 5.4.4. Send the SIP request................................12 | |||
5.5. The Signaling Function (SF) of an Initiating Provider....14 | 5.5. The Signaling Function (SF) of an Initiating Provider....14 | |||
5.5.1. Verify TLS connection...............................14 | 5.5.1. Verify TLS connection...............................14 | |||
5.5.2. Receive SIP requests................................14 | 5.5.2. Receive SIP requests................................14 | |||
5.6. Media Function (MF)......................................15 | 5.6. Media Function (MF)......................................15 | |||
5.7. Policy Considerations....................................15 | 5.7. Policy Considerations....................................15 | |||
6. Call Control and Media Control Deployment Options.............16 | 6. Call Control and Media Control Deployment Options.............16 | |||
7. Address space considerations..................................18 | 7. Address space considerations..................................17 | |||
8. Security Considerations.......................................18 | 8. Security Considerations.......................................17 | |||
9. IANA Considerations...........................................18 | 9. IANA Considerations...........................................18 | |||
10. Acknowledgments..............................................18 | 10. Acknowledgments..............................................18 | |||
11. References...................................................19 | 11. References...................................................19 | |||
11.1. Normative References....................................19 | 11.1. Normative References....................................19 | |||
11.2. Informative References..................................20 | 11.2. Informative References..................................20 | |||
Author's Addresses...............................................21 | Author's Addresses...............................................21 | |||
Intellectual Property Statement..................................21 | Intellectual Property Statement..................................21 | |||
Disclaimer of Validity...........................................22 | Disclaimer of Validity...........................................22 | |||
1. Introduction | 1. Introduction | |||
The objective of this document is to define a reference peering | The objective of this document is to define a reference peering | |||
architecture in the context of Session PEERing for Multimedia | architecture in the context of Session PEERing for Multimedia | |||
INTerconnect (SPEERMINT). In this process, we define the peering | INTerconnect (SPEERMINT). In this process, we define the peering | |||
reference architecture (reference, for short), it's functional | reference architecture (reference, for short), it's functional | |||
components, and peering interface functions from the perspective of a | components, and peering interface functions from the perspective of | |||
real-time communications (Voice and Multimedia) IP Service provider | a SIP [3] Service provider's (SSP) network. | |||
network. | ||||
This architecture allows the interconnection of two service providers | This architecture allows the interconnection of two SSPs in layer 5 | |||
in layer 5 peering as defined in the SPEERMINT Requirements [13] and | peering as defined in the SPEERMINT Requirements [13] and | |||
Terminology [12] documents for the purpose SIP-based voice and | Terminology [12] documents. | |||
multimedia traffic. | ||||
Layer 3 peering is outside the scope of this document. Hence, the | Layer 3 peering is outside the scope of this document. Hence, the | |||
figures in this document do not show routers so that the focus is on | figures in this document do not show routers so that the focus is on | |||
Layer 5 protocol aspects. | Layer 5 protocol aspects. | |||
This document uses terminology defined in the SPEERMINT Terminology | This document uses terminology defined in the SPEERMINT Terminology | |||
document [12]. | document [12], so the reader should be familiar with all the terms | |||
defined there. | ||||
2. Network Context | 2. Network Context | |||
Figure 1 shows an example network context. Two SIP providers can form | Figure 1 shows an example network context. Two SSPs can form a Layer | |||
a Layer 5 peer over either the public Internet or private Layer 3 | 5 peering over either the public Internet or private Layer3 | |||
networks. In addition, two or more providers may form a SIP (Layer 5) | networks. In addition, two or more providers may form a SIP (Layer | |||
federation [17] on either the public Internet or private Layer 3 | 5) federation [13] on either the public Internet or private Layer 3 | |||
networks. This document does not make any assumption whether the SIP | networks. This document does not make any assumption whether the SIP | |||
providers directly peer to each other or through Layer 3 transit | providers directly peer to each other or through Layer 3 transit | |||
network as per use case of [16]. | network as per use case of [16]. | |||
Note that Figure 1 allows for the following potential SPEERMINT | Note that Figure 1 allows for the following potential SPEERMINT | |||
peering scenarios: | peering scenarios: | |||
o Enterprise to Enterprise across the public Internet | o Enterprise to Enterprise across the public Internet | |||
o Enterprise to Service Provider across the public Internet | o Enterprise to SSP across the public Internet | |||
o Service Provider to Service Provider across the public Internet | o SSP to SSP across the public Internet | |||
o Enterprise to enterprise across a private Layer 3 network | o Enterprise to enterprise across a private Layer 3 network | |||
o Enterprise to Service Provider across a private Layer 3 network | o Enterprise to SSP across a private Layer 3 network | |||
o Service Provider to Service Provider across a private Layer 3 | o SSP to SSP across a private Layer 3 network | |||
network | ||||
The members of a federation may jointly use a set of functions such | The members of a federation may jointly use a set of functions such | |||
as location peering function, application function, subscriber | as location function, signaling function, media function, ENUM | |||
database function, SIP proxies, and/or functions that synthesize | database or SIP Registrar, SIP proxies, and/or functions that | |||
various SIP and non-SIP based applications. Similarly, two providers | synthesize various SIP and non-SIP based applications. Similarly, | |||
may jointly use a set of peering functions. The federation functions | two SSPs may jointly use a set of functions. The functions can be | |||
or the peering functions can be either public or private. | either public or private. | |||
+-------------------+ | +-------------------+ | |||
| | | ||||
| Public | | | Public | | |||
| Peering Function | | | Peering | | |||
| or | | | Function | | |||
| Public | | | | | |||
|Federation Function| | ||||
+-------------------+ | +-------------------+ | |||
| | | | |||
----- | ----- | |||
+-----------+ / \ +-----------+ | +-----------+ / \ +-----------+ | |||
|Enterprise | -- -- |Enterprise | | |Enterprise | -- -- |Enterprise | | |||
|Provider A |-----------/ \-----------|Provider B | | |Provider A |-----------/ \-----------|Provider B | | |||
+-----------+ -- -- +-----------+ | +-----------+ -- -- +-----------+ | |||
/ Public \ | / Public \ | |||
| Internet | | | Internet | | |||
\ (Layer 3) / | \ (Layer 3) / | |||
+-----------+ -- -- +-----------+ | +-----------+ -- -- +-----------+ | |||
|Service |-----------\ /-----------|Service | | |Service |-----------\ /-----------|Service | | |||
|Provider C | -- -- |Provider D | | |Provider C | -- -- |Provider D | | |||
+-----------+ \_____/ +-----------+ | +-----------+ \_____/ +-----------+ | |||
| Layer 3 Peering | | Layer 3 Peering | |||
| Point (out of scope) | | Point (out of scope) | |||
----- | ----- | |||
+-----------+ / \ +-----------+ | +-----------+ / \ +-----------+ | |||
|Enterprise | -- -- |Enterprise | | |Enterprise | -- -- |Enterprise | | |||
|Provider E |-----------/ \-----------|Provider F | | |Provider E |-----------/ \-----------|Provider F | | |||
+-----------+ -- Service -- +-----------+ | +-----------+ -- Private -- +-----------+ | |||
/ Provider \ | / Network \ | |||
| Private | | | (Layer 3) | | |||
\ Network / | \ / | |||
+-----------+ -- (Layer 3) -- +-----------+ | +-----------+ -- -- +-----------+ | |||
|Service |-----------\ /-----------|Service | | | SSP G |-----------\ /-----------| SSP H | | |||
|Provider G | -- -- |Provider H | | | | -- -- | | | |||
+-----------+ \____/ +-----------+ | +-----------+ \____/ +-----------+ | |||
| | | | |||
+-------------------+ | +-------------------+ | |||
| Private | | | Private | | |||
| Peering Function | | | SIP | | |||
| or | | | Peering | | |||
|Federation Function| | | | | |||
+-------------------+ | +-------------------+ | |||
Figure 1: SPEERMINT Network Context | Figure 1: SPEERMINT Network Context | |||
3. Procedures | 3. Procedures | |||
This document assumes that a call from an end user in the initiating | This document assumes that a call from a UAC end user in the | |||
peer goes through the following steps to establish a call to an end | initiating peer's network goes through the following steps to | |||
user in the receiving peer: | establish a call to a UAS in the receiving peer's network: | |||
1. The analysis of a target address. | 1. The analysis of a target address. | |||
a. If the target address represents an intra-VSP resource, | a. If the target address represents an intra-SSP resource, | |||
we go directly to step 4. | we go directly to step 4. | |||
2. the discovery of the receiving peering point address, | 2. the discovery of the receiving peering point address, | |||
3. the enforcement of authentication and other policy, | 3. the enforcement of authentication and potentially other | |||
policies, | ||||
4. the discovery of end user address, | 4. the discovery of the UAS, | |||
5. the routing of SIP messages, | 5. the routing of SIP messages, | |||
6. the session establishment, | 6. the session establishment, | |||
7. the transfer of media, | 7. the transfer of media which could include voice, video, text | |||
and others, | ||||
8. and the session termination. | 8. and the session termination. | |||
4. Reference SPEERMINT Architecture | 4. Reference SPEERMINT Architecture | |||
Figure 2 depicts the SPEERMINT architecture and logical functions | Figure 2 depicts the SPEERMINT architecture and logical functions | |||
that form the peering between two SIP service providers. | that form the peering between two SSPs. | |||
+------+ | +------+ | |||
| DNS, | | | DNS, | | |||
+---------| Db, |---------+ | +---------->| Db, |<---------+ | |||
| | etc | | | | | etc | | | |||
| +------+ | | | +------+ | | |||
| | | | | | |||
--------------- --------------- | ------|-------- -------|------- | |||
/ \ / \ | / v \ / v \ | |||
| | | | | | +--LUF-+ | | +--LUF-+ | | |||
| | | | | | | | | | | | | | |||
| +------+ | | +------+ | | | | | | | | | | | |||
| | DNS, | | | | DNS, | | | | | | | | | | | | |||
| | Db, | | | | Db, | | | ||||
| | etc | | | | etc | | | ||||
| +------+ | | +------+ | | | +------+ | | +------+ | | |||
| | | | | ||||
| | | | | ||||
| +---SF--+ +---SF--+ | | ||||
| | | | | | | | | | | | | | |||
| | | | | | | ||||
| v | | v | | ||||
| +--LRF-+ | | +--LRF-+ | | ||||
| | | | | | | | | ||||
| | | | | | | | | ||||
| | | | | | | | | ||||
| +------+ | | +------+ | | ||||
| \ | | / | | ||||
| `. | | / | | ||||
| \ | | .' | | ||||
| `. +---SF--+ +---SF--+ / | | ||||
| \| | | | / | | ||||
| | SBE | | SBE | | | | | SBE | | SBE | | | |||
| Originating | | | | Terminating | | | Originating | | | | Target | | |||
| +---SF--+ +---SF--+ | | | +---SF--+ +---SF--+ | | |||
| Domain | | Domain | | | SSP | | SSP | | |||
| +---MF--+ +---MF--+ | | | +---MF--+ +---MF--+ | | |||
| SSP | | | | SSP | | | | | | | | | |||
| | DBE | | DBE | | | | | DBE | | DBE | | | |||
| | | | | | | | | | | | | | |||
| +---MF--+ +---MF--+ | | | +---MF--+ +---MF--+ | | |||
| | | | | ||||
| +----LF---+ +----LF---+ | | ||||
| +-LF--|----+ | | +----|--LS-+ | | ||||
| | | | | | | | | | | ||||
| | SM | | LS | | LS | | SM | | | ||||
| | | | | | | | | | | ||||
| | +----|----+ +----|----+ | | | ||||
| +----------+| |+----------+ | | ||||
| | | | | ||||
| | | | | ||||
\ / \ / | \ / \ / | |||
--------------- --------------- | --------------- --------------- | |||
Figure 2: Reference SPEERMINT Architecture | Figure 2: Reference SPEERMINT Architecture | |||
The procedures presented in Chapter 3 are implemented by a set of | The procedures presented in Chapter 3 are implemented by a set of | |||
peering functions: | peering functions: | |||
o Location Function (LF): Purpose is to develop Session | The Look-Up Function (LUF) provides a mechanism for determining for | |||
Establishment Data (SED) by discovering the Signaling Function | a given request the target domain to which the request should be | |||
(SF) and the end user's reachable host (IP address and port). The | routed. | |||
location function is distributed across the Location Server (LS) | ||||
and Session Manager (SM). | ||||
o Signaling Function (SF): Purpose is to perform SIP call routing, | The Location Routing Function (LRF) determines for the target domain | |||
to optionally perform termination and re-initiation of call, to | of a given request the location of the SF in that domain and | |||
optionally develops other SED required to route the request to that | ||||
domain. | ||||
Location Function (LF): The Location functions is composed of the | ||||
LUF and LRF functions | ||||
Signaling Function (SF): Purpose is to perform SIP call routing, to | ||||
optionally perform termination and re-initiation of call, to | ||||
optionally implement security and policies on SIP messages, and to | optionally implement security and policies on SIP messages, and to | |||
assist in discovery/exchange of parameters to be used by the Media | assist in discovery/exchange of parameters to be used by the Media | |||
Function (MF). The signaling function is located within the | Function (MF). | |||
Signaling Path Border Element (SBE) | ||||
o Media Function (MF): Purpose is to perform media related function | Media Function (MF): Purpose is to perform media related function | |||
such as media transcoding and media security implementation | such as media transcoding and media security implementation between | |||
between two SIP providers. The media function is located within | two SIP providers. | |||
the Data Path Border Element (DBE). | ||||
The intention of defining these functions is to provide a framework | The intention of defining these functions is to provide a framework | |||
for design segmentation and allow each one to evolve separately. | for design segmentation and allow each one to evolve independently. | |||
5. Peer Function Examples | 5. Peer Function Examples | |||
This section describes the peering functions in more detail and | This section describes the functions in more detail and provides | |||
provides some examples on the role they would play in a SIP call in a | some examples on the role they would play in a SIP call in a Layer 5 | |||
Layer 5 peering scenario. | peering scenario. | |||
Some of the information in the chapter is taken from [14]. | Some of the information in the chapter is taken from [14] and is put | |||
here for continuity purposes. | ||||
5.1. The Location Function (LF) of an Initiating Provider | 5.1. The Location Function (LF) of an Initiating Provider | |||
Purpose is to develop Session Establishment Data (SED) [12] by | Purpose is to determine the SF of the target domain of a given | |||
discovering the Signaling Function (SF), and end user's reachable | request and optionally develop Session Establishment Data (SED) | |||
host (IP address and host). The LF of an Initiating provider analyzes | [12]. The LF of an Initiating SSP analyzes target address and | |||
target address and discovers the next hop signaling function (SF) in | discovers the next hop signaling function (SF) in a peering | |||
a peering relationship using DNS, SIP Redirect Server, or a | relationship using the Look-Up Function. The resource to determine | |||
functional equivalent database. | the SF of the target domain might be provided by a third-party as in | |||
the assisted-peering case. | ||||
5.1.1. Target address analysis | 5.1.1. Target address analysis | |||
When the initiating provider receives a request to communicate, the | When the initiating SSP receives a request to communicate, it | |||
initiating provider analyzes the target state data to determine | analyzes the target state data to determine whether the call needs | |||
whether the call needs to be terminated internal or external to its | to be terminated internal or external to its network. The analysis | |||
network. The analysis method is internal to the provider's policy; | method is internal to the SSP; thus, outside the scope of SPEERMINT. | |||
thus, outside the scope of SPEERMINT. Note that the peer is free to | Note that the SSP is free to consult any manner of private data | |||
consult any manner of private data sources to make this | sources to make this determination. | |||
determination. | ||||
If the target address does not represent a resource inside the | If the target address does not represent a resource inside the | |||
initiating peer's administrative domain or federation of domains, the | initiating SSP's administrative domain or federation of domains, the | |||
initiating provider resolves the call routing data by using the | initiating SSP resolves the call routing data by using the Location | |||
Location Function (LF). Examples of the LF are the functions of ENUM, | Function (LF). | |||
Routing Table, SIP DNS, and SIP Redirect Server. | ||||
If the request to communicate is for an im: or pres: URI type, the | If the request to communicate is for an im: or pres: URI type, the | |||
initiating peer follows the procedures in [8]. If the highest | initiating peer follows the procedures in [8]. If the highest | |||
priority supported URI scheme is sip: or sips:, the initiating peer | priority supported URI scheme is sip: or sips:, the initiating peer | |||
skips to SIP DNS resolution in Section 5.1.5. Likewise, if the target | skips to SIP DNS resolution in Section 5.1.5. Likewise, if the | |||
address is already a sip: or sips: URI in an external domain, the | target address is already a sip: or sips: URI in an external domain, | |||
initiating peer skips to SIP DNS resolution in Section 5.1.5. | the initiating peer skips to SIP DNS resolution in Section 5.1.5. | |||
If the target address corresponds to a specific E.164 address, the | If the target address corresponds to a specific E.164 address, the | |||
peer may need to perform some form of number plan mapping according | peer may need to perform some form of number plan mapping according | |||
to local policy. For example, in the United States, a dial string | to local policy. For example, in the United States, a dial string | |||
beginning "011 44" could be converted to "+44", or in the United | beginning "011 44" could be converted to "+44", or in the United | |||
Kingdom "00 1" could be converted to "+1". Once the peer has an | Kingdom "00 1" could be converted to "+1". Once the peer has an | |||
E.164 address, it can use ENUM. | E.164 address, it can use ENUM. | |||
5.1.2. User ENUM Lookup | 5.1.2. User ENUM Lookup | |||
If an external E.164 address is the target, the initiating peer | If an external E.164 address is the target, the initiating peer | |||
consults the public "User ENUM" rooted at e164.arpa, according to the | consults the public "User ENUM" rooted at e164.arpa, according to | |||
procedures described in RFC 3761. The peer MUST query for the | the procedures described in RFC 3761. The peer MUST query for the | |||
"E2U+sip" enumservice as described in RFC 3764 [11], but MAY check | "E2U+sip" enumservice as described in RFC 3764 [11], but MAY check | |||
for other enumservices. The initiating peer MAY consult a cache or | for other enumservices. The initiating peer MAY consult a cache or | |||
alternate representation of the ENUM data rather than actual DNS | alternate representation of the ENUM data rather than actual DNS | |||
queries. Also, the peer MAY skip actual DNS queries if the | queries. Also, the peer MAY skip actual DNS queries if the | |||
initiating peer is sure that the target address country code is not | initiating peer is sure that the target address country code is not | |||
represented in e164.arpa. If a sip: or sips: URI is chosen the peer | represented in e164.arpa. If a sip: or sips: URI is chosen the peer | |||
skips to Section 5.1.5. | skips to Section 5.1.5. | |||
If an im: or pres: URI is chosen for based on an "E2U+im" [10] or | If an im: or pres: URI is chosen for based on an "E2U+im" [10] or | |||
"E2U+pres" [9] enumserver, the peer follows the procedures for | "E2U+pres" [9] enumserver, the peer follows the procedures for | |||
resolving these URIs to URIs for specific protocols such a SIP or | resolving these URIs to URIs for specific protocols such a SIP or | |||
XMPP as described in the previous section. | XMPP as described in the previous section. | |||
5.1.3. Carrier ENUM lookup | 5.1.3. Infrastructure ENUM lookup | |||
Next the initiating peer checks for a carrier-of-record in a carrier | Next the initiating peer checks for a carrier-of-record in a carrier | |||
ENUM domain according to the procedures described in [12]. As in the | ENUM domain according to the procedures described in [12]. As in | |||
previous step, the peer MAY consult a cache or alternate | the previous step, the peer MAY consult a cache or alternate | |||
representation of the ENUM data in lieu of actual DNS queries. The | representation of the ENUM data in lieu of actual DNS queries. The | |||
peer first checks for records for the "E2U+sip" enumservice, then for | peer first checks for records for the "E2U+sip" enumservice, then | |||
the "E2U+pstn" enumservice as defined in [21]. If a terminal record | for the "E2U+pstn" enumservice as defined in [21]. If a terminal | |||
is found with a sip: or sips: URI, the peer skips to Section 5.1.5, | record is found with a sip: or sips: URI, the peer skips to Section | |||
otherwise the peer continues processing according to the next | 5.1.5, otherwise the peer continues processing according to the next | |||
section. | section. | |||
5.1.4. Routing Table | 5.1.4. Routing Table | |||
If there is no user ENUM records and the initiating peer cannot | If there is no user ENUM records and the initiating peer cannot | |||
discover the carrier-of-record or if the initiating peer cannot reach | discover the carrier-of-record or if the initiating peer cannot | |||
the carrier-of-record via SIP peering, the initiating peer still | reach the carrier-of-record via SIP peering, the initiating peer | |||
needs to deliver the call to the PSTN or reject the call. Note that | still needs to deliver the call to the PSTN or reject it. Note that | |||
the initiating peer MAY still sends the call to another provider for | the initiating peer MAY still forward the call to another SSP for | |||
PSTN gateway termination by prior arrangement using a routing table. | PSTN gateway termination by prior arrangement using the routing | |||
table. | ||||
If so, the initiating peer rewrites the Request-URI to address the | If so, the initiating peer rewrites the Request-URI to address the | |||
gateway resource in the target provider's domain and MAY forward the | gateway resource in the target SSP's domain and MAY forward the | |||
request on to that provider using the procedures described in the | request on to that SSP using the procedures described in the | |||
remainder of these steps. | remainder of these steps. | |||
5.1.5. SIP DNS Resolution | 5.1.5. SIP DNS Resolution | |||
Once a sip: or sips: in an external domain is selected as the target, | Once a sip: or sips: in an external domain is selected as the | |||
the initiating peer MAY apply local policy to decide whether | target, the initiating peer MAY apply local policy to decide whether | |||
forwarding requests to the target domain is acceptable. If so, the | forwarding requests to the target domain is acceptable. If so, the | |||
initiating peer uses the procedures in RFC 3263 [6] Section 4 to | initiating peer uses the procedures in RFC 3263 [4] Section 4 to | |||
determine how to contact the receiving peer. To summarize the RFC | determine how to contact the receiving peer. To summarize the RFC | |||
3263 procedure: unless these are explicitly encoded in the target | 3263 procedure: unless these are explicitly encoded in the target | |||
URI, a transport is chosen using NAPTR records, a port is chosen | URI, a transport is chosen using NAPTR records, a port is chosen | |||
using SRV records, and an address is chosen using A or AAAA records. | using SRV records, and an address is chosen using A or AAAA records. | |||
Note that these are queries of records in the global DNS. | Note that these are queries of records in the global DNS. | |||
When communicating with a public external peer, entities compliant to | When communicating with a public external peer, entities compliant | |||
this document MUST only select a TLS-protected transport for | to this document MUST only select a TLS-protected transport for | |||
communication from the initiating peer to the receiving peer. Note | communication from the initiating peer to the receiving peer. Note | |||
that this is a single-hop requirement. Either peer MAY insist on | that this is a single-hop requirement. Either peer MAY insist on | |||
using a sips: URI which asserts that each hop is TLS-protected, but | using a sips: URI which asserts that each hop is TLS-protected, but | |||
this document does not require protection over each hop. | this document does not require protection over each hop. | |||
5.1.6. SIP Redirect Server | 5.1.6. SIP Redirect Server | |||
A SIP Redirect Server may help in resolving current address of a | A SIP Redirect Server may help in resolving the current address of a | |||
mobile target address. | UAS. | |||
5.2. The Location Function (LF) of a Receiving Provider | 5.2. The Location Function (LF) of a Receiving Provider | |||
5.2.1. Publish ENUM records | 5.2.1. Publish ENUM records | |||
The receiving peer SHOULD participate by publishing "E2U+sip" and | The receiving peer SHOULD participate by publishing "E2U+sip" and | |||
"E2U+pstn" records with sip: or sips: URIs wherever a public carrier | "E2U+pstn" records with sip: or sips: URIs wherever a public carrier | |||
ENUM root is available. This assumes that the receiving peer wants | ENUM root is available. This assumes that the receiving peer wants | |||
to peer by default. Even when the receiving peer does not want to | to peer by default. When the receiving peer does not want to accept | |||
accept traffic from specific initiating peers, it MAY still reject | traffic from specific initiating peers, it MAY still reject requests | |||
requests on a case-by-case basis. | on a call-by-call basis. | |||
5.2.2. Publish SIP DNS records | 5.2.2. Publish SIP DNS records | |||
To receive peer requests, the receiving peer MUST insure that it | To receive peer requests, the receiving peer MUST insure that it | |||
publishes appropriate NAPTR, SRV, and address (A and/or AAAA) records | publishes appropriate NAPTR, SRV, and address (A and/or AAAA) | |||
in the global DNS that resolve an appropriate transport, port, and | records in the LF relevant to the peer's SF. | |||
address to a relevant SIP server. | ||||
5.2.3. Subscribe Notify | 5.2.3. Subscribe Notify | |||
Policy function may also be optionally implemented by dynamic | Policies function may also be optionally implemented by dynamic | |||
subscribe, notify, and exchange of policy information and feature | subscribe, notify, and exchange of policy information and feature | |||
information among providers [22]. | information among SSPs [22]. | |||
5.3. Signaling Function (SF) | 5.3. Signaling Function (SF) | |||
The purpose of signaling function is to perform routing of SIP | The purpose of signaling function is to perform routing of SIP | |||
messages, to optionally perform termination and re-initiation of a | messages, to optionally perform termination and re-initiation of a | |||
call, to optionally implement security and policies on SIP messages, | call, to optionally implement security and policies on SIP messages, | |||
and to assist in discovery/exchange of parameters to be used by the | and to assist in discovery/exchange of parameters to be used by the | |||
Media Function (MF). | Media Function (MF). | |||
The routing of SIP messages are performed by SIP proxies. The | The signaling function perform the routing of SIP messages. The | |||
optional termination and re-initiation of calls are performed by | optional termination and re-initiation of calls are performed by the | |||
B2BUA. | signaling path border element (SBE). | |||
Optionally, a SF may perform additional functions such as Session | Optionally, a SF may perform additional functions such as Session | |||
Admission Control, SIP Denial of Service protection, SIP Topology | Admission Control, SIP Denial of Service protection, SIP Topology | |||
Hiding, SIP header normalization, and SIP security, privacy and | Hiding, SIP header normalization, and SIP security, privacy and | |||
encryption. | encryption. | |||
The signaling function can also process SDP payloads for media | The SF can also process SDP payloads for media information such as | |||
information such as media type, bandwidth, and type of codec; then, | media type, bandwidth, and type of codec; then, communicate this | |||
communicate this information to the media function. Signaling | information to the media function. Signaling function may optionally | |||
function may optionally communicate with network layer to pass Layer | communicate with the network to pass Layer 3 related policies [10] | |||
3 related policies [10] | ||||
5.4. The Signaling Function (SF) of an Initiating Provider | 5.4. The Signaling Function (SF) of an Initiating Provider | |||
5.4.1. Setup TLS connection | 5.4.1. Setup TLS connection | |||
Once a transport, port, and address are found, the initiating peer | Once a transport, port, and address are found, the initiating SSP | |||
will open or find a reusable TLS connection to the peer. The | will open or find a reusable TLS connection to the peer. The | |||
initiating provider MUST verify the server certificate which SHOULD | initiating provider MUST verify the server certificate that SHOULD | |||
be rooted in a well-known certificate authority. The initiating | be rooted in a well-known certificate authority. The initiating SSP | |||
provider MUST be prepared to provide a TLS client certificate upon | MUST be prepared to provide a TLS client certificate upon request | |||
request during the TLS handshake. The client certificate MUST | during the TLS handshake. The client certificate MUST contain a DNS | |||
contain a DNS or URI choice type in the subjectAltName which | or URI choice type in the subjectAltName which corresponds to the | |||
corresponds to the domain asserted in the host production of the From | domain asserted in the host production of the From header URI. The | |||
header URI. The certificate SHOULD be valid and rooted in a well- | certificate SHOULD be valid and rooted in a well-known certificate | |||
known certificate authority. | authority. | |||
Note that the client certificate MAY contain a list of entries in the | Note that the client certificate MAY contain a list of entries in | |||
subjectAltName, only one of which has to match the domain in the From | the subjectAltName, only one of which has to match the domain in the | |||
header URI. | From header URI. | |||
5.4.2. IPSec | 5.4.2. IPSec | |||
In certain deployments the use of IPSec between the signaling | In certain deployments the use of IPSec between the signaling | |||
functions of the originating and terminating domains can be used as a | functions of the originating and terminating domains can be used as | |||
security mechanism instead of TLS. | a security mechanism instead of TLS. | |||
5.4.3. Co-Location | 5.4.3. Co-Location | |||
In this scenario the signaling functions are co-located in a | In this scenario the SFs are co-located in a | |||
physically secure location and/or are members of a segregated | physically secure location and/or are members of a segregated | |||
network. In this case messages between the originating and | network. In this case messages between the originating and | |||
terminating domains would be sent as clear text. | terminating SSPs would be sent as clear text. | |||
5.4.4. Send the SIP request | 5.4.4. Send the SIP request | |||
Once a TLS connection between the peers is established, the | Once a TLS connection between the peers is established, the | |||
initiating peer sends the request. When sending some requests, the | initiating peer sends the request. When sending some requests, the | |||
initiating peer MUST verify and assert the senders identity using the | initiating peer MUST verify and assert the senders identity using | |||
SIP Identity mechanism. | the SIP Identity mechanism. | |||
The domain name in the URI of the From: header MUST be a domain which | The domain name in the URI of the From: header MUST be a domain | |||
was present in the certificate presented when establishing the TLS | which was present in the certificate provided when establishing the | |||
connection for this request, even if the user part has an anonymous | TLS connection for this request, even if the user part has an | |||
value. If the From header contains the user URI parameter with the | anonymous value. If the From header contains the user URI parameter | |||
value of "phone", the user part of the From header URI MUST be a | with the value of "phone", the user part of the From header URI MUST | |||
complete and valid tel: URI [9] telephone-subscriber production, and | be a complete and valid tel: URI [9] telephone-subscriber | |||
SHOULD be a global-number. For example, the following are all | production, and SHOULD be a global-number. For example, the | |||
acceptable, the first three are encouraged: | following are all acceptable and the first three are encouraged: | |||
From: "John Doe" john.doe@example.net | ||||
From: "John Doe" <john.doe@example.net> | ||||
From: "+12125551212" <+12125551212@example.net;user=phone> | From: "+12125551212" <+12125551212@example.net;user=phone> | |||
From: "Anonymous" <anonymous@example.net> | From: "Anonymous" <anonymous@example.net> | |||
From: <4092;phone-context=+12125554000@example.net;user=phone> | From: <4092;phone-context=+12125554000@example.net;user=phone> | |||
From: "5551212" <5551212@example.net> | From: "5551212" <5551212@example.net> | |||
The following are not acceptable: | The following are not acceptable: | |||
From: "2125551212" <2125551212@example.net;user=phone> | From: "2125551212" <2125551212@example.net;user=phone> | |||
From: "Anonymous" <anonymous@anonymous.invalid> | From: "Anonymous" <anonymous@anonymous.invalid> | |||
In addition, for new dialog-forming requests and non-dialog-forming | In addition, new requests MUST contain a valid Identity and | |||
requests, the request MUST contain a valid Identity and Identity-Info | Identity-Info header as described in [12]. The Identity-Info header | |||
header as described in [12]. The Identity-Info header must present a | must present a domain name that is represented in the certificate | |||
domain name which is represented in the certificate presented when | provided when establishing the TLS connection over which the request | |||
establishing the TLS connection over which the request is sent. The | is sent. The initiating peer SHOULD include an Identity header on | |||
initiating peer SHOULD include an Identity header on in-dialog | in-dialog requests as well, if the From header field value matches | |||
requests as well, if the From header field value matches an identity | an identity the initiating peer is willing to assert. | |||
the initiating peer is willing to assert. | ||||
The initiating peer MAY include any SIP option-tags in Supported, | The initiating peer MAY include any SIP option-tags in Supported, | |||
Require, or Proxy-Require headers according to procedures in | Require, or Proxy-Require headers according to procedures in | |||
standards-track SIP extensions. Note however that the initiating | standards-track SIP extensions. Note however that the initiating | |||
peer MUST be prepared to fallback to baseline SIP functionality as | peer MUST be prepared to fallback to baseline SIP functionality as | |||
defined by the mandatory-to-implement features of RFC 3261, RFC 3263, | defined by the mandatory-to-implement features of RFC 3261, RFC | |||
and RFC 3264 [7], except that peers implementing this specification | 3263,and RFC 3264 [7], except that peers implementing this | |||
MUST implement SIP over TLS using the sip: URI scheme, the SIP | specification MUST implement SIP over TLS using the sip: URI scheme, | |||
Identity header, and RFC 4320 [10] non-INVITE transaction fixes. | the SIP Identity header, and RFC 4320 [10] non-INVITE transaction | |||
fixes. | ||||
5.5. The Signaling Function (SF) of an Initiating Provider | 5.5. The Signaling Function (SF) of an Target Provider | |||
5.5.1. Verify TLS connection | 5.5.1. Verify TLS connection | |||
When the receiving peer receives a TLS client hello, it responds with | When the receiving peer receives a TLS client hello, it responds | |||
its certificate. The receiving peer certificate SHOULD be valid and | with its certificate. The receiving peer certificate SHOULD be | |||
rooted in a well-known certificate authority. The receiving peer | valid and rooted in a well-known certificate authority. The | |||
MUST request and verify the client certificate during the TLS | receiving peer MUST request and verify the client certificate during | |||
handshake. | the TLS handshake. | |||
Once the initiating peer has been authenticated, the receiving peer | Once the initiating peer has been authenticated, the receiving peer | |||
can authorize communication from this peer based on the domain name | can authorize communication from this peer based on the domain name | |||
of the peer and the root of its certificate. This allows two | of the peer and the root of its certificate. This allows two | |||
authorization models to be used, together or separately. In the | authorization models to be used, together or separately. In the | |||
domain-based model, the receiving peer can allow communication from | domain-based model, the receiving peer can allow communication from | |||
peers with some trusted administrative domains which use general- | peers with some trusted administrative domains that use general- | |||
purpose certificate authorities, without explicitly permitting all | purpose certificate authorities, without explicitly permitting all | |||
domains with certificates rooted in the same authority. It also | domains with certificates rooted in the same authority. It also | |||
allows a certificate authority (CA) based model where every domain | allows a certificate authority (CA) based model where every domain | |||
with a valid certificate rooted in some list of CAs is automatically | with a valid certificate rooted in some list of CAs is automatically | |||
authorized. | authorized. | |||
5.5.2. Receive SIP requests | 5.5.2. Receive SIP requests | |||
Once a TLS connection is established, the receiving peer is prepared | Once a TLS connection is established, the receiving peer is prepared | |||
to receive incoming SIP requests. For new dialog-forming requests | to receive incoming SIP requests. For new requests (dialog forming | |||
and out-of-dialog requests, the receiving peer verifies that the | or not) the receiving peer verifies that the target (request-URI) is | |||
target (request-URI) is a domain which for which it is responsible. | a domain that for which it is responsible. For these requests, there | |||
(For these requests, there should be no remaining Route header field | should be no remaining Route header field values. Next the receiving | |||
values.) Next the receiving verifies that the Identity header is | verifies that the Identity header is valid, corresponds to the | |||
valid, corresponds to the message, corresponds to the Identity-Info | message, and corresponds to the Identity-Info header, and that the | |||
header, and that the domain in the From header corresponds to one of | domain in the From header corresponds to one of the domains in the | |||
the domains in the TLS client certificate. | TLS client certificate. | |||
For in-dialog requests, the receiving peer can verify that it | For in-dialog requests, the receiving peer can verify that it | |||
corresponds to the top-most Route header field value. The peer also | corresponds to the top-most Route header field value. The peer also | |||
validates any Identity header if present. | validates any Identity header if present. | |||
The receiving peer MAY reject incoming requests due to local policy. | The receiving peer MAY reject incoming requests due to local policy. | |||
When a request is rejected because the initiating peer is not | When a request is rejected because the initiating peer is not | |||
authorized to peer, the receiving peer SHOULD respond with a 403 | authorized to peer, the receiving peer SHOULD respond with a 403 | |||
response with the reason phrase "Unsupported Peer". | response with the reason phrase "Unsupported Peer". | |||
5.6. Media Function (MF) | 5.6. Media Function (MF) | |||
Examples of the media function is to transform voice payload from one | The purpose of the MF is to perform media related functions such as | |||
coding (e.g., G.711) to another (e.g., EvRC), media relaying, media | media transcoding and media security implementation between two | |||
security, privacy, and encryption. | SSPs. | |||
Editor's Note: This section will be further updated. | An Example of this is to transform a voice payload from one codec | |||
(e.g., G.711) to another (e.g., EvRC). Additionally, the MF MAY | ||||
perform media relaying, media security, privacy, and encryption. | ||||
5.7. Policy Considerations | 5.7. Policy Considerations | |||
In the context of the SPEERMINT working group when two Layer 5 | In the context of the SPEERMINT working group when two SSPs peer, | |||
devices (e.g., SIP Proxies) peer, there is a need to exchange peering | there MAY be a desire to exchange peering policy information | |||
policy information. There are specifications in progress in the | dynamically. There are specifications in progress in the SIPPING | |||
SIPPING working group to define policy exchange between an UA and a | working group to define policy exchange between an UA and a domain | |||
domain [23] and providing profile data to SIP user agents [24] These | [23] and providing profile data to SIP user agents [24] These | |||
considerations borrow from both. | considerations borrow from both. | |||
Following the terminology introduced in [12], this package uses the | Following the terminology introduced in [12], this package uses the | |||
terms Peering Session-Independent and Session-Specific policies in | terms Peering Session-Independent and Session-Specific policies in | |||
the following context. | the following context. | |||
o Peering Session-Independent policies include Diffserv Marking, | o Peering Session-Independent policies include Diffserv Marking, | |||
Policing, Session Admission Control, domain reachabilities, | Policing, Session Admission Control, and domain reachabilities, | |||
amongst others. The time period between Peering Session- | amongst others. The time period between Peering Session- | |||
Independent policy changes is much greater than the time it takes | Independent policy changes is much greater than the time it | |||
to establish a call. | takes to establish a call. | |||
o Peering Session-Specific polices includes supported | o Peering Session-Specific polices includes supported | |||
connection/call rate, total number of connections/calls available, | connection/call rate, total number of connections/calls | |||
current utilization, amongst others. Peering Session-specific | available, current utilization, amongst others. Peering | |||
policies can change within the time it takes to establish a call. | Session-specific policies can change within the time it takes | |||
to establish a call. | ||||
These policies can be Peer dependent or independent, creating the | These policies can be Peer dependent or independent, creating the | |||
following peering policy tree definition: | following peering policy tree definition: | |||
Peer Independent | o Peer Independent | |||
Session dependent | Session dependent | |||
Session independent | Session independent | |||
Peer Dependent | o Peer Dependent | |||
Session dependent | Session dependent | |||
Session independent | Session independent | |||
6. Call Control and Media Control Deployment Options | 6. Call Control and Media Control Deployment Options | |||
The peering functions can either be deployed along the following two | The peering functions can either be deployed along the following two | |||
dimensions depending upon how the signaling function and the media | dimensions depending upon how the signaling function and the media | |||
function along with IP functions are implemented: | function along with IP functions are implemented: | |||
Composed or Decomposed: Addresses the question whether the media | Composed or Decomposed: Addresses the question whether the media | |||
paths must flow through the same physical and geographic nodes as the | must flow through the same physical and geographic elements as SIP | |||
call signaling, | dialogs and sessions. | |||
Centralized or Distributed: Addresses the question whether the | Centralized or Distributed: Addresses the question whether the | |||
logical and physical peering points are in one geographical location | logical and physical peering points are in one geographical location | |||
or distributed to multiple physical locations on the service provider | or distributed to multiple physical locations on the SSP's network. | |||
network. | ||||
In a composed model, SF and MF functions are implemented in one | In a composed model, SF and MF functions are implemented in one | |||
peering logical element. | peering logical element. | |||
Provider A Provider B | Provider A Provider B | |||
---------- . . ---------- | ---------- . . ---------- | |||
/ \ . . / \ | / \ . . / \ | |||
| | . _ . | | | | | . _ . | | | |||
| +----+ . / \_ . +----+ | | | +----+ . / \_ . +----+ | | |||
| | SF |<-----/ \------| SF | | | | | SF |<-----/ \------| SF | | | |||
skipping to change at page 17, line 26 | skipping to change at page 16, line 46 | |||
| | . \__ _/ . | | | | | . \__ _/ . | | | |||
\_________ / . . \________ _/ | \_________ / . . \________ _/ | |||
---------- ---------- | ---------- ---------- | |||
--- Signal (SIP) | --- Signal (SIP) | |||
~~~ Bearer (RTP/IP) | ~~~ Bearer (RTP/IP) | |||
... Scope of peering | ... Scope of peering | |||
Figure 3: Decomposed v. Collapsed Peering | Figure 3: Decomposed v. Collapsed Peering | |||
The advantage of a collapsed peering architecture is that one-element | The advantage of a collapsed peering architecture is that one- | |||
solves all peering issues. Disadvantage examples of this architecture | element solves all peering issues. Disadvantage examples of this | |||
are single point failure, bottle neck, and complex scalability. | architecture are single point of failure, bottleneck, and complex | |||
scalability. | ||||
In a decomposed model, SF and MF are implemented in separate peering | In a decomposed model, SF and MF are implemented in separate peering | |||
logical elements. Signaling functions are implemented in a proxy and | logical elements. SFs are implemented in a proxy and MFs are | |||
media functions are implemented in another logical element. The | implemented in another logical element. The scaling of signaling | |||
scaling of signaling versus scaling of media may differ between | versus scaling of media may differ between applications. | |||
applications. Decomposing allows each to follow a separate migration | Decomposing allows each to follow a separate migration path. | |||
path. | ||||
This model allows the implementation of M:N model where one SF is | This model allows the implementation of M:N model where one SF is | |||
associated with multiple peering MF and one peering MF is associated | associated with multiple peering MF and one peering MF is associated | |||
with multiple peering proxies. Generally, a vertical protocol | with multiple peering proxies. Generally, a vertical protocol | |||
associates the relationship between a SF and a MF. This architecture | associates the relationship between a SF and a MF. This architecture | |||
reduces the potential of single point failure. This architecture, | reduces the potential of a single point of failure. It allows | |||
allows separation of the policy decision point and the policy | separation of the policy decision point and the policy enforcement | |||
enforcement point. An example of disadvantages is the scaling | point. An example of disadvantages is the scaling complexity because | |||
complexity because of the M:N relationship and latency due to the | of the M:N relationship and latency due to the vertical control | |||
vertical control messages between entities. | messages between entities. | |||
7. Address space considerations | 7. Address space considerations | |||
Peering must occur in a common address space, which is defined by the | Peering must occur in a common address space, which is defined by | |||
federation, which may be entirely on the public Internet, or some | the federation, which may be entirely on the public Internet, or | |||
private address space. The origination or termination networks may or | some private address space. The origination or termination networks | |||
may not entirely be in that same address space. If they are not, | may or may not entirely be in that same address space. If they are | |||
then a translation (NAT) may be needed before the signaling or media | not, then a network address translation (NAT) or similar may be | |||
is presented to the federation. The only requirement is that all | needed before the signaling or media is presented correctly to the | |||
entities across the peering interface are reachable. | federation. The only requirement is that all associated entities | |||
across the peering interface are reachable. | ||||
8. Security Considerations | 8. Security Considerations | |||
In all cases, cryptographic-based security should be maintained as an | In all cases, cryptographic-based security should be maintained as | |||
optional requirement between peering providers conditioned on the | an optional requirement between peering providers conditioned on the | |||
presence or absence of underlying physical security of peer | presence or absence of underlying physical security of peer | |||
connections, e.g. within the same secure physical building. | connections, e.g. within the same secure physical building. | |||
In order to maintain a consistent approach, unique and specialized | In order to maintain a consistent approach, unique and specialized | |||
security requirements common for the majority of peering | security requirements common for the majority of peering | |||
relationships, should be standardized within the IETF. These | relationships, should be standardized within the IETF. These | |||
standardized methods may enable capabilities such as dynamic peering | standardized methods may enable capabilities such as dynamic peering | |||
relationships across publicly maintained interconnections. | relationships across publicly maintained interconnections. | |||
TODO: Address RFC-3552 BCP items. | TODO: Address RFC-3552 BCP items. | |||
skipping to change at page 19, line 9 | skipping to change at page 19, line 9 | |||
draft that helped to initiate work on this draft. | draft that helped to initiate work on this draft. | |||
A significant portion of this draft is taken from [14] with | A significant portion of this draft is taken from [14] with | |||
permission from the author R. Mahy. The other important contributor | permission from the author R. Mahy. The other important contributor | |||
is Otmar Lendl. | is Otmar Lendl. | |||
11. References | 11. References | |||
11.1. Normative References | 11.1. Normative References | |||
[1] Bradner, S., "Key words for use in RFCs to Indicate Requirement | [1] Bradner, S., "Key words for use in RFCs to Indicate | |||
Levels", BCP 14, RFC 2119, March 1997. | Requirement Levels", BCP 14, RFC 2119, March 1997. | |||
[2] Mealling, M. and R. Daniel, "The Naming Authority Pointer | [2] Mealling, M. and R. Daniel, "The Naming Authority Pointer | |||
(NAPTR) DNS Resource Record", RFC 2915, September 2000. | (NAPTR) DNS Resource Record", RFC 2915, September 2000. | |||
[3] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., | [3] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., | |||
Peterson, J., Sparks, R., Handley, M., and E. Schooler, "SIP: | Peterson, J., Sparks, R., Handley, M., and E. Schooler, "SIP: | |||
Session Initiation Protocol", RFC 3261, June 2002. | Session Initiation Protocol", RFC 3261, June 2002. | |||
[4] Rosenberg, J. and H. Schulzrinne, "Session Initiation Protocol | [4] Rosenberg, J. and H. Schulzrinne, "Session Initiation Protocol | |||
(SIP): Locating SIP Servers", RFC 3263, June 2002. | (SIP): Locating SIP Servers", RFC 3263, June 2002. | |||
[5] Blake-Wilson, S., Nystrom, M., Hopwood, D., Mikkelsen, J., and | [5] Blake-Wilson, S., Nystrom, M., Hopwood, D., Mikkelsen, J., and | |||
T. Wright, "Transport Layer Security (TLS) Extensions", RFC | T. Wright, "Transport Layer Security (TLS) Extensions", RFC | |||
4366, April 2006. | 4366, April 2006. | |||
[6] Schulzrinne, H., Casner, S., Frederick, R., and V. Jacobson, | [6] Schulzrinne, H., Casner, S., Frederick, R., and V. Jacobson, | |||
"RTP: A Transport Protocol for Real-Time Applications", STD 64, | "RTP: A Transport Protocol for Real-Time Applications", STD | |||
RFC 3550, July 2003. | 64, RFC 3550, July 2003. | |||
[7] Peterson, J., Liu, H., Yu, J., and B. Campbell, "Using E.164 | [7] Peterson, J., Liu, H., Yu, J., and B. Campbell, "Using E.164 | |||
numbers with the Session Initiation Protocol (SIP)", RFC 3824, | numbers with the Session Initiation Protocol (SIP)", RFC 3824, | |||
June 2004. | June 2004. | |||
[8] Peterson, J., "Address Resolution for Instant Messaging and | [8] Peterson, J., "Address Resolution for Instant Messaging and | |||
Presence",RFC 3861, August 2004. | Presence",RFC 3861, August 2004. | |||
[9] Peterson, J., "Telephone Number Mapping (ENUM) Service | [9] Peterson, J., "Telephone Number Mapping (ENUM) Service | |||
Registration for Presence Services", RFC 3953, January 2005. | Registration for Presence Services", RFC 3953, January 2005. | |||
skipping to change at page 20, line 7 | skipping to change at page 20, line 7 | |||
[11] Peterson, J., "enumservice registration for Session Initiation | [11] Peterson, J., "enumservice registration for Session Initiation | |||
Protocol (SIP) Addresses-of-Record", RFC 3764, April 2004. | Protocol (SIP) Addresses-of-Record", RFC 3764, April 2004. | |||
[12] Livingood, J. and R. Shockey, "IANA Registration for an | [12] Livingood, J. and R. Shockey, "IANA Registration for an | |||
Enumservice Containing PSTN Signaling Information", RFC 4769, | Enumservice Containing PSTN Signaling Information", RFC 4769, | |||
November 2006. | November 2006. | |||
11.2. Informative References | 11.2. Informative References | |||
[13] Meyer, D., "SPEERMINT Terminology", draft-ietf-speermint- | [13] Malas, D., "SPEERMINT Terminology", draft-ietf-speermint- | |||
terminology-08 (work in progress), Junly 2007. | terminology-16 (work in progress), February 2008. | |||
[14] Mule, J-F., "SPEERMINT Requirements for SIP-based VoIP | [14] Mule, J-F., "SPEERMINT Requirements for SIP-based VoIP | |||
Interconnection", draft-ietf-speermint-requirements-02.txt, | Interconnection", draft-ietf-speermint-requirements-03.txt, | |||
July 2007. | November 2007. | |||
[15] Mahy, R., "A Minimalist Approach to Direct Peering", draft- | [15] Mahy, R., "A Minimalist Approach to Direct Peering", draft- | |||
mahy-speermint-direct-peering-02.txt, July 2007. | mahy-speermint-direct-peering-02.txt, July 2007. | |||
[16] Penno, R., et al., "SPEERMINT Routing Architecture Message | [16] Penno, R., et al., "SPEERMINT Routing Architecture Message | |||
Flows", draft-ietf-speermint-flows-02.txt", April 2007. | Flows", draft-ietf-speermint-flows-02.txt", April 2007. | |||
[17] Lee, Y., "Session Peering Use Case for Cable", draft-lee- | [17] Houri, A., et al., "RTC Provisioning Requirements", draft- | |||
speermint-use-case-cable-01.txt, June, 2006. | ||||
[18] Houri, A., et al., "RTC Provisioning Requirements", draft- | ||||
houri-speermint-rtc-provisioning-reqs-00.txt, June, 2006. | houri-speermint-rtc-provisioning-reqs-00.txt, June, 2006. | |||
[19] Habler, M., et al., "A Federation based VOIP Peering | [18] Habler, M., et al., "A Federation based VOIP Peering | |||
Architecture", draft-lendl-speermint-federations-03.txt, | Architecture", draft-lendl-speermint-federations-03.txt, | |||
September 2006. | September 2006. | |||
[20] Mahy, R., "A Telephone Number Mapping (ENUM) Service | [19] Mahy, R., "A Telephone Number Mapping (ENUM) Service | |||
Registration for Instant Messaging (IM) Services", draft-ietf- | Registration for Instant Messaging (IM) Services", RFC 5028 | |||
enum-im-service-03 (work in progress), March 2006. | ||||
[21] Haberler, M. and R. Stastny, "Combined User and Carrier ENUM in | [20] Haberler, M. and R. Stastny, "Combined User and Carrier ENUM | |||
the e164.arpa tree", draft-haberler-carrier-enum-03 (work in | in the e164.arpa tree", draft-haberler-carrier-enum-03 (work | |||
progress), March 2006. | in progress), March 2006. | |||
[22] Penno, R., Malas D., and Melampy, P., "A Session Initiation | [21] Penno, R., Malas D., and Melampy, P., "A Session Initiation | |||
Protocol (SIP) Event package for Peering", draft-penno-sipping- | Protocol (SIP) Event package for Peering", draft-penno- | |||
peering-package-00 (work in progress), September 2006. | sipping-peering-package-01 (work in progress), September 2006. | |||
[23] Hollander, D., Bray, T., and A. Layman, "Namespaces in XML", | [22] Hollander, D., Bray, T., and A. Layman, "Namespaces in XML", | |||
W3C REC REC-xml-names-19990114, January 1999. | W3C REC REC-xml-names-19990114, January 1999. | |||
[24] Burger, E (Ed.), "A Mechanism for Content Indirection in | [23] Burger, E (Ed.), "A Mechanism for Content Indirection in | |||
Session Initiation Protocol (SIP) Messages", RFC 4483, May | ||||
2006 | ||||
Author's Addresses | Author's Addresses | |||
Mike Hammer | Mike Hammer | |||
Cisco Systems | Cisco Systems | |||
13615 Dulles Technology Drive | 13615 Dulles Technology Drive | |||
Herndon, VA 20171 | Herndon, VA 20171 | |||
USA | USA | |||
Email: mhammer@cisco.com | Email: mhammer@cisco.com | |||
skipping to change at page 21, line 43 | skipping to change at page 21, line 43 | |||
Adam Uzelac | Adam Uzelac | |||
Global Crossing | Global Crossing | |||
1120 Pittsford Victor Road | 1120 Pittsford Victor Road | |||
PITTSFORD, NY 14534 | PITTSFORD, NY 14534 | |||
USA | USA | |||
Email: adam.uzelac@globalcrossing.com | Email: adam.uzelac@globalcrossing.com | |||
Intellectual Property Statement | Intellectual Property Statement | |||
The IETF takes no position regarding the validity or scope of any | The IETF takes no position regarding the validity or scope of any | |||
Intellectual Property Rights or other rights that might be claimed to | Intellectual Property Rights or other rights that might be claimed | |||
pertain to the implementation or use of the technology described in | to pertain to the implementation or use of the technology described | |||
this document or the extent to which any license under such rights | in this document or the extent to which any license under such | |||
might or might not be available; nor does it represent that it has | rights might or might not be available; nor does it represent that | |||
made any independent effort to identify any such rights. Information | it has made any independent effort to identify any such rights. | |||
on the procedures with respect to rights in RFC documents can be | Information on the procedures with respect to rights in RFC | |||
found in BCP 78 and BCP 79. | documents can be found in BCP 78 and BCP 79. | |||
Copies of IPR disclosures made to the IETF Secretariat and any | Copies of IPR disclosures made to the IETF Secretariat and any | |||
assurances of licenses to be made available, or the result of an | assurances of licenses to be made available, or the result of an | |||
attempt made to obtain a general license or permission for the use of | attempt made to obtain a general license or permission for the use | |||
such proprietary rights by implementers or users of this | of such proprietary rights by implementers or users of this | |||
specification can be obtained from the IETF on-line IPR repository at | specification can be obtained from the IETF on-line IPR repository | |||
http://www.ietf.org/ipr. | at http://www.ietf.org/ipr. | |||
The IETF invites any interested party to bring to its attention any | The IETF invites any interested party to bring to its attention any | |||
copyrights, patents or patent applications, or other proprietary | copyrights, patents or patent applications, or other proprietary | |||
rights that may cover technology that may be required to implement | rights that may cover technology that may be required to implement | |||
this standard. Please address the information to the IETF at | this standard. Please address the information to the IETF at | |||
ietf-ipr@ietf.org. | ietf-ipr@ietf.org. | |||
Disclaimer of Validity | Disclaimer of Validity | |||
This document and the information contained herein are provided on an | This document and the information contained herein are provided on | |||
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS | an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE | |||
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND | REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE | |||
THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS | IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL | |||
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF | WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY | |||
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED | WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE | |||
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. | ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS | |||
FOR A PARTICULAR PURPOSE. | ||||
Copyright Statement | Copyright Statement | |||
Copyright (C) The IETF Trust (2007). | Copyright (C) The IETF Trust (2008). | |||
This document is subject to the rights, licenses and restrictions | This document is subject to the rights, licenses and restrictions | |||
contained in BCP 78, and except as set forth therein, the authors | contained in BCP 78, and except as set forth therein, the authors | |||
retain all their rights. | retain all their rights. | |||
Acknowledgment | Acknowledgment | |||
Funding for the RFC Editor function is currently provided by the | Funding for the RFC Editor function is currently provided by the | |||
Internet Society. | Internet Society. | |||
End of changes. 113 change blocks. | ||||
302 lines changed or deleted | 309 lines changed or added | |||
This html diff was produced by rfcdiff 1.34. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |