draft-ietf-speermint-architecture-08.txt | draft-ietf-speermint-architecture-09.txt | |||
---|---|---|---|---|
Speermint Working Group A.Uzelac(Ed.) | Speermint Working Group A.Uzelac(Ed.) | |||
Internet Draft Global Crossing | Internet Draft Global Crossing | |||
Intended status: Informational | Intended status: Informational | |||
Expires: September 2009 | Expires: May 2010 | |||
March 2, 2009 | November 10, 2009 | |||
SPEERMINT Peering Architecture | SPEERMINT Peering Architecture | |||
draft-ietf-speermint-architecture-08 | draft-ietf-speermint-architecture-09 | |||
Status of this Memo | Status of this Memo | |||
This Internet-Draft is submitted to IETF in full conformance with the | This Internet-Draft is submitted to IETF in full conformance with the | |||
provisions of BCP 78 and BCP 79. | provisions of BCP 78 and 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. | |||
skipping to change at page 1, line 32 | skipping to change at page 1, line 32 | |||
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." | |||
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 September 2, 2009. | This Internet-Draft will expire on May 26, 2010. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2009 IETF Trust and the persons identified as the | Copyright (c) 2009 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 | |||
Provisions Relating to IETF Documents | Relating to IETF Documents (http://trustee.ietf.org/license-info) | |||
(http://trustee.ietf.org/license-info) in effect on the date of | in effect on the date of publication of this document. Please | |||
publication of this document. Please review these documents | review these documents carefully, as they describe your rights and | |||
carefully, as they describe your rights and restrictions with respect | restrictions with respect to this document. Code Components | |||
to this document. | extracted from this document must include Simplified BSD License | |||
text as described in Section 4.e of the Trust Legal Provisions and | ||||
are provided without warranty as described in the BSD License." | ||||
Abstract | Abstract | |||
This document defines the SPEERMINT peering architecture, its functional | This document defines the SPEERMINT peering architecture, its functional | |||
components and peering interface functions. It also describes the steps taken | components and peering interface functions. It also describes the steps taken | |||
to establish a session between two peering domains in the context of the | to establish a session between two peering domains in the context of the | |||
functions defined. | functions defined. | |||
Table of Contents | Table of Contents | |||
1. Introduction...................................................3 | 1. Introduction...................................................2 | |||
2. Network Context................................................3 | 2. Reference SPEERMINT Architecture...............................4 | |||
3. Reference SPEERMINT Architecture...............................4 | 3. Procedures of Inter-domain SSP Session Establishment...........4 | |||
4. Procedures of Interdomain SSP Session Establishment............6 | 3.1. Relationships between functions/elements..................5 | |||
5. Recommended SSP Procedures.....................................7 | 4. Recommended SSP Procedures.....................................5 | |||
5.1. Originating SSP Procedures................................7 | 4.1. Originating SSP Procedures................................5 | |||
5.1.1. The Look-Up Function (LUF)...........................7 | 4.1.1. The Look-Up Function (LUF)...........................5 | |||
5.1.1.1. Target address analysis.........................7 | 4.1.1.1. Target Address Analysis.........................6 | |||
5.1.1.2. End User ENUM Lookup............................8 | 4.1.1.2. ENUM Lookup.....................................6 | |||
5.1.1.3. Infrastructure ENUM lookup......................8 | 4.1.2. Location Routing Function (LRF)......................6 | |||
5.1.2. Location Routing Function (LRF)......................8 | 4.1.2.1. DNS Resolution..................................7 | |||
5.1.2.1. SIP DNS Resolution..............................8 | 4.1.2.2. Routing Table...................................7 | |||
5.1.2.2. Routing Table...................................9 | 4.1.2.3. LRF to LRF Routing..............................7 | |||
5.1.2.3. SIP Redirect Server.............................9 | 4.1.3. The Signaling Path Border Element (SBE)..............7 | |||
5.1.3. The Signaling Function (SF)..........................9 | 4.1.3.1. Establishing a Trusted Relationship.............8 | |||
5.1.3.1. Establishing a Trusted Relationship.............9 | 4.1.3.2. Sending the SIP request.........................8 | |||
5.1.3.2. Sending the SIP request........................10 | 4.2. Target SSP Procedures.....................................8 | |||
5.2. Terminating SSP Procedures...............................10 | 4.2.1. The Ingress Signaling Path Border Element (SBE)......8 | |||
5.2.1. The Location Function (LF)..........................10 | 4.2.1.1. TLS.............................................8 | |||
5.2.1.1. Publish ENUM records...........................10 | 4.2.1.2. Receive SIP requests............................9 | |||
5.2.1.2. Publish SIP DNS records........................11 | 4.3. Data Path Border Element (DBE)............................9 | |||
5.2.1.3. Subscribe Notify...............................11 | 5. Address space considerations...................................9 | |||
5.2.2. Signaling Function (SF).............................11 | 6. Security Considerations........................................9 | |||
5.2.2.1. TLS............................................11 | 7. IANA Considerations...........................................10 | |||
5.2.2.2. Receive SIP requests...........................11 | 8. Acknowledgments...............................................10 | |||
5.3. Target SSP Procedures....................................12 | 9. References....................................................11 | |||
5.3.1. Signaling Function (SF).............................12 | 9.1. Normative References.....................................11 | |||
5.3.1.1. TLS............................................12 | 9.2. Informative References...................................12 | |||
5.3.1.2. Receive SIP requests...........................12 | Author's Addresses...............................................13 | |||
5.4. Media Function (MF)......................................12 | ||||
5.5. Policy Considerations....................................12 | ||||
6. Call Control and Media Control Deployment Options.............13 | ||||
7. Address space considerations..................................14 | ||||
8. Security Considerations.......................................15 | ||||
9. IANA Considerations...........................................15 | ||||
10. Acknowledgments..............................................15 | ||||
11. References...................................................16 | ||||
11.1. Normative References....................................16 | ||||
11.2. Informative References..................................17 | ||||
Author's Addresses...............................................18 | ||||
1. Introduction | 1. Introduction | |||
The objective of this document is to define a reference peering architecture in | The objective of this document is to define a reference peering architecture in | |||
the context of Session PEERing for Multimedia INTerconnect (SPEERMINT). In this | the context of Session PEERing for Multimedia INTerconnect (SPEERMINT). In this | |||
process, we define the peering reference architecture, its functional | process, we define the peering reference architecture, its functional | |||
components, and peering interface functions from the perspective of a SIP | components, and peering interface functions from the perspective of a SIP | |||
Service provider's (SSP) network. | Service provider's (SSP) network. | |||
This architecture allows the interconnection of two SSPs in layer 5 peering as | This architecture allows the interconnection of two SSPs in layer 5 peering as | |||
skipping to change at page 3, line 27 | skipping to change at page 4, line 5 | |||
this document do not show routers so that the focus is on Layer 5 protocol | this document do not show routers so that the focus is on Layer 5 protocol | |||
aspects. | aspects. | |||
This document uses terminology defined in the SPEERMINT Terminology document | This document uses terminology defined in the SPEERMINT Terminology document | |||
[13], so the reader should be familiar with all the terms defined there. | [13], so the reader should be familiar with all the terms defined there. | |||
In this document, the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", | In this document, the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", | |||
"SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" are | "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" are | |||
to be interpreted as described in [RFC2119]. | to be interpreted as described in [RFC2119]. | |||
2. Network Context | 2. Reference SPEERMINT Architecture | |||
Figure 1 allows for the following potential SPEERMINT peering scenarios: | ||||
o Enterprise to Enterprise across the public Internet | ||||
o Enterprise to SSP 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 SSP across a private Layer 3 network | ||||
o SSP to SSP across a private Layer 3 network | ||||
+-------------------+ | ||||
| | | ||||
| Public | | ||||
| SIP | | ||||
| Peering | | ||||
| | | ||||
+-------------------+ | ||||
| | ||||
----- | ||||
+-----------+ / \ +-----------+ | ||||
|Enterprise | -- -- |Enterprise | | ||||
|Provider A |-----------/ \-----------|Provider B | | ||||
+-----------+ -- -- +-----------+ | ||||
/ Public \ | ||||
| Internet | | ||||
\ (Layer 3) / | ||||
+-----------+ -- -- +-----------+ | ||||
| SSP C |-----------\ /-----------| SSP D | | ||||
| | -- -- | | | ||||
+-----------+ \_____/ +-----------+ | ||||
| Layer 3 Peering | ||||
| Point (out of scope) | ||||
----- | ||||
+-----------+ / \ +-----------+ | ||||
|Enterprise | -- -- |Enterprise | | ||||
|Provider E |-----------/ \-----------|Provider F | | ||||
+-----------+ -- Private -- +-----------+ | ||||
/ Network \ | ||||
| (Layer 3) | | ||||
\ / | ||||
+-----------+ -- -- +-----------+ | ||||
| SSP G |-----------\ /-----------| SSP H | | ||||
| | -- -- | | | ||||
+-----------+ \____/ +-----------+ | ||||
| | ||||
+-------------------+ | ||||
| Private | | ||||
| SIP | | ||||
| Peering | | ||||
| | | ||||
+-------------------+ | ||||
Figure 1: SPEERMINT Network Context | ||||
3. Reference SPEERMINT Architecture | ||||
Figure 2 depicts the SPEERMINT architecture and logical functions that form the | Figure 2 depicts the SPEERMINT architecture and logical functions that form the | |||
peering between two SSPs. | peering between two SSPs. | |||
+------+ | --------------- --------------- | |||
| DNS, | | / \ / \ | |||
+---------->| Db, |<---------+ | | +--LUF-+ | +------+ | +--LUF-+ | | |||
| | etc | | | | |->| | | | ENUM | | | |<-| | | |||
| +------+ | | | | | +------------>| TN DB|<------------+ | | | | |||
| | | | | | | | +------+ | | | | | | |||
------|-------- -------|------- | | | +------+ | | +------+ | | | |||
/ v \ / v \ | | | | | | | | |||
| +--LUF-+ | | +--LUF-+ | | | | +--LRF-+ | +--------+ | +--LRF-+ | | | |||
| | | | | | | | | | |->| | | | DNS | | | |<-| | | |||
| | | | | | | | | | | | +----------->|IP Addrs|<-----------+ | | | | |||
| | | | | | | | | | | | | | +--------+ | | | | | | |||
| +------+ | | +------+ | | | | +------+ | | +------+ | | | |||
| | | | | | | | | | | | |||
| +--LRF-+ | | +--LRF-+ | | | | | | | | | |||
| | | | | | | | | | | +-------+ +-------+ | | | |||
| | | | | | | | | | ----------->| | | |<----------- | | |||
| | | | | | | | | | | SBE |<------------>| SBE | | | |||
| +------+ | | +------+ | | | | | | | | | |||
| | | | | | +-------+ +-------+ | | |||
| | | | | | SSP1 | | SSP2 | | |||
| +---SF--+ +---SF--+ | | | +-------+ +-------+ | | |||
| | | | | | | | | | | | | | |||
| | SBE | | SBE | | | | | DBE |<------------>| DBE | | | |||
| Originating | | | | Target | | | | | | | | | |||
| +---SF--+ +---SF--+ | | | +-------+ +-------+ | | |||
| SSP | | SSP | | \ / \ / | |||
| +---MF--+ +---MF--+ | | --------------- --------------- | |||
| | | | | | | Figure 1: Reference SPEERMINT Architecture | |||
| | DBE | | DBE | | | ||||
| | | | | | | ||||
| +---MF--+ +---MF--+ | | ||||
\ / \ / | ||||
--------------- --------------- | ||||
Figure 2: Reference SPEERMINT Architecture | ||||
The following procedures are implemented by a set of peering functions: | ||||
The Look-Up Function (LUF) provides a mechanism for determining for a given | ||||
request the target domain to which the request should be routed. | ||||
The Location Routing Function (LRF) determines for the target domain of a given | ||||
request the location of the SF in that domain and optionally develops other | ||||
Session Establishment Data (SED) required to route the request to that domain. | ||||
The Signaling Function (SF) provides SIP call routing, to optionally perform | ||||
termination and re-initiation of call, to optionally implement security and | ||||
policies on SIP messages, and to assist in discovery/exchange of parameters to | ||||
be used by the Media Function (MF). | ||||
The Media Function (MF) provides media related functions such as media | ||||
transcoding, topology hiding and media security implementation between two | ||||
SSPs. | ||||
The intention of defining these functions is to provide a framework for design | For further details on the elements and functions described in this figure, | |||
segmentation and allow each one to evolve independently. | please refer to [RFC 5486]. | |||
4. Procedures of Interdomain SSP Session Establishment | 3. Procedures of Inter-domain SSP Session Establishment | |||
This document assumes that in order for a session to be established from a UA | This document assumes that in order for a session to be established from a UA | |||
in the originating SSP's network to an UA in the Target SSP's network the | in the Originating SSP's network to an UA in the Target SSP's network the | |||
following steps are taken: | following steps are taken: | |||
1. analyze the target address. | 1. Determine the target SSP via the LUF. | |||
a. If the target address represents an intra-SSP resource, the | a. If the target address represents an intra-SSP resource, the | |||
behavior is out-of-scope with respect to this draft. | behavior is out-of-scope with respect to this draft. | |||
2. determine the target SSP (LUF) | 2. Determine the address of the SF of the target SSP via the LRF. | |||
3. determine the SF next-hop in the target SSP (LRF) | ||||
4. enforce authentication and potentially other policies | ||||
5. determine of the UA | ||||
6. establish the session, | 3. Establish the session | |||
7. transfer of media which could include voice, video, text and others, | 4. Exchange the media, which could include voice, video, tec, etc. | |||
8. terminate the session (BYE) | 5. End the session (BYE) | |||
The originating SSP would likely perform steps 1-4, and the target SSP would | The originating SSP would likely perform steps 1-4, and the target SSP would | |||
likely perform steps 4-5. | likely perform steps 4-5. | |||
In the case the target SSP changes, then steps 1-4 would be repeated. This is | In the case the target SSP changes, then steps 1-4 would be repeated. This is | |||
reflected in Figure 2 that shows the target SSP with its own peering functions. | reflected in Figure 2 that shows the target SSP with its own peering functions. | |||
5. Recommended SSP Procedures | 3.1. Relationships between functions/elements | |||
- An SBE can contain a SF function. | ||||
- An SF can perform LUF and LRF functions. | ||||
- As an additional consideration, a Session Border Controller [SBC RFC], can | ||||
contain an SF, SBE and DBE, and may perform the LUF and LRF functions. | ||||
- The following functions can communicate as follows, depending upon various | ||||
real-world implementations: | ||||
o SF can communicate with LUF, LRF, SBE and SF | ||||
o LUF can communicator with SF and SBE | ||||
o LRF can communicate with SF and SBE | ||||
4. Recommended SSP Procedures | ||||
This section describes the functions in more detail and provides some | This section describes the functions in more detail and provides some | |||
recommendations on the role they would play in a SIP call in a Layer 5 peering | recommendations on the role they would play in a SIP call in a Layer 5 peering | |||
scenario. | scenario. | |||
Some of the information in the section is taken from [14] and is put here for | Some of the information in the section is taken from [14] and is put here for | |||
continuity purposes. | continuity purposes. | |||
5.1. Originating SSP Procedures | 4.1. Originating SSP Procedures | |||
5.1.1. The Look-Up Function (LUF) | 4.1.1. The Look-Up Function (LUF) | |||
Purpose is to determine the SF of the target domain of a given request and | Purpose is to determine the SF of the target domain of a given request and | |||
optionally develop Session Establishment Data. | optionally develop Session Establishment Data. | |||
5.1.1.1. Target address analysis | 4.1.1.1. Target Address Analysis | |||
When the originating SSP receives a request to communicate, it analyzes the | When the originating SSP receives a request to communicate, it analyzes the | |||
target URI to determine whether the call needs to be routed internal or | target URI to determine whether the call needs to be routed internal or | |||
external to its network. The analysis method is internal to the SSP; thus, | external to its network. The analysis method is internal to the SSP; thus, | |||
outside the scope of SPEERMINT. Note that the SSP may also consult any manner | outside the scope of SPEERMINT. | |||
of private data sources to make this determination. | ||||
If the target address does not represent a resource inside the originating | If the target address does not represent a resource inside the originating | |||
SSP's administrative domain or federation of domains, the originating SSP | SSP's administrative domain or federation of domains, then the originating SSP | |||
resolves the call routing data by using the Location Routing Function (LRF). | performs a Lookup Function (LUF) to determine a target address, and then is | |||
resolves the call routing data by using the Location routing Function (LRF). | ||||
For example, if the request to communicate is for an im: or pres: URI type, the | For example, if the request to communicate is for an im: or pres: URI type, the | |||
originating SSP follows the procedures in [8]. If the highest priority | originating SSP follows the procedures in [8]. If the highest priority | |||
supported URI scheme is sip: or sips: the originating SSP skips to SIP DNS | supported URI scheme is sip: or sips: the originating SSP skips to SIP DNS | |||
resolution in Section 5.1.3. Likewise, if the target address is already a sip: | resolution in Section 5.1.3. Likewise, if the target address is already a sip: | |||
or sips: URI in an external domain, the originating SSP skips to SIP DNS | or sips: URI in an external domain, the originating SSP skips to SIP DNS | |||
resolution in Section 5.1.2.1. | resolution in Section 4.1.2.1. | |||
If the target address corresponds to a specific E.164 address, the SSP may need | If the target address corresponds to a specific E.164 address, the SSP may need | |||
to perform some form of number plan mapping according to local policy. For | to perform some form of number plan mapping according to local policy. For | |||
example, in the United States, a dial string beginning "011 44" could be | example, in the United States, a dial string beginning "011 44" could be | |||
converted to "+44", or in the United Kingdom "00 1" could be converted to "+1". | converted to "+44", or in the United Kingdom "00 1" could be converted to "+1". | |||
Once the SSP has an E.164 address, it can use ENUM. | Once the SSP has an E.164 address, it can use ENUM. | |||
5.1.1.2. End User ENUM Lookup | 4.1.1.2. ENUM Lookup | |||
If an external E.164 address is the target, the originating SSP consults the | If an external E.164 address is the target, the originating SSP consults the | |||
public "User ENUM" rooted at e164.arpa, according to the procedures described | public "User ENUM" rooted at e164.arpa, according to the procedures described | |||
in RFC 3761. The SSP must query for the "E2U+sip" enumservice as described in | in RFC 3761. The SSP must query for the "E2U+sip" enumservice as described in | |||
RFC 3764 [11], but MAY check for other enumservices. The originating SSP MAY | RFC 3764 [11], but MAY check for other enumservices. The originating SSP MAY | |||
consult a cache or alternate representation of the ENUM data rather than actual | consult a cache or alternate representation of the ENUM data rather than actual | |||
DNS queries. Also, the SSP may skip actual DNS queries if the originating SSP | DNS queries. Also, the SSP may skip actual DNS queries if the originating SSP | |||
is sure that the target address country code is not represented in e164.arpa. | is sure that the target address country code is not represented in e164.arpa. | |||
If a sip: or sips: URI is chosen the SSP skips to Section 5.1.6. | If a sip: or sips: URI is chosen the SSP skips to Section 5.1.6. | |||
If an im: or pres: URI is chosen for based on an "E2U+im" [8] or "E2U+pres" [9] | If an im: or pres: URI is chosen for based on an "E2U+im" [8] or "E2U+pres" [9] | |||
enumserver, the SSP follows the procedures for resolving these URIs to URIs for | enumserver, the SSP follows the procedures for resolving these URIs to URIs for | |||
specific protocols such a SIP or XMPP as described in the previous section. | specific protocols such a SIP or XMPP as described in the previous section. | |||
5.1.1.3. Infrastructure ENUM lookup | 4.1.2. Location Routing Function (LRF) | |||
An originating SSP may check for a carrier-of-record in an Infrastructure ENUM | ||||
domain according to the procedures described in [12]. As in the previous step, | ||||
the SSP may consult a cache or alternate representation of the ENUM data in | ||||
lieu of actual DNS queries. The SSP first checks for records for the "E2U+sip" | ||||
enumservice, then for the "E2U+pstn" enumservice as defined in [21]. If a | ||||
terminal record is found with a sip: or sips: URI, the SSP skips to Section | ||||
5.1.2.1. , otherwise the SSP continues processing according to the next | ||||
section. | ||||
5.1.2. Location Routing Function (LRF) | ||||
The LRF of an Originating SSP analyzes target address and target domain | The LRF of an Originating SSP analyzes target address and target domain | |||
identified by the LUF, and discovers the next hop signaling function (SF) in a | identified by the LUF, and discovers the next hop signaling function (SF) in a | |||
peering relationship. The resource to determine the SF of the target domain | peering relationship. The resource to determine the SF of the target domain | |||
might be provided by a third-party as in the assisted-peering case. | might be provided by a third-party as in the assisted-peering case. The | |||
following sections define mechanisms which may be used by the LRF. These are | ||||
not in any particular order and, importantly, not all of them may be used. | ||||
5.1.2.1. SIP DNS Resolution | 4.1.2.1. DNS Resolution | |||
Once a sip: or sips: in an external domain is identified as the target, the | The originating SSP uses the procedures in RFC 3263 [4] Section 4 to determine | |||
originating SSP may apply local policy to decide whether forwarding requests to | how to contact the receiving SSP. To summarize the RFC 3263 procedure: unless | |||
the target domain is acceptable. The originating SSP uses the procedures in | these are explicitly encoded in the target URI, a transport is chosen using | |||
RFC 3263 [4] Section 4 to determine how to contact the receiving SSP. To | NAPTR records, a port is chosen using SRV records, and an address is chosen | |||
summarize the RFC 3263 procedure: unless these are explicitly encoded in the | using A or AAAA records. | |||
target 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. Note that these | ||||
are queries of records in the global DNS. | ||||
When communicating with another SSP, entities compliant to this document should | When communicating with another SSP, entities compliant to this document should | |||
select a TLS-protected transport for communication from the originating SSP to | select a TLS-protected transport for communication from the originating SSP to | |||
the receiving SSP if available. | the receiving SSP if available. | |||
5.1.2.2. Routing Table | 4.1.2.2. Routing Table | |||
If there are no End User ENUM records and the Originating SSP cannot discover | If there are no End User ENUM records and the Originating SSP cannot discover | |||
the carrier-of-record or if the Originating SSP cannot reach the carrier-of- | the carrier-of-record or if the Originating SSP cannot reach the carrier-of- | |||
record via SIP peering, the Originating SSP may deliver the call to the PSTN or | record via SIP peering, the Originating SSP may deliver the call to the PSTN or | |||
reject it. Note that the originating SSP may forward the call to another SSP | reject it. Note that the originating SSP may forward the call to another SSP | |||
for PSTN gateway termination by prior arrangement using the routing table. | for PSTN gateway termination by prior arrangement using the routing table. | |||
If so, the originating SSP rewrites the Request-URI to address the gateway | If so, the originating SSP rewrites the Request-URI to address the gateway | |||
resource in the target SSP's domain and MAY forward the request on to that SSP | resource in the target SSP's domain and MAY forward the request on to that SSP | |||
using the procedures described in the remainder of these steps. | using the procedures described in the remainder of these steps. | |||
5.1.2.3. SIP Redirect Server | 4.1.2.3. LRF to LRF Routing | |||
A SIP Redirect Server using 3XX SIP Redirect is another option in resolving the | Communications between the LRF of two interconnecting SSPs may use DNS or | |||
next-hop SF of the target domain. | statically provisioned IP Addresses for reachability. Other inputs to | |||
determine the path may be code-based routing, method-based routing, Time of | ||||
day, least cost and/or source-based routing. | ||||
5.1.3. The Signaling Function (SF) | 4.1.3. The Signaling Path Border Element (SBE) | |||
The purpose of signaling function is to perform routing of SIP messages as well | The purpose of signaling function is to perform routing of SIP messages as well | |||
as optionally implement security and policies on SIP messages, and to assist in | as optionally implement security and policies on SIP messages, and to assist in | |||
discovery/exchange of parameters to be used by the Media Function (MF). | discovery/exchange of parameters to be used by the Media Function (MF). | |||
The signaling function performs the routing of SIP messages. The optional | The signaling function performs the routing of SIP messages. The optional | |||
termination and re-initiation of calls may be performed by the signaling path | termination and re-initiation of calls may be performed by the signaling path | |||
Session Border Element (SBE). | Session Border Element (SBE), or other signaling elements. | |||
Optionally, a SF may perform additional functions such as Session Admission | Optionally, a SF may perform additional functions such as Session Admission | |||
Control, SIP Denial of Service protection, SIP Topology Hiding, SIP header | Control, SIP Denial of Service protection, SIP Topology Hiding, SIP header | |||
normalization, and SIP security, privacy and encryption. | normalization, SIP security, privacy, and encryption. | |||
The SF of a SBE can also process SDP payloads for media information such as | The SF of a SBE can also process SDP payloads for media information such as | |||
media type, bandwidth, and type of codec; then, communicate this information to | media type, bandwidth, and type of codec; then, communicate this information to | |||
the media function. Signaling function may optionally communicate with the | the media function. Signaling function may optionally communicate with the | |||
network to pass Layer 3 related policies [10] | network to pass Layer 3 related policies [10] | |||
5.1.3.1. Establishing a Trusted Relationship | 4.1.3.1. Establishing a Trusted Relationship | |||
Depending on the security needs and trust relationships between SSPs, different | Depending on the security needs and trust relationships between SSPs, different | |||
security mechanism can be used to establish SIP calls. These are discussed in | security mechanism can be used to establish SIP calls. These are discussed in | |||
the following subsections. | the following subsections. | |||
5.1.3.1.1. TLS connection | 4.1.3.1.1. IPSec | |||
Once a transport, port, and address are found, the originating SSP will open or | ||||
find a reusable TLS connection to the peer. The procedures to authenticate the | ||||
SSP's target domain is specified in [24] | ||||
5.1.3.1.2. TLS | ||||
If the trust relationship was established through TLS, the originating SSP can | ||||
optionally verify and assert the senders identity using the SIP Identity | ||||
mechanism. | ||||
In addition, new requests should contain a valid Identity and Identity-Info | ||||
header as described in [12]. The Identity-Info header must present a domain | ||||
name that is represented in the certificate provided when establishing the TLS | ||||
connection over which the request is sent. The originating SSP should include | ||||
an Identity header on in-dialog requests as well if the From header field value | ||||
matches an identity the originating SSP is willing to assert. | ||||
5.1.3.1.3. IPSec | ||||
In certain deployments the use of IPSec between the signaling functions of the | In certain deployments the use of IPSec between the signaling functions of the | |||
originating and terminating domains can be used as a security mechanism instead | originating and terminating domains can be used as a security mechanism instead | |||
of TLS. | of TLS. | |||
5.1.3.1.4. Co-Location | 4.1.3.1.2. Co-Location | |||
In this scenario the SFs are co-located in a physically secure location and/or | In this scenario the SFs are co-located in a physically secure location and/or | |||
are members of a segregated network. In this case messages between the | are members of a segregated network. In this case messages between the | |||
originating and terminating SSPs would be sent as clear text. | originating and terminating SSPs would be sent as clear text. | |||
5.1.3.2. Sending the SIP request | 4.1.3.2. Sending the SIP request | |||
Once a trust relationship between the peers is established, the originating SSP | Once a trust relationship between the peers is established, the originating SSP | |||
sends the request. | sends the request. | |||
5.2. Terminating SSP Procedures | 4.2. Target SSP Procedures | |||
5.2.1. The Location Function (LF) | ||||
5.2.1.1. Publish ENUM records | ||||
The receiving SSP should participate by publishing "E2U+sip" and "E2U+pstn" | ||||
records with sip: or sips: URIs wherever a public Infrastructure ENUM root is | ||||
available. This assumes that the receiving SSP wants to peer by default. When | ||||
the receiving SSP does not want to accept traffic from specific originating | ||||
SSPs, it may still reject requests on a call-by-call basis. | ||||
5.2.1.2. Publish SIP DNS records | ||||
To receive SSP requests, the receiving SSP must insure that it publishes | ||||
appropriate NAPTR, SRV, and address (A and/or AAAA) records in the LF relevant | ||||
to the SSP's SF. | ||||
5.2.1.3. Subscribe Notify | ||||
Policies function may also be optionally implemented by dynamic subscribe, | ||||
notify, and exchange of policy information and feature information among SSPs | ||||
[21]. | ||||
5.2.2. Signaling Function (SF) | 4.2.1. The Ingress Signaling Path Border Element (SBE) | |||
5.2.2.1. TLS | 4.2.1.1. TLS | |||
When the receiving SSP receives a TLS client hello, it responds with its | When the receiving SSP receives a TLS client hello, it responds with its | |||
certificate. The Target SSP certificate should be valid and rooted in a well- | certificate. The Target SSP certificate should be valid and rooted in a well- | |||
known certificate authority. The procedures to authenticate the SSP's | known certificate authority. The procedures to authenticate the SSP's | |||
originating domain are specified in [24]. | originating domain are specified in [24]. | |||
The SF of the Target SSP verifies that the Identity header is valid, | The SF of the Target SSP verifies that the Identity header is valid, | |||
corresponds to the message, corresponds to the Identity-Info header, and that | corresponds to the message, corresponds to the Identity-Info header, and that | |||
the domain in the From header corresponds to one of the domains in the TLS | the domain in the From header corresponds to one of the domains in the TLS | |||
client certificate. | client certificate. | |||
5.2.2.2. Receive SIP requests | 4.2.1.2. Receive SIP requests | |||
Once a trust relationship is established, the Target SSP is prepared to receive | Once a trust relationship is established, the Target SSP is prepared to receive | |||
incoming SIP requests. For new requests (dialog forming or not) the receiving | incoming SIP requests. For new requests (dialog forming or not) the receiving | |||
SSP verifies if the target (request-URI) is a domain that for which it is | SSP verifies if the target (request-URI) is a domain that for which it is | |||
responsible. For these requests, there should be no remaining Route header | responsible. For these requests, there should be no remaining Route header | |||
field values. For in-dialog requests, the receiving SSP can verify that it | field values. For in-dialog requests, the receiving SSP can verify that it | |||
corresponds to the top-most Route header field value. | corresponds to the top-most Route header field value. | |||
The receiving SSP may reject incoming requests due to local policy. When a | The receiving SSP may reject incoming requests due to local policy. When a | |||
request is rejected because the originating SSP is not authorized to peer, the | request is rejected because the originating SSP is not authorized to peer, the | |||
receiving SSP should respond with a 403 response with the reason phrase | receiving SSP should respond with a 403 response with the reason phrase | |||
"Unsupported Peer". | "Unsupported Peer". | |||
5.3. Target SSP Procedures | 4.3. Data Path Border Element (DBE) | |||
5.3.1. Signaling Function (SF) | ||||
5.3.1.1. TLS | ||||
When the receiving SSP receives a TLS client hello, it responds with its | ||||
certificate. The Target SSP's certificate should be valid and rooted in a | ||||
well-known certificate authority. The procedures to authenticate the SSP's | ||||
originating domain are specified in [24]. | ||||
If the requests should contain a valid Identity and Identity-Info header as | ||||
described in [24] the target SF verifies that the Identity header is valid, | ||||
corresponds to the message, corresponds to the Identity-Info header, and that | ||||
the domain in the From header corresponds to one of the domains in the TLS | ||||
client certificate. | ||||
5.3.1.2. Receive SIP requests | ||||
The procedures of the SF of the target SSP are the same as the ones described | ||||
in section 5.2.2.2 with the addition that it might establish a connection to | ||||
another target SSP, and in this case use the procedures recommended to an | ||||
originating SS (section 5.1). | ||||
5.4. Media Function (MF) | ||||
The purpose of the MF is to perform media related functions such as media | The purpose of the DBE [RFC 5486] is to perform media related functions such as | |||
transcoding and media security implementation between two SSPs. | media transcoding and media security implementation between two SSPs. | |||
An Example of this is to transform a voice payload from one codec (e.g., G.711) | 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, | to another (e.g., EvRC). Additionally, the MF may perform media relaying, | |||
media security, privacy, and encryption. | media security, privacy, and encryption. | |||
5.5. Policy Considerations | 5. Address space considerations | |||
In the context of the SPEERMINT working group when two SSPs peer, there MAY be | ||||
a desire to exchange peering policy information dynamically. There are | ||||
specifications in progress in the SIPPING working group to define policy | ||||
exchange between an UA and a domain [23] and providing profile data to SIP user | ||||
agents [24] These considerations borrow from both. | ||||
Following the terminology introduced in [12], this package uses the terms | ||||
Peering Session-Independent and Session-Specific policies in the following | ||||
context. | ||||
o Peering Session-Independent policies include Diffserv Marking, Policing, | ||||
Session Admission Control, and domain reachabilities, amongst others. The | ||||
time period between Peering Session-Independent policy changes is much | ||||
greater than the time it takes to establish a call. | ||||
o Peering Session-Specific polices includes supported connection/call rate, | ||||
total number of connections/calls available, current utilization, amongst | ||||
others. Peering Session-specific policies can change within the time it | ||||
takes to establish a call. | ||||
These policies can be SSP dependent or independent, creating the following | ||||
peering policy definition: | ||||
o SSP Independent or Dependent | ||||
Session dependent Session | ||||
independent | ||||
6. Call Control and Media Control Deployment Options | ||||
The peering functions can be deployed along the following two dimensions | ||||
depending upon how the signaling and the media functions along with IP layer | ||||
are implemented: | ||||
Composed or Decomposed: Addresses the question whether the media must flow | ||||
through the same physical and geographic elements as SIP dialogs and sessions. | ||||
Centralized or Distributed: Addresses the question whether the logical and | ||||
physical interconnections are in one geographical location or distributed to | ||||
multiple physical locations on the SSP's network. | ||||
In a composed model, SF and MF functions are implemented in one peering logical | ||||
element. | ||||
Provider A Provider B | ||||
---------- . . ---------- | ||||
/ \ . . / \ | ||||
| | . _ . | | | ||||
| +----+ . / \_ . +----+ | | ||||
| | SF |<-----/ \------| SF | | | ||||
| +-+--+ . /Transit\ . | | | | ||||
| | | . / IP \ . | | | | ||||
| +-+--+ . | Provider| . | | | | ||||
| | MF |<~~~| (Option)|~~~~| MF | | | ||||
| +----+ . \ / . +----+ | | ||||
| | . \ __ _ / . | | | ||||
\_________ / . . \________ _/ | ||||
---------- ---------- | ||||
--- Signal (SIP) | ||||
~~~ Bearer (RTP/IP) | ||||
... Scope of peering | ||||
Figure 3: Decomposed v. Collapsed Peering | ||||
The advantage of a collapsed peering architecture is that one-element solves | ||||
all peering issues. Disadvantage examples of this architecture are single point | ||||
of failure, bottleneck, and complex scalability. | ||||
In a decomposed model, SF and MF are implemented in separate peering logical | ||||
elements. SFs are implemented in a proxy and MFs are implemented in another | ||||
logical element. The scaling of signaling versus scaling of media may differ | ||||
between applications. Decomposing allows each to follow a separate migration | ||||
path. | ||||
This model allows the implementation of M:N model where one SF is associated | ||||
with multiple peering MF and one peering MF is associated with multiple SFs. | ||||
Generally, a vertical protocol associates the relationship between a SF and a | ||||
MF. This architecture reduces the potential of a single point of failure. It | ||||
allows separation of the policy decision point and the policy enforcement | ||||
point. An example of disadvantages is the scaling complexity because of the M:N | ||||
relationship and latency due to the vertical control messages between entities. | ||||
7. Address space considerations | ||||
Peering must occur in a common IP address space, which is defined by the | Peering must occur in a common IP address space, which is defined by the | |||
federation, which may be entirely on the public Internet, or some private | federation, which may be entirely on the public Internet, or some private | |||
address space. The origination or termination networks may or may not entirely | address space. The origination or termination networks may or may not entirely | |||
be in the same address space. If they are not, then a network address | be in the same address space. If they are not, then a network address | |||
translation (NAT) or similar may be needed before the signaling or media is | translation (NAT) or similar may be needed before the signaling or media is | |||
presented correctly to the federation. The only requirement is that all | presented correctly to the federation. The only requirement is that all | |||
associated entities across the peering interface are reachable. | associated entities across the peering interface are reachable. | |||
8. Security Considerations | 6. Security Considerations | |||
In all cases, cryptographic-based security should be maintained as an optional | In all cases, cryptographic-based security should be maintained as an optional | |||
requirement between peering providers conditioned on the presence or absence of | requirement between peering providers conditioned on the presence or absence of | |||
underlying physical security of SSP connections, e.g. within the same secure | underlying physical security of SSP connections, e.g. within the same secure | |||
physical building. | physical building. | |||
In order to maintain a consistent approach, unique and specialized security | In order to maintain a consistent approach, unique and specialized security | |||
requirements common for the majority of peering relationships, should be | requirements common for the majority of peering relationships, should be | |||
standardized within the IETF. These standardized methods may enable | standardized within the IETF. These standardized methods may enable | |||
capabilities such as dynamic peering relationships across publicly maintained | capabilities such as dynamic peering relationships across publicly maintained | |||
interconnections. | interconnections. | |||
9. IANA Considerations | 7. IANA Considerations | |||
There are no IANA considerations at this time. | There are no IANA considerations at this time. | |||
10. Acknowledgments | 8. Acknowledgments | |||
The working group thanks Sohel Khan for his initial architecture | The working group thanks Sohel Khan for his initial architecture | |||
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. Special thanks to Jim McEachern for detailed comments and | is Otmar Lendl. Special thanks to Jim McEachern for detailed comments and | |||
feedback. | feedback. | |||
11. References | 9. References | |||
11.1. Normative References | 9.1. Normative References | |||
[1] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", | [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", | |||
BCP 14, RFC 2119, March 1997. | BCP 14, RFC 2119, March 1997. | |||
[2] Mealling, M. and R. Daniel, "The Naming Authority Pointer (NAPTR) DNS | [2] Mealling, M. and R. Daniel, "The Naming Authority Pointer (NAPTR) DNS | |||
Resource Record", RFC 2915, September 2000. | Resource Record", RFC 2915, September 2000. | |||
[3] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, | [3] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, | |||
J., Sparks, R., Handley, M., and E. Schooler, "SIP: Session Initiation | J., Sparks, R., Handley, M., and E. Schooler, "SIP: Session Initiation | |||
Protocol", RFC 3261, June 2002. | Protocol", RFC 3261, June 2002. | |||
skipping to change at page 17, line 5 | skipping to change at page 12, line 5 | |||
[10] ETSI TS 102 333: " Telecommunications and Internet converged Services | [10] ETSI TS 102 333: " Telecommunications and Internet converged Services | |||
and Protocols for Advanced Networking (TISPAN); Gate control protocol". | and Protocols for Advanced Networking (TISPAN); Gate control protocol". | |||
[11] Peterson, J., "enumservice registration for Session Initiation Protocol | [11] Peterson, J., "enumservice registration for Session Initiation Protocol | |||
(SIP) Addresses-of-Record", RFC 3764, April 2004. | (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, November | Enumservice Containing PSTN Signaling Information", RFC 4769, November | |||
2006. | 2006. | |||
11.2. Informative References | 9.2. Informative References | |||
[13] Malas, D., "SPEERMINT Terminology", draft-ietf-speermint-terminology-16 | [13] Malas, D., "SPEERMINT Terminology", draft-ietf-speermint-terminology-16 | |||
(work in progress), February 2008. | (work in progress), February 2008. | |||
[14] Mule, J-F., "SPEERMINT Requirements for SIP-based VoIP Interconnection", | [14] Mule, J-F., "SPEERMINT Requirements for SIP-based VoIP Interconnection", | |||
draft-ietf-speermint-requirements-04.txt, February 2008. | draft-ietf-speermint-requirements-04.txt, February 2008. | |||
[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. | |||
skipping to change at line 755 | skipping to change at page 13, line 31 | |||
Sohel Khan, Ph.D. | Sohel Khan, Ph.D. | |||
Comcast Cable Communications | Comcast Cable Communications | |||
USA | USA | |||
Email: sohel_khan@cable.comcast.com | Email: sohel_khan@cable.comcast.com | |||
Daryl Malas | Daryl Malas | |||
CableLabs | CableLabs | |||
Louisville, CO - USA | Louisville, CO - USA | |||
Email: d.malas@cablelabs.com | Email: d.malas@cablelabs.com | |||
Hadriel Kaplan | ||||
Acme Packet | ||||
Email: hkaplan@acmepacket.com | ||||
Jason Livingood | ||||
Comcast | ||||
Email: Jason_livingood@cable.comcast.com | ||||
David Schwartz | ||||
Kayote Systems | ||||
Email: david.schwartz@kayote.com | ||||
Rich Shockey | ||||
Unaffiliated | ||||
Email: Richard@shockey.us | ||||
End of changes. 53 change blocks. | ||||
387 lines changed or deleted | 141 lines changed or added | |||
This html diff was produced by rfcdiff 1.37a. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |