[Speermint] Current -08 Architecture Draft

Jason Livingood <jason_livingood@cable.comcast.com> Tue, 10 November 2009 04:12 UTC

Return-Path: <jason_livingood@cable.comcast.com>
X-Original-To: speermint@core3.amsl.com
Delivered-To: speermint@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 1CA5D28B56A for <speermint@core3.amsl.com>; Mon, 9 Nov 2009 20:12:55 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.698
X-Spam-Level:
X-Spam-Status: No, score=-1.698 tagged_above=-999 required=5 tests=[AWL=-4.699, BAYES_00=-2.599, HELO_EQ_MODEMCABLE=0.768, HOST_EQ_MODEMCABLE=1.368, HTML_MESSAGE=0.001, MIME_QP_LONG_LINE=1.396, RCVD_NUMERIC_HELO=2.067]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id vwktTyvTrOFq for <speermint@core3.amsl.com>; Mon, 9 Nov 2009 20:12:34 -0800 (PST)
Received: from paoakoavas09.cable.comcast.com (paoakoavas09.cable.comcast.com [208.17.35.58]) by core3.amsl.com (Postfix) with ESMTP id 2FF7F3A6822 for <speermint@ietf.org>; Mon, 9 Nov 2009 20:12:34 -0800 (PST)
Received: from ([10.195.246.152]) by paoakoavas09.cable.comcast.com with ESMTP id KP-NTF18.82165313; Mon, 09 Nov 2009 23:12:40 -0500
Received: from PACDCEXCMB04.cable.comcast.com ([24.40.15.86]) by NJMDCEXCRLY01.cable.comcast.com with Microsoft SMTPSVC(6.0.3790.3959); Mon, 9 Nov 2009 23:12:40 -0500
Received: from 133.93.17.128 ([133.93.17.128]) by PACDCEXCMB04.cable.comcast.com ([24.40.15.86]) via Exchange Front-End Server webmail.comcast.com ([24.40.8.152]) with Microsoft Exchange Server HTTP-DAV ; Tue, 10 Nov 2009 04:12:40 +0000
User-Agent: Microsoft-Entourage/12.20.0.090605
Date: Tue, 10 Nov 2009 13:12:35 +0900
From: Jason Livingood <jason_livingood@cable.comcast.com>
To: speermint@ietf.org
Message-ID: <C71F1743.167A8%jason_livingood@cable.comcast.com>
Thread-Topic: Current -08 Architecture Draft
Thread-Index: AcphvAgImeRbdYiQ/0OK3LrIVYdhOw==
Mime-version: 1.0
Content-type: multipart/alternative; boundary="B_3340703556_372928"
X-OriginalArrivalTime: 10 Nov 2009 04:12:40.0979 (UTC) FILETIME=[0B98CE30:01CA61BC]
X-Mailman-Approved-At: Mon, 09 Nov 2009 20:15:33 -0800
Subject: [Speermint] Current -08 Architecture Draft
X-BeenThere: speermint@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Mailing list for the speermint working group <speermint.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/speermint>, <mailto:speermint-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/speermint>
List-Post: <mailto:speermint@ietf.org>
List-Help: <mailto:speermint-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/speermint>, <mailto:speermint-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 10 Nov 2009 04:12:55 -0000

SPEERMINT Peering Architecture
draft-ietf-speermint-architecture-09
Status of this Memo
 
   This Internet-Draft is submitted to IETF in full conformance with the
   provisions of BCP 78 and BCP 79.
 
   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.
 
   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."
 
   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.
 
   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.
 
   This Internet-Draft will expire on May 26, 2010.
 
Copyright Notice
 
   Copyright (c) 2009 IETF Trust and the persons identified as the
   document authors.  All rights reserved.
 
   This document is subject to BCP 78 and the IETF Trust's Legal Provisions
   Relating to IETF Documents (http://trustee.ietf.org/license-info)
   in effect on the date of publication of this document. Please
   review these documents carefully, as they describe your rights and
   restrictions with respect to this document.  Code Components
   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
This document defines the SPEERMINT peering architecture, its functional
components and peering interface functions. It also describes the steps
taken to establish a session between two peering domains in the context of
the functions defined.
Table of Contents
 
1. Introduction. 2
2. Reference SPEERMINT Architecture. 4
3. Procedures of Inter-domain SSP Session Establishment. 4
3.1. Relationships between functions/elements... 5
4. Recommended SSP Procedures. 5
4.1. Originating SSP Procedures... 5
4.1.1. The Look-Up Function (LUF) 5
4.1.1.1. Target Address Analysis.. 6
4.1.1.2. ENUM Lookup.. 6
4.1.2. Location Routing Function (LRF) 6
4.1.2.1. DNS Resolution.. 7
4.1.2.2. Routing Table.. 7
4.1.2.3. LRF to LRF Routing.. 7
4.1.3. The Signaling Path Border Element (SBE) 7
4.1.3.1. Establishing a Trusted Relationship.. 8
4.1.3.2. Sending the SIP request.. 8
4.2. Target SSP Procedures... 8
4.2.1. The Ingress Signaling Path Border Element (SBE) 8
4.2.1.1. TLS.. 8
4.2.1.2. Receive SIP requests.. 9
4.3. Data Path Border Element (DBE)... 9
5. Address space considerations. 9
6. Security Considerations. 9
7. IANA Considerations. 10
8. Acknowledgments. 10
9. References. 11
9.1. Normative References... 11
9.2. Informative References... 12
Author's Addresses. 13
 
 
1. Introduction   
The objective of this document is to define a reference peering architecture
in the context of Session PEERing for Multimedia INTerconnect (SPEERMINT).
In this process, we define the peering reference architecture, its
functional components, and peering interface functions from the perspective
of a SIP Service provider¹s (SSP) network.
This architecture allows the interconnection of two SSPs in layer 5 peering
as defined in the SPEERMINT Requirements [14] and Terminology [13]
documents.
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 Layer 5 protocol
aspects.  
This document uses terminology defined in the SPEERMINT Terminology document
[13], so the reader should be familiar with all the terms defined there.
In this document, the key words "MUST", "MUST NOT", "REQUIRED",  "SHALL",
"SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL"
are to be interpreted as described in [RFC2119].
 
2. Reference SPEERMINT Architecture
Figure 2 depicts the SPEERMINT architecture and logical functions that form
the peering between two SSPs.
 
  ---------------                         ---------------
  /              \                       /              \
 |    +--LUF-+     |       +------+       |     +--LUF-+    |
 | |->|      |     |       | ENUM |       |     |      |<-| |
 | |  |      +------------>| TN DB|<------------+     |  | |
 | |  |      |     |       +------+       |     |      |  | |
 | |  +------+     |                     |    +------+  | |
 | |              |                      |              | |
 | |  +--LRF-+     |      +--------+      |     +--LRF-+  | |
 | |->|     |     |      | DNS    |      |     |      |<-| |
 | |  |      +----------->|IP Addrs|<-----------+     |  | |
 | |  |      |     |      +--------+      |     |      |  | |
 | |  +------+     |                     |    +------+  | |
 | |              |                     |              | |
 | |              |                     |              | |
 | |          +-------+             +-------+           | |
 | ----------->|       |             |      |<----------- |
 |            |  SBE  |<------------>|  SBE  |            |
 |            |      |             |      |            |
 |            +-------+             +-------+            |
 |    SSP1        |                     |      SSP2     |
 |            +-------+             +-------+            |
 |            |      |             |      |            |
 |            |  DBE  |<------------>|  DBE  |             |
 |            |      |             |      |            |
 |            +-------+             +-------+            |
  \              /                       \              /
  ---------------                         ---------------
Figure 1: Reference SPEERMINT Architecture
 
For further details on the elements and functions described in this figure,
please refer to [RFC 5486].
 
3. Procedures of Inter-domain SSP Session Establishment
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
following steps are taken:
1.  Determine the target SSP via the LUF.
a.  If the target address represents an intra-SSP resource, the behavior is
out-of-scope with respect to this draft.
2.  Determine the address of the SF of the target SSP via the LRF.
3.  Establish the session
4.  Exchange the media, which could include voice, video, tec, etc.
5.  End the session (BYE)
The originating SSP would likely perform steps 1-4, and the target SSP would
likely perform steps 4-5.
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. 
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
recommendations on the role they would play in a SIP call in a Layer 5
peering scenario. 
Some of the information in the section is taken from [14] and is put here
for continuity purposes.
4.1. Originating SSP Procedures
4.1.1. The Look-Up Function (LUF)
Purpose is to determine the SF of the target domain of a given request and
optionally develop Session Establishment Data.
4.1.1.1. Target Address Analysis
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
external to its network. The analysis method is internal to the SSP; thus,
outside the scope of SPEERMINT.
If the target address does not represent a resource inside the originating
SSP¹s administrative domain or federation of domains, then the originating
SSP 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 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
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 resolution in Section 4.1.2.1.
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 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".  Once the SSP has an E.164 address, it can use ENUM.
 
4.1.1.2. ENUM Lookup
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 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 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 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 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 specific protocols such a SIP or XMPP as described in the previous
section. 
 
4.1.2. Location Routing Function (LRF)
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 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.
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.
 
4.1.2.1. DNS Resolution
The originating SSP uses the procedures in RFC 3263 [4] Section 4 to
determine how to contact the receiving SSP.  To summarize the RFC 3263
procedure: unless these are explicitly 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 or AAAA records.
When communicating with another SSP, entities compliant to this document
should select a TLS-protected transport for communication from the
originating SSP to the receiving SSP if available.
 
4.1.2.2. Routing Table
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-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 for PSTN gateway termination by prior arrangement using
the routing table. 
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 using the procedures described in the remainder of these steps.
4.1.2.3. LRF to LRF Routing
Communications between the LRF of two interconnecting SSPs may use DNS or
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.
4.1.3. The Signaling Path Border Element (SBE)
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 discovery/exchange of parameters to be used by the Media Function
(MF). 
The signaling function performs the routing of SIP messages. The optional
termination and re-initiation of calls may be performed by the signaling
path Session Border Element (SBE), or other signaling elements.
Optionally, a SF may perform additional functions such as Session Admission
Control, SIP Denial of Service protection, SIP Topology Hiding, SIP header
normalization, SIP security, privacy, and encryption.
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 the media function. Signaling function may optionally communicate with
the network to pass Layer 3 related policies [10]
4.1.3.1. Establishing a Trusted Relationship
Depending on the security needs and trust relationships between SSPs,
different security mechanism can be used to establish SIP calls. These are
discussed in the following subsections.
4.1.3.1.1. IPSec 
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 of TLS.
 
4.1.3.1.2. Co-Location
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 originating and terminating SSPs would be sent as clear text.
4.1.3.2. Sending the SIP request
Once a trust relationship between the peers is established, the originating
SSP sends the request.
 
4.2. Target SSP Procedures
4.2.1. The Ingress Signaling Path Border Element (SBE)
4.2.1.1. TLS 
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-known certificate authority. The procedures to authenticate the SSP¹s
originating domain are specified in [24].
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 the domain in the From header corresponds to one of the domains in the
TLS client certificate.
4.2.1.2. Receive SIP requests
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 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 field values. For in-dialog requests, the receiving SSP can
verify that it corresponds to the top-most Route header field value.
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 receiving SSP should respond with a 403 response with the reason phrase
"Unsupported Peer".
4.3. Data Path Border Element (DBE)
The purpose of the DBE [RFC 5486] is to perform media related functions such
as 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) to another (e.g., EvRC). Additionally, the MF may perform media
relaying, media security, privacy, and encryption.
 
5. Address space considerations
 
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
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 translation (NAT) or similar may be needed before the signaling or
media is presented correctly to the federation. The only requirement is that
all associated entities across the peering interface are reachable.
 
6. Security Considerations
 
In all cases, cryptographic-based security should be maintained as an
optional requirement between peering providers conditioned on the presence
or absence of underlying physical security of SSP connections, e.g. within
the same secure physical building.
In order to maintain a consistent approach, unique and specialized security
requirements common for the majority of peering relationships, should be
standardized within the IETF.  These standardized methods may enable
capabilities such as dynamic peering relationships across publicly
maintained interconnections.
7. IANA Considerations
  There are no IANA considerations at this time.
 
8. Acknowledgments 
  The working group thanks Sohel Khan for his initial architecture
  draft that helped to initiate work on this draft.
 
  A significant portion of this draft is taken from [14] with
  permission from the author R. Mahy. The other important contributor
  is Otmar Lendl. Special thanks to Jim McEachern for detailed comments and
  feedback.

9. References
9.1. Normative References
[1]      Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997.
[2]      Mealling, M. and R. Daniel, "The Naming Authority Pointer (NAPTR)
DNS Resource Record", RFC 2915, September 2000.
[3]      Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A.,
Peterson, J., Sparks, R., Handley, M., and E. Schooler, "SIP: Session
Initiation Protocol", RFC 3261, June 2002.
[4]      Rosenberg, J. and H. Schulzrinne, "Session Initiation Protocol
(SIP): Locating SIP Servers", RFC 3263, June 2002.
[5]      Blake-Wilson, S., Nystrom, M., Hopwood, D., Mikkelsen, J., and T.
Wright, "Transport Layer Security (TLS) Extensions", RFC 4366, April 2006.
[6]      Schulzrinne, H., Casner, S., Frederick, R., and V. Jacobson, "RTP:
A Transport Protocol for Real-Time Applications", STD 64, RFC 3550, July
2003. 
[7]      Peterson, J., Liu, H., Yu, J., and B. Campbell, "Using E.164
numbers with the Session Initiation Protocol (SIP)", RFC 3824, June 2004.
[8]      Peterson, J., "Address Resolution for Instant Messaging and
Presence",RFC 3861, August 2004.
[9]      Peterson, J., "Telephone Number Mapping (ENUM) Service Registration
for Presence Services", RFC 3953, January 2005.
[10]    ETSI TS 102 333: " Telecommunications and Internet converged
Services and Protocols for Advanced Networking (TISPAN); Gate control
protocol". 
[11]    Peterson, J., "enumservice registration for Session Initiation
Protocol (SIP) Addresses-of-Record", RFC 3764, April 2004.
[12]    Livingood, J. and R. Shockey, "IANA Registration for an
Enumservice Containing PSTN Signaling Information", RFC 4769, November 2006.
9.2. Informative References
[13]    Malas, D., "SPEERMINT Terminology",
draft-ietf-speermint-terminology-16 (work in progress), February 2008.
[14]    Mule, J-F., "SPEERMINT Requirements for SIP-based VoIP
Interconnection", draft-ietf-speermint-requirements-04.txt, February 2008.
[15]    Mahy, R., "A Minimalist Approach to Direct Peering", draft-
mahy-speermint-direct-peering-02.txt, July 2007.
[16]    Penno, R., et al., "SPEERMINT Routing Architecture Message
Flows", draft-ietf-speermint-flows-02.txt", April 2007.
[17]    Houri, A., et al., "RTC Provisioning Requirements", draft-
houri-speermint-rtc-provisioning-reqs-00.txt, June, 2006.
[18]    Habler, M., et al., "A Federation based VOIP Peering
Architecture", draft-lendl-speermint-federations-03.txt, September 2006.
[19]    Mahy, R., "A Telephone Number Mapping (ENUM) Service
Registration for Instant Messaging (IM) Services", draft-ietf-
enum-im-service-03 (work in progress), March 2006.
[20]    Haberler, M. and R. Stastny, "Combined User and Carrier ENUM in the
e164.arpa tree", draft-haberler-carrier-enum-03 (work in progress), March
2006. 
[21]    Penno, R., Malas D., and Melampy, P., "A Session Initiation
Protocol (SIP) Event package for Peering",
draft-penno-sipping-peering-package-00 (work in progress), September 2006.
[22]    Hollander, D., Bray, T., and A. Layman, "Namespaces in XML", W3C REC
REC-xml-names-19990114, January 1999.
[23]    Burger, E (Ed.), "A Mechanism for Content Indirection in
Session Initiation Protocol (SIP) Messages", RFC 4483, May 2006
[24]    Gurbani, V., Lawrence, S., and B. Laboratories, "Domain Certificates
in the Session Initiation Protocol (SIP)", draft-ietf-sip-domain-certs-00
<http://potaroo.net/ietf/idref/draft-ietf-sip-hitchhikers-guide/rfcmarkup?re
pository=/away/ietf&url=/away/ietf/all-ids/draft-ietf-sip-domain-certs-00>
(work in progress), November 2007.
Author's Addresses
Adam Uzelac 
Global Crossing 
Rochester, NY - USA
Email: adam.uzelac@globalcrossing.com
 
Reinaldo Penno
Juniper Networks 
Sunnyvale, CA - USA
Email: rpenno@juniper.net
 
Mike Hammer 
Cisco Systems 
Herndon, VA - USA
Email: mhammer@cisco.com
    
Sohel Khan, Ph.D. 
Comcast Cable Communications
USA
Email: sohel_khan@cable.comcast.com
    
Daryl Malas 
CableLabs
Louisville, CO - USA
Email: d.malas@cablelabs.com <mailto: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