draft-ietf-speermint-architecture-17.txt   draft-ietf-speermint-architecture-18.txt 
SPEERMINT D. Malas, Ed. SPEERMINT D. Malas, Ed.
Internet-Draft CableLabs Internet-Draft CableLabs
Intended status: Informational J. Livingood, Ed. Intended status: Informational J. Livingood, Ed.
Expires: June 23, 2011 Comcast Expires: August 21, 2011 Comcast
December 20, 2010 February 17, 2011
Session PEERing for Multimedia INTerconnect Architecture Session PEERing for Multimedia INTerconnect Architecture
draft-ietf-speermint-architecture-17 draft-ietf-speermint-architecture-18
Abstract Abstract
This document defines a peering architecture for the Session This document defines a peering architecture for the Session
Initiation Protocol (SIP) [RFC3261], its functional components and Initiation Protocol (SIP), its functional components and interfaces.
interfaces. It also describes the components and the steps necessary It also describes the components and the steps necessary to establish
to establish a session between two SIP Service Provider (SSP) peering a session between two SIP Service Provider (SSP) peering domains.
domains.
Status of this Memo Status of this Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted 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). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on June 23, 2011. This Internet-Draft will expire on August 21, 2011.
Copyright Notice Copyright Notice
Copyright (c) 2010 IETF Trust and the persons identified as the Copyright (c) 2011 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
skipping to change at page 2, line 21 skipping to change at page 3, line 8
Without obtaining an adequate license from the person(s) controlling Without obtaining an adequate license from the person(s) controlling
the copyright in such materials, this document may not be modified the copyright in such materials, this document may not be modified
outside the IETF Standards Process, and derivative works of it may outside the IETF Standards Process, and derivative works of it may
not be created outside the IETF Standards Process, except to format not be created outside the IETF Standards Process, except to format
it for publication as an RFC or to translate it into languages other it for publication as an RFC or to translate it into languages other
than English. than English.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Reference Architecture . . . . . . . . . . . . . . . . . . . . 4 2. New Terminology . . . . . . . . . . . . . . . . . . . . . . . 4
3. Procedures of Inter-Domain SSP Session Establishment . . . . . 6 2.1. Session Border Controller (SBC) . . . . . . . . . . . . . 4
4. Relationships Between Functions/Elements . . . . . . . . . . . 7 2.2. Carrier-of-Record . . . . . . . . . . . . . . . . . . . . 5
5. Recommended SSP Procedures . . . . . . . . . . . . . . . . . . 7 3. Reference Architecture . . . . . . . . . . . . . . . . . . . . 5
5.1. Originating or Indirect SSP Procedures . . . . . . . . . . 8 4. Procedures of Inter-Domain SSP Session Establishment . . . . . 7
5.1.1. The Look-Up Function (LUF) . . . . . . . . . . . . . . 8 5. Relationships Between Functions/Elements . . . . . . . . . . . 8
5.1.1.1. Target Address Analysis . . . . . . . . . . . . . 8 6. Recommended SSP Procedures . . . . . . . . . . . . . . . . . . 8
5.1.1.2. ENUM Lookup . . . . . . . . . . . . . . . . . . . 9 6.1. Originating or Indirect SSP Procedures . . . . . . . . . . 8
5.1.2. Location Routing Function (LRF) . . . . . . . . . . . 9 6.1.1. The Look-Up Function (LUF) . . . . . . . . . . . . . . 9
5.1.2.1. DNS Resolution . . . . . . . . . . . . . . . . . . 9 6.1.1.1. Target Address Analysis . . . . . . . . . . . . . 9
5.1.2.2. Routing Table . . . . . . . . . . . . . . . . . . 10 6.1.1.2. ENUM Lookup . . . . . . . . . . . . . . . . . . . 9
5.1.2.3. LRF to LRF Routing . . . . . . . . . . . . . . . . 10 6.1.2. Location Routing Function (LRF) . . . . . . . . . . . 10
5.1.3. The Signaling Path Border Element (SBE) . . . . . . . 10 6.1.2.1. DNS Resolution . . . . . . . . . . . . . . . . . . 10
5.1.3.1. Establishing a Trusted Relationship . . . . . . . 10 6.1.2.2. Routing Table . . . . . . . . . . . . . . . . . . 10
5.1.3.2. IPSec . . . . . . . . . . . . . . . . . . . . . . 10 6.1.2.3. LRF to LRF Routing . . . . . . . . . . . . . . . . 11
5.1.3.3. Co-Location . . . . . . . . . . . . . . . . . . . 11 6.1.3. The Signaling Path Border Element (SBE) . . . . . . . 11
5.1.3.4. Sending the SIP Request . . . . . . . . . . . . . 11 6.1.3.1. Establishing a Trusted Relationship . . . . . . . 11
5.2. Target SSP Procedures . . . . . . . . . . . . . . . . . . 11 6.1.3.2. IPSec . . . . . . . . . . . . . . . . . . . . . . 11
5.2.1. TLS . . . . . . . . . . . . . . . . . . . . . . . . . 11 6.1.3.3. Co-Location . . . . . . . . . . . . . . . . . . . 11
5.2.2. Receive SIP Requests . . . . . . . . . . . . . . . . . 11 6.1.3.4. Sending the SIP Request . . . . . . . . . . . . . 12
5.3. Data Path Border Element (DBE) . . . . . . . . . . . . . . 12 6.2. Target SSP Procedures . . . . . . . . . . . . . . . . . . 12
6. Address Space Considerations . . . . . . . . . . . . . . . . . 12 6.2.1. TLS . . . . . . . . . . . . . . . . . . . . . . . . . 12
7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 12 6.2.2. Receive SIP Requests . . . . . . . . . . . . . . . . . 12
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 6.3. Data Path Border Element (DBE) . . . . . . . . . . . . . . 12
9. Security Considerations . . . . . . . . . . . . . . . . . . . 12 7. Address Space Considerations . . . . . . . . . . . . . . . . . 13
10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 13 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 13
11. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . . 14 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13
12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 15 10. Security Considerations . . . . . . . . . . . . . . . . . . . 13
12.1. Normative References . . . . . . . . . . . . . . . . . . . 15 11. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 14
12.2. Informative References . . . . . . . . . . . . . . . . . . 16 12. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . . 15
13. References . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 16 13.1. Normative References . . . . . . . . . . . . . . . . . . . 16
13.2. Informative References . . . . . . . . . . . . . . . . . . 18
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 18
1. Introduction 1. Introduction
This document defines a reference peering architecture for the This document defines a reference peering architecture for the
Session Initiation Protocol (SIP)[RFC3261], it's functional Session Initiation Protocol (SIP)[RFC3261], it's functional
components and interfaces, in the context of session peering for components and interfaces, in the context of session peering for
multimedia interconnects. In this process, we define the peering multimedia interconnects. In this process, we define the peering
reference architecture, its functional components, and peering reference architecture, its functional components, and peering
interface functions from the perspective of a SIP Service Provider's interface functions from the perspective of a SIP Service Provider's
(SSP) [RFC5486] network. Thus, it also describes the components and (SSP) [RFC5486] network. Thus, it also describes the components and
the steps necessary to establish a session between two SSP peering the steps necessary to establish a session between two SSP peering
domains. domains.
An SSP may also be referred to as an Internet Telephony Service
Provider (ITSP). While the terms ITSP and SSP are frequently used
interchangeably, this document and other subsequent SIP peering-
related documents should use the term SSP. SSP more accurately
depicts the use of SIP as the underlying layer 5 signaling protocol.
This architecture enables the interconnection of two SSPs in layer 5 This architecture enables the interconnection of two SSPs in layer 5
peering, as defined in the SIP-based session peering requirements peering, as defined in the SIP-based session peering requirements
[I-D.ietf-speermint-requirements]. [I-D.ietf-speermint-requirements].
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 Session Peering for This document uses terminology defined in the Session Peering for
Multimedia Interconnect (SPEERMINT) Terminology document [RFC5486]. Multimedia Interconnect (SPEERMINT) Terminology document [RFC5486].
Apart from normative references included herein, readers may also Apart from normative references included herein, readers may also
find [I-D.ietf-speermint-voip-consolidated-usecases] informative. find [I-D.ietf-speermint-voip-consolidated-usecases] informative.
2. Reference Architecture 2. New Terminology
[RFC5486] is a key reference for the majority of the SPEERMINT-
related terminology used in this document. However, some additional
new terms are used here as follows in this section.
2.1. Session Border Controller (SBC)
A Session Border Controller (SBC) is referred to in Section 5. An
SBC can contain a Signaling Function (SF), Signaling Path Border
Element (SBE) and Data Path Border Element (DBE), and may perform the
Look-Up Function (LUF) and Location Routing Function (LRF) functions,
as described in Section 3. Whether the SBC performs one or more of
these functions is generally speaking dependent upon how a SIP
Service Provider (SSP) configures such a network element. In
addition, requirements for an SBC can be found in [RFC5853].
2.2. Carrier-of-Record
A carrier-of-record, as used in Section 6.1.2.2, is defined in
[RFC5067]. That document describes the term to refer to the entity
having discretion over the domain and zone content and acting as the
registrant for a telephone number, as represented in ENUM. This can
be:
o the Service Provider to which the E.164 number was allocated for
end user assignment, whether by the National Regulatory Authority
(NRA) or the International Telecommunication Union (ITU), for
instance, a code under "International Networks" (+882) or
"Universal Personal Telecommunications (UPT)" (+878) or,
o if the number is ported, the service provider to which the number
was ported, or
o where numbers are assigned directly to end users, the service
provider that the end user number assignee has chosen to provide a
Public Switched Telephone Network/Public Land Mobile Network
(PSTN/ PLMN) point-of-interconnect for the number.
It is understood that the definition of carrier-of-record within a
given jurisdiction is subject to modification by national
authorities.
3. Reference Architecture
The following figure depicts the architecture and logical functions The following figure depicts the architecture and logical functions
that form peering between two SSPs. that form peering between two SSPs.
For further details on the elements and functions described in this For further details on the elements and functions described in this
figure, please refer to [RFC5486]. The following terms, which appear figure, please refer to [RFC5486]. The following terms, which appear
in Figure 1, which are documented in [RFC5486] are reproduced here in Figure 1, which are documented in [RFC5486] are reproduced here
for simplicity. for simplicity.
- Data Path Border Element (DBE): A data path border element (DBE) is - Data Path Border Element (DBE): A data path border element (DBE) is
skipping to change at page 5, line 49 skipping to change at page 6, line 51
routing of SIP requests for establishing and maintaining calls, and routing of SIP requests for establishing and maintaining calls, and
to assist in the discovery or exchange of parameters to be used by to assist in the discovery or exchange of parameters to be used by
the Media Function (MF). The SF is a capability of SIP processing the Media Function (MF). The SF is a capability of SIP processing
elements such as SIP proxies, SBEs, and user agents. elements such as SIP proxies, SBEs, and user agents.
- SIP Service Provider (SSP): A SIP Service Provider (SSP) is an - SIP Service Provider (SSP): A SIP Service Provider (SSP) is an
entity that provides session services utilizing SIP signaling to its entity that provides session services utilizing SIP signaling to its
customers. In the event that the SSP is also a function of the SP, customers. In the event that the SSP is also a function of the SP,
it may also provide media streams to its customers. Such an SSP may it may also provide media streams to its customers. Such an SSP may
additionally be peered with other SSPs. An SSP may also interconnect additionally be peered with other SSPs. An SSP may also interconnect
with the PSTN. An SSP may also be referred to as an Internet with the PSTN.
Telephony Service Provider (ITSP). While the terms ITSP and SSP are
frequently used interchangeably, this document and other subsequent
SIP peering-related documents should use the term SSP. SSP more
accurately depicts the use of SIP as the underlying layer 5 signaling
protocol.
+=============++ ++==============+ +=============++ ++=============+
|| || || ||
+-----------+ +-----------+ +-----------+ +-----------+
| SBE | +-----+ | SBE | | SBE | +-----+ | SBE |
| +-----+ | SIP |Proxy| | +-----+ | | +-----+ | SIP |Proxy| | +-----+ |
| | LUF |<-|------>|ENUM | | | LUF | | | | LUF |<-|------>|ENUM | | | LUF | |
| +-----+ | ENUM |TN DB| | +-----+ | | +-----+ | ENUM |TN DB| | +-----+ |
SIP | | +-----+ | | SIP | | +-----+ | |
------>| +-----+ | DNS +-----+ | +-----+ | ------>| +-----+ | DNS +-----+ | +-----+ |
| | LRF |<-|------>|FQDN | | | LRF | | | | LRF |<-|------>|FQDN | | | LRF | |
| +-----+ | |IP | | +-----+ | | +-----+ | |IP | | +-----+ |
| +-----+ | SIP +-----+ | +-----+ | | +-----+ | SIP +-----+ | +-----+ |
| | SF |<-|----------------|->| SF | | | | SF |<-|----------------|->| SF | |
| +-----+ | | +-----+ | | +-----+ | | +-----+ |
+-----------+ +-----------+ +-----------+ +-----------+
|| ||
+-----------+ +-----------+
RTP | DBE | RTP | DBE |
------>| |--------------->| |
+-----------+ +-----------+
|| || || ||
SSP1 Network || || SSP2 Network +-----------+ +-----------+
+=============++ ++=============+ RTP | DBE | RTP | DBE |
------>| |--------------->| |
+-----------+ +-----------+
|| ||
SSP1 Network || || SSP2 Network
+=============++ ++=============+
Reference Architecture Reference Architecture
Figure 1 Figure 1
3. Procedures of Inter-Domain SSP Session Establishment 4. Procedures of Inter-Domain SSP Session Establishment
This document assumes that in order for a session to be established This document assumes that in order for a session to be established
from a User Agent (UA) in the originating (or indirect) SSP's network from a User Agent (UA) in the originating (or indirect) SSP's network
to an UA in the Target SSP's network the following steps are taken: to an UA in the Target SSP's network the following steps are taken:
1. Determine the target or indirect SSP via the LUF. (Note: If the 1. Determine the target or indirect SSP via the LUF. (Note: If the
target address represents an intra-SSP resource, the behavior is target address represents an intra-SSP resource, the behavior is
out-of-scope with respect to this draft.) out-of-scope with respect to this draft.)
2. Determine the address of the SF of the target SSP via the LRF. 2. Determine the address of the SF of the target SSP via the LRF.
3. Establish the session 3. Establish the session
4. Exchange the media, which could include voice, video, text, etc. 4. Exchange the media, which could include voice, video, text, etc.
5. End the session (BYE) 5. End the session (BYE)
The originating or indirect SSP would perform steps 1-4, the target
The originating or indirect SSP would likely perform steps 1-4, the SSP would perform steps 4, and either one can perform step 5.
target SSP would likely perform steps 4, and either one is likely to
perform step 5.
In the case the target SSP changes, then steps 1-4 would be repeated. In the case the target SSP changes, then steps 1-4 would be repeated.
This is reflected in Figure 1 that shows the target SSP with its own This is reflected in Figure 1 that shows the target SSP with its own
peering functions. peering functions.
4. Relationships Between Functions/Elements 5. Relationships Between Functions/Elements
o An SBE can contain a SF function. Please also refer to Figure 1.
o An SF can perform LUF and LRF functions. o An SBE can contain a Signaling Function (SF).
o An SF can perform a Look-Up Function (LUF) and Location Routing
Function (LRF).
o As an additional consideration, a Session Border Controller, can o As an additional consideration, a Session Border Controller, can
contain an SF, SBE and DBE, and may perform the LUF and LRF contain an SF, SBE and DBE, and may act as both an LUF and LRF.
functions.
o The following functions can communicate as follows, depending upon o The following functions may communicate as follows in an example
various real-world implementations: SSP network, depending upon various real-world implementations:
* SF can communicate with LUF, LRF, SBE and SF * SF may communicate with LUF, LRF, SBE and SF
* LUF can communicator with SF and SBE * LUF may communicate with SF and SBE
* LRF can communicate with SF and SBE * LRF may communicate with SF and SBE
5. Recommended SSP Procedures 6. 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 recommendations on the role they would play in a SIP call in a Layer
5 peering scenario. 5 peering scenario.
Some of the information in the section is taken from Some of the information in the section is taken from
[I-D.ietf-speermint-requirements] and is put here for continuity [I-D.ietf-speermint-requirements] and is included here for continuity
purposes. purposes. It is also important to refer to Section 3.2 of
[I-D.ietf-speermint-voipthreats], particularly with respect to the
use of IPSec and TLS.
5.1. Originating or Indirect SSP Procedures 6.1. Originating or Indirect SSP Procedures
This section describes the procedures of the originating or indirect This section describes the procedures of the originating or indirect
SSP. SSP.
5.1.1. The Look-Up Function (LUF) 6.1.1. The Look-Up Function (LUF)
The purpose of the LUF is to determine the SF of the target domain of The purpose of the LUF is to determine the SF of the target domain of
a given request and optionally to develop Session Establishment Data. a given request and optionally to develop Session Establishment Data.
It is important to note that the LUF may utilize the public e164.arpa It is important to note that the LUF may utilize the public e164.arpa
ENUM root, as well as one or more private roots. When private roots ENUM root, as well as one or more private roots. When private roots
are used specialized routing rules may be implemented, and these are used specialized routing rules may be implemented, and these
rules may vary depending upon whether an originating or indirect SSP rules may vary depending upon whether an originating or indirect SSP
is querying the LUF. is querying the LUF.
5.1.1.1. Target Address Analysis 6.1.1.1. Target Address Analysis
When the originating (or indirect) SSP receives a request to When the originating (or indirect) SSP receives a request to
communicate, it analyzes the target URI to determine whether the call communicate, it analyzes the target URI to determine whether the call
needs to be routed internal or external to its network. The analysis needs to be routed internal or external to its network. The analysis
method is internal to the SSP; thus, outside the scope of SPEERMINT. method is internal to the SSP; thus, outside the scope of SPEERMINT.
If the target address does not represent a resource inside the If the target address does not represent a resource inside the
originating (or indirect) SSP's administrative domain or federation originating (or indirect) SSP's administrative domain or federation
of domains, then the originating (or indirect) SSP performs a Lookup of domains, then the originating (or indirect) SSP performs a Lookup
Function (LUF) to determine a target address, and then is resolves Function (LUF) to determine a target address, and then it resolves
the call routing data by using the Location routing Function (LRF). 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 For example, if the request to communicate is for an im: or pres: URI
type [RFC3861] [RFC3953], the originating (or indirect) SSP follows type [RFC3861] [RFC3953], the originating (or indirect) SSP follows
the procedures in [RFC3861]. If the highest priority supported URI the procedures in [RFC3861]. If the highest priority supported URI
scheme is sip: or sips: the originating (or indirect) SSP skips to scheme is sip: or sips: the originating (or indirect) SSP skips to
SIP DNS resolution in Section 5.1.3. Likewise, if the target address SIP DNS resolution in Section 5.1.3. Likewise, if the target address
is already a sip: or sips: URI in an external domain, the originating is already a sip: or sips: URI in an external domain, the originating
(or indirect) SSP skips to SIP DNS resolution in Section 5.1.2.1. (or indirect) SSP skips to SIP DNS resolution in Section 6.1.2.1.
This may be the case, to use one example, with This may be the case, to use one example, with
"sips:bob@biloxi.example.com". "sips:bob@biloxi.example.com".
If the target address corresponds to a specific E.164 address, the 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 SSP may need to perform some form of number plan mapping according to
local policy. For example, in the United States, a dial string 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 SSP has an E.164 Kingdom "00 1" could be converted to "+1". Once the SSP has an E.164
address, it can use ENUM. address, it can use ENUM.
5.1.1.2. ENUM Lookup 6.1.1.2. ENUM Lookup
If an external E.164 address is the target, the originating (or If an external E.164 address is the target, the originating (or
indirect) SSP consults the public "User ENUM" rooted at e164.arpa, indirect) SSP consults the public "User ENUM" rooted at e164.arpa,
according to the procedures described in [RFC3761]. The SSP must according to the procedures described in [RFC3761]. The SSP must
query for the "E2U+sip" enumservice as described in [RFC3764], but query for the "E2U+sip" enumservice as described in [RFC3764], but
may check for other enumservices. The originating (or indirect) SSP may check for other enumservices. The originating (or indirect) SSP
may consult a cache or alternate representation of the ENUM data may consult a cache or alternate representation of the ENUM data
rather than actual DNS queries. Also, the SSP may skip actual DNS rather than actual DNS queries. Also, the SSP may skip actual DNS
queries if the originating (or indirect) SSP is sure that the target queries if the originating (or indirect) SSP is sure that the target
address country code is not represented in e164.arpa. address country code is not represented in e164.arpa.
If an im: or pres: URI is chosen based on an "E2U+im" [RFC3861] or If an im: or pres: URI is chosen based on an "E2U+im" [RFC3861] or
"E2U+pres" [RFC3953] enumserver, the SSP follows the procedures for "E2U+pres" [RFC3953] enumserver, the SSP 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 as SIP or
XMPP as described in the previous section. XMPP as described in the previous section.
The NAPTR response to the ENUM lookup may be a SIP AoR (such as The NAPTR response to the ENUM lookup may be a SIP AoR (such as
"sips:bob@example.com") or SIP URI (such as "sips:bob@example.com") or SIP URI (such as
"sips:bob@sbe1.biloxi.example.com"). In the case of when a SIP URI "sips:bob@sbe1.biloxi.example.com"). In the case of when a SIP URI
is returned, the originating (or indirect) SSP has sufficient routing is returned, the originating (or indirect) SSP has sufficient routing
information to locate the target SSP. In the case of when a SIP AoR information to locate the target SSP. In the case of when a SIP AoR
is returned, the SF then uses the LRF to determine the URI for more is returned, the SF then uses the LRF to determine the URI for more
explicitly locating the target SSP. explicitly locating the target SSP.
5.1.2. Location Routing Function (LRF) 6.1.2. Location Routing Function (LRF)
The LRF of an originating (or indirect) SSP analyzes target address The LRF of an originating (or indirect) SSP analyzes target address
and target domain identified by the LUF, and discovers the next hop and target domain identified by the LUF, and discovers the next hop
signaling function (SF) in a peering relationship. The resource to signaling function (SF) in a peering relationship. The resource to
determine the SF of the target domain might be provided by a third- determine the SF of the target domain might be provided by a third-
party as in the assisted-peering case. The following sections define party as in the assisted-peering case. The following sections define
mechanisms which may be used by the LRF. These are not in any mechanisms which may be used by the LRF. These are not in any
particular order and, importantly, not all of them may be used. particular order and, importantly, not all of them have to be used.
5.1.2.1. DNS Resolution 6.1.2.1. DNS Resolution
The originating (or indirect) SSP uses the procedures in Section 4 of The originating (or indirect) SSP uses the procedures in Section 4 of
[RFC3263] to determine how to contact the receiving SSP. To [RFC3263] to determine how to contact the receiving SSP. To
summarize the [RFC3263] procedure: unless these are explicitly summarize the [RFC3263] procedure: unless these are explicitly
encoded in the target URI, a transport is chosen using NAPTR records, encoded in the target URI, a transport is chosen using NAPTR records,
a port is chosen using SRV records, and an address is chosen using A a port is chosen using SRV records, and an address is chosen using A
or AAAA records. or AAAA records.
When communicating with another SSP, entities compliant to this When communicating with another SSP, entities compliant to this
document should select a TLS-protected transport for communication document should select a TLS-protected transport for communication
from the originating (or indirect) SSP to the receiving SSP if from the originating (or indirect) SSP to the receiving SSP if
available, as described further in Section 5.2.1. available, as described further in Section 6.2.1.
5.1.2.2. Routing Table 6.1.2.2. Routing Table
If there are no End User ENUM records and the originating (or If there are no End User ENUM records and the originating (or
indirect) SSP cannot discover the carrier-of-record or if the indirect) SSP cannot discover the carrier-of-record or if the
originating (or indirect) SSP cannot reach the carrier-of-record via originating (or indirect) SSP cannot reach the carrier-of-record via
SIP peering, the originating (or indirect) SSP may deliver the call SIP peering, the originating (or indirect) SSP may deliver the call
to the PSTN or reject it. Note that the originating (or indirect) to the PSTN or reject it. Note that the originating (or indirect)
SSP may forward the call to another SSP for PSTN gateway termination SSP may forward the call to another SSP for PSTN gateway termination
by prior arrangement using the routing table. by prior arrangement using the local SIP proxy routing table.
If so, the originating (or indirect) SSP rewrites the Request-URI to If so, the originating (or indirect) SSP rewrites the Request-URI to
address the gateway resource in the target SSP's domain and may address the gateway resource in the target SSP's domain and may
forward the request on to that SSP using the procedures described in forward the request on to that SSP using the procedures described in
the remainder of these steps. the remainder of these steps.
5.1.2.3. LRF to LRF Routing 6.1.2.3. LRF to LRF Routing
Communications between the LRF of two interconnecting SSPs may use Communications between the LRF of two interconnecting SSPs may use
DNS or statically provisioned IP Addresses for reachability. Other DNS or statically provisioned IP Addresses for reachability. Other
inputs to determine the path may be code-based routing, method-based inputs to determine the path may be code-based routing, method-based
routing, Time of day, least cost and/or source-based routing. routing, Time of day, least cost and/or source-based routing.
5.1.3. The Signaling Path Border Element (SBE) 6.1.3. The Signaling Path Border Element (SBE)
The purpose of signaling function is to perform routing of SIP The purpose of signaling function is to perform routing of SIP
messages as well as optionally implement security and policies on SIP messages as well as optionally implement security and policies on SIP
messages, and to assist in discovery/exchange of parameters to be messages, and to assist in discovery/exchange of parameters to be
used by the Media Function (MF). The signaling function performs the used by the Media Function (MF). The signaling function performs the
routing of SIP messages. The SBE may be a B2BUA or it may act as a routing of SIP messages. The SBE may be a B2BUA or it may act as a
SIP proxy. Optionally, a SF may perform additional functions such as SIP proxy. Optionally, an SF may perform additional functions such
Session Admission Control, SIP Denial of Service protection, SIP as Session Admission Control, SIP Denial of Service protection, SIP
Topology Hiding, SIP header normalization, SIP security, privacy, and Topology Hiding, SIP header normalization, SIP security, privacy, and
encryption. The SF of a SBE can also process SDP payloads for media encryption. The SF of an SBE can also process SDP payloads for media
information such as media type, bandwidth, and type of codec; then, information such as media type, bandwidth, and type of codec; then,
communicate this information to the media function. communicate this information to the media function.
5.1.3.1. Establishing a Trusted Relationship 6.1.3.1. Establishing a Trusted Relationship
Depending on the security needs and trust relationships between SSPs, Depending on the security needs and trust relationships between SSPs,
different security mechanism can be used to establish SIP calls. different security mechanisms can be used to establish SIP calls.
These are discussed in the following subsections. These are discussed in the following subsections.
5.1.3.2. IPSec 6.1.3.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 a
security mechanism instead of TLS. security mechanism instead of TLS.
5.1.3.3. Co-Location 6.1.3.3. Co-Location
In this scenario the SFs are co-located in a physically secure In this scenario the SFs are co-located in a physically secure
location and/or are members of a segregated network. In this case location and/or are members of a segregated network. In this case
messages between the originating and terminating SSPs would be sent messages between the originating and terminating SSPs could be sent
as clear text. as clear text (unencrypted). However, even in these semi-trusted co-
location facilities, other security or access control mechanisms may
be appropriate, such as IP access control lists or other mechanisms.
5.1.3.4. Sending the SIP Request 6.1.3.4. Sending the SIP Request
Once a trust relationship between the peers is established, the Once a trust relationship between the peers is established, the
originating (or indirect) SSP sends the request. originating (or indirect) SSP sends the request.
5.2. Target SSP Procedures 6.2. Target SSP Procedures
This section describes the Target SSP Procedures. This section describes the Target SSP Procedures.
5.2.1. TLS 6.2.1. TLS
The section defines uses of TLS between two SSPs [RFC5246] [RFC5746] The section defines the usage of TLS between two SSPs [RFC5246]
[RFC5878]. When the receiving SSP receives a TLS client hello, it [RFC5746] [RFC5878]. When the receiving SSP receives a TLS client
responds with its certificate. The Target SSP certificate should be hello, it responds with its certificate. The Target SSP certificate
valid and rooted in a well-known certificate authority. The should be valid and rooted in a well-known certificate authority.
procedures to authenticate the SSP's originating domain are specified The procedures to authenticate the SSP's originating domain are
in [RFC5922]. specified in [RFC5922].
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, corresponds to the message, corresponds to the Identity-Info header,
and that the domain in the From header corresponds to one of the and that the domain in the From header corresponds to one of the
domains in the TLS client certificate. domains in the TLS client certificate.
5.2.2. Receive SIP Requests As noted above in Section 6.1.3.2, some deployments may utilize IPSec
rather than TLS.
6.2.2. Receive SIP Requests
Once a trust relationship is established, the Target SSP is prepared Once a trust relationship is established, the Target SSP is prepared
to receive incoming SIP requests. For new requests (dialog forming to receive incoming SIP requests. For new requests (dialog forming
or not) the receiving SSP verifies if the target (request-URI) is a or not) the receiving SSP verifies if the target (request-URI) is a
domain that for which it is responsible. For these requests, there domain that for which it is responsible. For these requests, there
should be no remaining Route header field values. For in-dialog should be no remaining Route header field values. For in-dialog
requests, the receiving SSP can verify that it corresponds to the requests, the receiving SSP can verify that it corresponds to the
top-most Route header field value. top-most Route header field value.
The receiving SSP may reject incoming requests due to local policy. The receiving SSP may reject incoming requests due to local policy.
When a request is rejected because the originating (or indirect) SSP When a request is rejected because the originating (or indirect) SSP
is not authorized to peer, the receiving SSP should respond with a is not authorized to peer, the receiving SSP should respond with a
403 response with the reason phrase "Unsupported Peer". 403 response with the reason phrase "Unsupported Peer".
5.3. Data Path Border Element (DBE) 6.3. Data Path Border Element (DBE)
The purpose of the DBE [RFC5486] is to perform media related The purpose of the DBE [RFC5486] is to perform media related
functions such as media transcoding and media security implementation functions such as media transcoding and media security implementation
between two SSPs. between two SSPs.
An example of this is to transform a voice payload from one codec 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 (e.g., G.711) to another (e.g., EvRC). Additionally, the MF may
perform media relaying, media security [RFC3711], privacy, and perform media relaying, media security [RFC3711], privacy, and
encryption. encryption.
6. Address Space Considerations 7. Address Space Considerations
Peering must occur in a common IP address space, which is defined by 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 the federation, which may be entirely on the public Internet, or some
private address space [RFC1918]. The origination or termination private address space [RFC1918]. The origination or termination
networks may or may not entirely be in the same address space. If networks may or may not entirely be in the same address space. If
they are not, then a network address translation (NAT) or similar may they are not, then a network address translation (NAT) or similar may
be needed before the signaling or media is presented correctly to the be needed before the signaling or media is presented correctly to the
federation. The only requirement is that all associated entities federation. The only requirement is that all associated entities
across the peering interface are reachable. across the peering interface are reachable.
7. Acknowledgments 8. Acknowledgments
The working group would like to thank John Elwell, Otmar Lendl, Rohan The working group would like to thank John Elwell, Otmar Lendl, Rohan
Mahy, Alexander Mayrhofer, Jim McEachern, Jean-Francois Mule, Mahy, Alexander Mayrhofer, Jim McEachern, Jean-Francois Mule,
Jonathan Rosenberg, and Dan Wing for their valuable contributions to Jonathan Rosenberg, and Dan Wing for their valuable contributions to
various versions of this document. various versions of this document.
8. IANA Considerations 9. IANA Considerations
This memo includes no request to IANA. This memo includes no request to IANA.
9. Security Considerations 10. Security Considerations
In all cases, cryptographic-based security should be maintained as an The level (or types) of security mechanisms implemented between
optional requirement between peering providers conditioned on the peering providers is in practice dependent upon on the underlying
presence or absence of underlying physical security of SSP physical security of SSP connections. This means, as noted in
connections, e.g. within the same secure physical building. Section 6.1.3.3, whether peering equipment is in a secure facility or
not may bear on other types of security mechanisms which may be
appropriate. Thus, if two SSPs peered across public Internet links,
they are likely to use IPSec or TLS since the link between the two
domains should be considered untrusted.
In order to maintain a consistent approach, unique and specialized Many detailed and highly relevant security requirements for SPEERMINT
security requirements common for the majority of peering have been documented in Section 5 of
relationships, should be standardized within the IETF. These [I-D.ietf-speermint-requirements]. As a result, that document should
standardized methods may enable capabilities such as dynamic peering be considered required reading.
relationships across publicly maintained interconnections.
Additional security considerations have been documented separately in Additional and important security considerations have been documented
[I-D.ietf-speermint-voipthreats]. separately in [I-D.ietf-speermint-voipthreats]. This document
describes the many relevant security threats to SPEERMINT, as well
the relevant countermeasures and security protections which are
recommended to combat any potential threats or other risks. This
includes a wide range of detailed threats in Section 2 of
[I-D.ietf-speermint-voipthreats]. It also includes key requirements
in Section 3.1 of [I-D.ietf-speermint-voipthreats], such as the
requirement for the LUF and LRF to support mutual authentication for
queries, among other requirements which are related to
[I-D.ietf-speermint-requirements]. Section 3.2 of
[I-D.ietf-speermint-voipthreats] explains how to meet these security
requirements, and then Section 4 explores a wide range of suggested
countermeasures.
10. Contributors 11. Contributors
Mike Hammer Mike Hammer
Cisco Systems Cisco Systems
Herndon, VA - USA Herndon, VA - USA
Email: mhammer@cisco.com Email: mhammer@cisco.com
-------------------------------------------------------------- --------------------------------------------------------------
skipping to change at page 14, line 32 skipping to change at page 15, line 40
-------------------------------------------------------------- --------------------------------------------------------------
Adam Uzelac Adam Uzelac
Global Crossing Global Crossing
Rochester, NY - USA Rochester, NY - USA
Email: adam.uzelac@globalcrossing.com Email: adam.uzelac@globalcrossing.com
11. Change Log 12. Change Log
NOTE TO RFC EDITOR: PLEASE REMOVE THIS SECTION PRIOR TO PUBLICATION. NOTE TO RFC EDITOR: PLEASE REMOVE THIS SECTION PRIOR TO PUBLICATION.
o 18: Made several changes based on feedback from Adrian Farrel,
Bert Wijnen, Dan Romascanu, Avshalom Houri, Russ Housley, Sean
Turner, Tim Polk, and Russ Mundy during IESG review.
o 17: Misc. updates at the request of Gonzalo, the RAI AD, in order o 17: Misc. updates at the request of Gonzalo, the RAI AD, in order
to clear his review and move to the IESG. This included adding to clear his review and move to the IESG. This included adding
terminology from RFC 5486 and expanding the document name. terminology from RFC 5486 and expanding the document name.
o 16: Yes, one final outdated reference to fix. o 16: Yes, one final outdated reference to fix.
o 15: Doh! Uploaded the wrong doc to create -14. Trying again. :-) o 15: Doh! Uploaded the wrong doc to create -14. Trying again. :-)
o 14: WGLC ended. Ran final nits check prior to sending proto to o 14: WGLC ended. Ran final nits check prior to sending proto to
the AD and sending the doc to the IESG. Found a few very minor the AD and sending the doc to the IESG. Found a few very minor
skipping to change at page 15, line 15 skipping to change at page 16, line 25
o 13: Closed out all remaining tickets, resolved all editorial o 13: Closed out all remaining tickets, resolved all editorial
notes. notes.
o 12: Closed out several open issues. Properly XML-ized all o 12: Closed out several open issues. Properly XML-ized all
references. Updated contributors list. references. Updated contributors list.
o 11: Quick update to refresh the I-D since it expired, and cleaned o 11: Quick update to refresh the I-D since it expired, and cleaned
up some of the XML for references. A real revision is coming up some of the XML for references. A real revision is coming
soon. soon.
12. References 13. References
12.1. Normative References 13.1. Normative References
[I-D.ietf-speermint-requirements] [I-D.ietf-speermint-requirements]
Mule, J., "Requirements for SIP-based Session Peering", Mule, J., "Requirements for SIP-based Session Peering",
draft-ietf-speermint-requirements-10 (work in progress), draft-ietf-speermint-requirements-10 (work in progress),
October 2010. October 2010.
[I-D.ietf-speermint-voipthreats] [I-D.ietf-speermint-voipthreats]
Seedorf, J., Niccolini, S., Chen, E., and H. Scholz, Seedorf, J., Niccolini, S., Chen, E., and H. Scholz,
"Session Peering for Multimedia Interconnect (SPEERMINT) "Session Peering for Multimedia Interconnect (SPEERMINT)
Security Threats and Suggested Countermeasures", Security Threats and Suggested Countermeasures",
draft-ietf-speermint-voipthreats-06 (work in progress), draft-ietf-speermint-voipthreats-07 (work in progress),
November 2010. January 2011.
[RFC1035] Mockapetris, P., "Domain names - implementation and [RFC1035] Mockapetris, P., "Domain names - implementation and
specification", STD 13, RFC 1035, November 1987. specification", STD 13, RFC 1035, November 1987.
[RFC1918] Rekhter, Y., Moskowitz, R., Karrenberg, D., Groot, G., and [RFC1918] Rekhter, Y., Moskowitz, R., Karrenberg, D., Groot, G., and
E. Lear, "Address Allocation for Private Internets", E. Lear, "Address Allocation for Private Internets",
BCP 5, RFC 1918, February 1996. BCP 5, RFC 1918, February 1996.
[RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
A., Peterson, J., Sparks, R., Handley, M., and E. A., Peterson, J., Sparks, R., Handley, M., and E.
skipping to change at page 16, line 18 skipping to change at page 17, line 28
Initiation Protocol (SIP) Addresses-of-Record", RFC 3764, Initiation Protocol (SIP) Addresses-of-Record", RFC 3764,
April 2004. April 2004.
[RFC3861] Peterson, J., "Address Resolution for Instant Messaging [RFC3861] Peterson, J., "Address Resolution for Instant Messaging
and Presence", RFC 3861, August 2004. and Presence", RFC 3861, August 2004.
[RFC3953] Peterson, J., "Telephone Number Mapping (ENUM) Service [RFC3953] Peterson, J., "Telephone Number Mapping (ENUM) Service
Registration for Presence Services", RFC 3953, Registration for Presence Services", RFC 3953,
January 2005. January 2005.
[RFC5067] Lind, S. and P. Pfautz, "Infrastructure ENUM
Requirements", RFC 5067, November 2007.
[RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security
(TLS) Protocol Version 1.2", RFC 5246, August 2008. (TLS) Protocol Version 1.2", RFC 5246, August 2008.
[RFC5486] Malas, D. and D. Meyer, "Session Peering for Multimedia [RFC5486] Malas, D. and D. Meyer, "Session Peering for Multimedia
Interconnect (SPEERMINT) Terminology", RFC 5486, Interconnect (SPEERMINT) Terminology", RFC 5486,
March 2009. March 2009.
[RFC5746] Rescorla, E., Ray, M., Dispensa, S., and N. Oskov, [RFC5746] Rescorla, E., Ray, M., Dispensa, S., and N. Oskov,
"Transport Layer Security (TLS) Renegotiation Indication "Transport Layer Security (TLS) Renegotiation Indication
Extension", RFC 5746, February 2010. Extension", RFC 5746, February 2010.
[RFC5853] Hautakorpi, J., Camarillo, G., Penfield, R., Hawrylyshen,
A., and M. Bhatia, "Requirements from Session Initiation
Protocol (SIP) Session Border Control (SBC) Deployments",
RFC 5853, April 2010.
[RFC5878] Brown, M. and R. Housley, "Transport Layer Security (TLS) [RFC5878] Brown, M. and R. Housley, "Transport Layer Security (TLS)
Authorization Extensions", RFC 5878, May 2010. Authorization Extensions", RFC 5878, May 2010.
[RFC5922] Gurbani, V., Lawrence, S., and A. Jeffrey, "Domain [RFC5922] Gurbani, V., Lawrence, S., and A. Jeffrey, "Domain
Certificates in the Session Initiation Protocol (SIP)", Certificates in the Session Initiation Protocol (SIP)",
RFC 5922, June 2010. RFC 5922, June 2010.
12.2. Informative References 13.2. Informative References
[I-D.ietf-speermint-voip-consolidated-usecases] [I-D.ietf-speermint-voip-consolidated-usecases]
Uzelac, A. and Y. Lee, "VoIP SIP Peering Use Cases", Uzelac, A. and Y. Lee, "VoIP SIP Peering Use Cases",
draft-ietf-speermint-voip-consolidated-usecases-18 (work draft-ietf-speermint-voip-consolidated-usecases-18 (work
in progress), April 2010. in progress), April 2010.
[RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K. [RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K.
Norrman, "The Secure Real-time Transport Protocol (SRTP)", Norrman, "The Secure Real-time Transport Protocol (SRTP)",
RFC 3711, March 2004. RFC 3711, March 2004.
 End of changes. 67 change blocks. 
145 lines changed or deleted 224 lines changed or added

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