Speermint Working Group                                        R. Penno
Internet Draft                                         Juniper Networks
Intended status: Informational                                 D. Malas
Expires: August September 2008                                            Level 3                                       CableLabs
                                                                S. Khan
                                                                Comcast
                                                              A. Uzelac
                                                        Global Crossing
                                                      February 24,
                                                              M. Hammer
                                                          Cisco Systems
                                                            May 2, 2008

                      SPEERMINT Peering Architecture
                   draft-ietf-speermint-architecture-05
                   draft-ietf-speermint-architecture-06

Status of this Memo

   By submitting this Internet-Draft, each author represents that
   any applicable patent or other IPR claims of which he or she is
   aware have been or will be disclosed, and any of which he or she
   becomes aware will be disclosed, in accordance with Section 6 of
   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 January 2008.

Copyright Notice

   Copyright (C) The IETF Trust (2008).

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.

Conventions used in this document

   The key words "MUST", "MUST "must", "must NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD
   "should", "should NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119[1] RFC-2119[1]

Table of Contents

   1. Introduction...................................................3
   2. Network Context................................................4 Context................................................3
   3. Procedures.....................................................5 Procedures.....................................................6
   4. Reference SPEERMINT Architecture...............................6
   5. Peer Function Examples.........................................8 Recommended SSP Procedures.....................................8
      5.1. Originating SSP Procedures................................8
         5.1.1. The Location Look-Up Function (LF) of an Initiating Provider......8
         5.1.1. (LUF)...........................8
            5.1.1.1. Target address analysis..............................8
         5.1.2. analysis.........................8
            5.1.1.2. User ENUM Lookup.....................................9
         5.1.3. Carrier Lookup................................9
            5.1.1.3. Infrastructure ENUM lookup.................................10
         5.1.4. lookup......................9
         5.1.2. Location Routing Table.......................................10
         5.1.5. Function (LRF).....................10
            5.1.2.1. Routing Table..................................10
            5.1.2.2. SIP DNS Resolution..................................10
         5.1.6. Resolution.............................10
            5.1.2.3. SIP Redirect Server.................................11
      5.2. Server............................11
         5.1.3. The Location Signaling Function (LF) of (SF).........................11
            5.1.3.1. Establishing a Receiving Provider.......11 Trusted Relationship............11
            5.1.3.2. Sending the SIP request........................12
      5.2. Terminating SSP Procedures...............................12
         5.2.1. The Location Function (LF)..........................12
            5.2.1.1. Publish ENUM records................................11
         5.2.2. records...........................12
            5.2.1.2. Publish SIP DNS records.............................11
         5.2.3. records........................13
            5.2.1.3. Subscribe Notify....................................11
      5.3. Signaling Function (SF)..................................11
      5.4. The Notify...............................13
         5.2.2. Signaling Function (SF) of an Initiating Provider....12
         5.4.1. Setup TLS connection................................12
         5.4.2. IPSec...............................................12
         5.4.3. Co-Location.........................................12
         5.4.4. Send the (SF).............................13
            5.2.2.1. TLS............................................13
            5.2.2.2. Receive SIP request................................12
      5.5. The requests...........................13
      5.3. Target SSP Procedures....................................14
         5.3.1. Signaling Function (SF) of an Initiating Provider....14
         5.5.1. Verify TLS connection...............................14
         5.5.2. (SF).............................14
            5.3.1.1. TLS............................................14
            5.3.1.2. Receive SIP requests................................14
      5.6. requests...........................14
      5.4. Media Function (MF)......................................15
      5.7. (MF)......................................14
      5.5. Policy Considerations....................................15 Considerations....................................14
   6. Call Control and Media Control Deployment Options.............16 Options.............15
   7. Address space considerations..................................17
   8. Security Considerations.......................................17
   9. IANA Considerations...........................................18 Considerations...........................................17
   10. Acknowledgments..............................................18 Acknowledgments..............................................17
   11. References...................................................19 References...................................................18
      11.1. Normative References....................................19 References....................................18
      11.2. Informative References..................................20 References..................................19
   Author's Addresses...............................................21 Addresses...............................................20
   Intellectual Property Statement..................................21 Statement..................................20
   Disclaimer of Validity...........................................22 Validity...........................................21

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 (reference, for short), it's functional
   components, and peering interface functions from the perspective of
   a SIP [3] Service provider's (SSP) network.

   This architecture allows the interconnection of two SSPs in layer 5
   peering as defined in the SPEERMINT Requirements [13] and
   Terminology [12] 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 [12], so the reader should be familiar with all the terms
   defined there.

2. Network Context

   Figure 1 shows an example network context. Two SSPs can form a Layer
   5 peering over either the public Internet or private Layer3
   networks. In addition, two or more providers may form a SIP (Layer
   5) federation [13] on either the public Internet or private Layer 3
   networks. This document does not make any assumption whether the SIP
   providers directly peer to each other or through Layer 3 transit
   network as per use case of [16].

   Note that 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

   The members of a federation may jointly use a set of functions such
   as location function, signaling function, media function, ENUM
   database or SIP Registrar, SIP proxies, and/or functions that
   synthesize various SIP and non-SIP based applications. Similarly,
   two SSPs may jointly use a set of functions. The functions can be
   either public or private.

                           +-------------------+
                           |                   |
                           |     Public        |
                           |     Peering       SIP         |
                           |     Function     Peering       |
                           |                   |
                           +-------------------+
                                    |
                                  -----
      +-----------+              /     \              +-----------+
      |Enterprise |            --       --            |Enterprise |
      |Provider A |-----------/           \-----------|Provider B |
      +-----------+         --             --         +-----------+
                           /      Public     \
                           |     Internet    |
                           \     (Layer 3)   /
      +-----------+         --             --         +-----------+
      |Service    |-----------\           /-----------|Service
      |
      |Provider  SSP C    |-----------\           /-----------|  SSP D    |
      |           |            --       --            |Provider 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. Procedures

   This document assumes that a in order for call to be establish from a
   UAC end user in the initiating peer's network goes through the following steps to
   establish a call to a UAS in the
   receiving peer's network: network the following steps are taken:

     1. The analysis of a the target address.

          a.

          . If the target address represents an intra-SSP resource,
             we go directly the
             behavior is out-of-scope with respect to step 4. this draft.

     2. the discovery determination of the receiving peering point address, target SSP,

     3. the determination of the SF next-hop in the target SSP,

     4. the enforcement of authentication and potentially other
        policies,

     4.

     5. the discovery determination of the UAS,

     5. the routing of SIP messages,

     6. the session establishment,

     7. the transfer of media which could include voice, video, text
        and others,

     8. and the session termination.

   The originating SSP would likely perform steps 1-4, and the
   terminating SSP would likely perform steps 4-5.

   In the case the target SSP is different from the terminating SSP it
   would repeat steps 1-4. This is reflected in Figure 2 that shows the
   target SSP with its own peering functions.

4. Reference SPEERMINT Architecture

   Figure 2 depicts the SPEERMINT architecture and logical functions
   that form the peering between two SSPs.

                                +------+
                                | DNS, |
                    +---------->| Db,  |<---------+
                    |           | etc  |          |
                    |           +------+          |
                    |                             |
              ------|--------              -------|-------
             /      v        \            /       v       \
            |    +--LUF-+     |          |     +--LUF-+    |
            |    |      |     |          |     |      |    |
            |    |      |     |          |     |      |    |
            |    |      |     |          |     |      |    |
            |    +------+     |          |     +------+    |
            |                 |          |                 |
            |        |
            |       |         |          |        |        |
            |       v         |          |        v        |
            |    +--LRF-+     |          |     +--LRF-+    |
            |    |      |     |          |     |      |    |
            |    |      |     |          |     |      |    |
            |    |      |     |          |     |      |    |
            |    +------+     |          |     +------+    |
            |      \          |          |          /      |
            |       `.                 |          |         /                 |
            |         \                 |          |       .'                 |
            |          `.             +---SF--+  +---SF--+  /             |
            |            \|             |       |  | /       |             |
            |             |  SBE  |  |  SBE  |             |
            | Originating |       |  |       |  Target     |
            |             +---SF--+  +---SF--+             |
            |    SSP          |          |       SSP       |
            |             +---MF--+  +---MF--+             |
            |             |       |  |       |             |
            |             |  DBE  |  |  DBE  |             |
            |             |       |  |       |             |
            |             +---MF--+  +---MF--+             |
             \               /            \               /
              ---------------              ---------------
                Figure 2: Reference SPEERMINT Architecture

   The procedures presented in Chapter section 3 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 SED Session Establishment Data (SED) required
   to route the request to that domain.

   Location Function (LF): The Location functions is composed of the
   LUF and LRF functions

   Signaling Function (SF): Purpose is to perform SIP call routing, to
   optionally perform termination and re-initiation of call, to
   optionally implement security and policies on SIP messages, and to
   assist in discovery/exchange of parameters to be used by the Media
   Function (MF).

   Media Function (MF): Purpose is to perform media related function
   such as media transcoding and media security implementation between
   two SIP providers.

   The intention of defining these functions is to provide a framework
   for design segmentation and allow each one to evolve independently.

5. Peer Function Examples Recommended SSP Procedures

   This section describes the functions in more detail and provides
   some examples recommendations on the role they would play in a SIP call in a
   Layer 5 peering scenario.

   Some of the information in the chapter is taken from [14] and is put
   here for continuity purposes.

5.1. Originating SSP Procedures

5.1.1. The Location Look-Up Function (LF) of an Initiating Provider (LUF)

   Purpose is to determine the SF of the target domain of a given
   request and optionally develop Session Establishment Data (SED)
   [12]. The LF of an Initiating SSP analyzes target

5.1.1.1. Target address and
   discovers the next hop signaling function (SF) in a peering
   relationship using the Look-Up Function. The resource to determine
   the SF of the target domain might be provided by a third-party as in
   the assisted-peering case.

5.1.1. Target address analysis
   When analysis

   When the initiating SSP receives a request to communicate, it
   analyzes the target state data URI to determine whether the call needs to be
   terminated internal internally or external externally to its network. The analysis
   method is internal to the SSP; thus, outside the scope of SPEERMINT.
   Note that the SSP is free to consult any manner of private data
   sources to make this determination.

   If the target address does not represent a resource inside the
   initiating SSP's administrative domain or federation of domains, the
   initiating SSP resolves the call routing data by using the Location
   Routing Function (LF).

   If (LRF).

   For example, if the request to communicate is for an im: or pres:
   URI type, the initiating peer follows the procedures in [8].  If the
   highest priority supported URI scheme is sip: or sips:, the
   initiating peer skips to SIP DNS resolution in Section 5.1.5. 5.1.3.
   Likewise, if the target address is already a sip: or sips: URI in an
   external domain, the initiating peer skips to SIP DNS resolution in
   Section 5.1.5. 5.1.2.2.

   If the target address corresponds to a specific E.164 address, the
   peer 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 peer has an
   E.164 address, it can use ENUM.

5.1.2.

5.1.1.2. User ENUM Lookup

   If an external E.164 address is the target, the initiating peer
   consults the public "User ENUM" rooted at e164.arpa, according to
   the procedures described in RFC 3761.  The peer MUST must query for the
   "E2U+sip" enumservice as described in RFC 3764 [11], but MAY check
   for other enumservices.  The initiating peer MAY consult a cache or
   alternate representation of the ENUM data rather than actual DNS
   queries.  Also, the peer MAY may skip actual DNS queries if the
   initiating peer is sure that the target address country code is not
   represented in e164.arpa.  If a sip: or sips: URI is chosen the peer
   skips to Section 5.1.5. 5.1.6.

   If an im: or pres: URI is chosen for retrieved based on an "E2U+im" [10] or
   "E2U+pres" [9] enumserver, the peer follows the procedures for
   resolving these URIs to URIs for specific protocols such a SIP or
   XMPP as described in the previous section.

5.1.3.

5.1.1.3. Infrastructure ENUM lookup

   Next the initiating peer checks for a carrier-of-record in a carrier
   ENUM domain according to the procedures described in [12].  As in
   the previous step, the peer MAY may consult a cache or alternate
   representation of the ENUM data in lieu of actual DNS queries.  The
   peer 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 peer skips to Section
   5.1.5,
   5.1.2.2. , otherwise the peer continues processing according to the
   next section.

5.1.4.

5.1.2. Location Routing Function (LRF)

   The LRF of an Initiating SSP analyzes target address 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.

5.1.2.1. Routing Table

   If there is no user ENUM records and the initiating peer cannot
   discover the carrier-of-record or if the initiating peer cannot
   reach the carrier-of-record via SIP peering, the initiating peer
   still needs to deliver the call to the PSTN or reject it.  Note that
   the initiating peer MAY may still forward the call to another SSP for
   PSTN gateway termination by prior arrangement using the routing
   table.

   If so, the initiating peer rewrites may rewrite the Request-URI to address
   the gateway resource in the target SSP's domain and MAY may forward the
   request on to that SSP using the procedures described in the
   remainder of these steps.

5.1.5.

   Alternatively to Request-URI re-writing, the initiating peer may
   populate the Route header with the address of the gateway resource
   in the target SSP's domain and forward the request on to that SSP
   using the procedures described in the remainder of these steps, but
   applied to the Route header.

5.1.2.2. SIP DNS Resolution

   Once a sip: or sips: in an external domain is selected as the
   target, the initiating peer MAY may apply local policy to decide whether
   forwarding requests to the target domain is acceptable.  If so, the
   initiating peer uses the procedures in RFC 3263 [4] Section 4 to
   determine how to contact the receiving peer.  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.
   Note that these are queries of records in the global DNS.

   When communicating with a public external peer, another SSP, entities compliant to this
   document MUST only should select a TLS-protected transport for communication
   from the initiating peer to the receiving peer. peer if available.  Note
   that this is a single-hop requirement.  Either peer MAY insist on
   using a sips: URI which asserts that each hop is TLS-protected, but
   this document does not require protection over each hop.

5.1.6.

5.1.2.3. SIP Redirect Server

   A SIP Redirect Server may help in resolving the current address of a
   UAS.

5.2.
   the next-hop SF in the target domain.

5.1.3. The Location Signaling Function (LF) of a Receiving Provider

5.2.1. Publish ENUM records (SF)

   The receiving peer SHOULD participate by publishing "E2U+sip" and
   "E2U+pstn" records with sip: or sips: URIs wherever a public carrier
   ENUM root purpose of signaling function is available.  This assumes that the receiving peer wants to peer by default. When the receiving peer does not want to accept
   traffic from specific initiating peers, it MAY still reject requests
   on a call-by-call basis.

5.2.2. Publish SIP DNS records

   To receive peer requests, the receiving peer MUST insure that it
   publishes appropriate NAPTR, SRV, and address (A and/or AAAA)
   records in the LF relevant to the peer's SF.

5.2.3. Subscribe Notify

   Policies function may also be optionally implemented by dynamic
   subscribe, notify, and exchange of policy information and feature
   information among SSPs [22].

5.3. Signaling Function (SF)

   The purpose of signaling function is to perform routing of SIP
   messages, perform routing of SIP
   messages, to optionally perform termination and re-initiation of a
   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 signaling function perform performs the routing of SIP messages. The
   optional termination and re-initiation of calls are performed by the
   signaling path border element (SBE).

   Optionally, a SF may perform additional functions such as Session
   Admission Control, SIP Denial of Service protection, SIP Topology
   Hiding, SIP header normalization, and SIP security, privacy and
   encryption.

   The SF 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]

5.4. The Signaling Function (SF) of an Initiating Provider

5.4.1. Setup

5.1.3.1. Establishing a Trusted Relationship

   Depending on the security needs and trust relationship between SSPs,
   different security mechanism can be used to establish SIP calls.
   These are discussed in the following subsections.

5.1.3.1.1. TLS connection

   Once a transport, port, and address are found, the initiating SSP
   will open or find a reusable TLS connection to the peer. The
   initiating provider MUST verify the server certificate that SHOULD
   be rooted in a well-known certificate authority.  The initiating SSP
   MUST be prepared to provide a TLS client certificate upon request
   during the TLS handshake.  The client certificate MUST contain a DNS
   or URI choice type in the subjectAltName which corresponds to the
   domain asserted in the host production of the From header URI.  The
   certificate SHOULD be valid and rooted in a well-known certificate
   authority.

   Note that the client certificate MAY contain a list of entries in
   the subjectAltName, only one of which has
   procedures to match authenticate the SSP's target domain is specified in the
   From header URI.

5.4.2.
   [24]

5.1.3.1.2. IPSec

   In certain deployments 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.

5.4.3.

5.1.3.1.3. Co-Location

   In this scenario 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.

5.4.4. Send

5.1.3.2. Sending the SIP request

   Once a TLS connection trust relationship between the peers is established, the
   initiating peer sends the request.  When sending some requests,

5.1.3.2.1. TLS

   If the trust relationship was established through TLS, the
   initiating peer MUST can optionally verify and assert the senders sender's
   identity using the SIP Identity mechanism.

   The domain name

   In addition, new requests should contain a valid Identity and
   Identity-Info header as described in the URI of the From: [12].  The Identity-Info header MUST be
   must present a domain
   which was present name that is represented in the certificate
   provided when establishing the TLS connection for this request, even if over which the user part has an
   anonymous value.  If the From header contains the user URI parameter
   with the value of "phone", the user part of the From header URI MUST
   be a complete and valid tel: URI [9] telephone-subscriber
   production, and SHOULD be a global-number.  For example, the
   following are all acceptable and the first three are encouraged:

      From: "John Doe" john.doe@example.net

      From: "+12125551212" <+12125551212@example.net;user=phone>

      From: "Anonymous" <anonymous@example.net>

      From: <4092;phone-context=+12125554000@example.net;user=phone>

      From: "5551212" <5551212@example.net>

      The following are not acceptable:

      From: "2125551212" <2125551212@example.net;user=phone>

      From: "Anonymous" <anonymous@anonymous.invalid>

   In addition, new requests MUST 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 initiating peer SHOULD include request
   is sent.  The initiating peer should include an Identity header on
   in-dialog requests as well, well if the From header field value matches an
   identity the initiating peer is willing to assert.

5.2. Terminating SSP Procedures

5.2.1. The initiating Location Function (LF)

5.2.1.1. Publish ENUM records

   The receiving peer MAY include any SIP option-tags in Supported,
   Require, should publish "E2U+SIP" and "E2U+pstn" records
   with sip: or Proxy-Require headers according sips: URIs wherever a public carrier ENUM root is
   available. In the event that a public root is not available, a
   publishing to procedures in
   standards-track SIP extensions.  Note however a common ENUM registry with the originating peer will
   suffice.

   This assumes that the initiating receiving peer MUST be prepared wants to fallback peer by default. When
   the receiving peer does not want to baseline accept traffic from specific
   initiating peers, it may still reject requests on a call-by-call
   basis.

5.2.1.2. Publish SIP functionality as
   defined by DNS records

   To receive peer requests, the mandatory-to-implement features of RFC 3261, RFC
   3263,and RFC 3264 [7], except receiving peer must ensure that peers implementing this
   specification MUST implement SIP over TLS using it
   publishes appropriate NAPTR, SRV, and address (A and/or AAAA)
   records in the sip: URI scheme, LF relevant to the SIP Identity header, originating peer's SF.

5.2.1.3. Subscribe Notify

   A policy notification function may also be optionally implemented by
   dynamic subscribe, notify, and RFC 4320 [10] non-INVITE transaction
   fixes.

5.5. The exchange of policy information and
   feature information among SSPs [21].

5.2.2. Signaling Function (SF) of an Target Provider

5.5.1. Verify

5.2.2.1. TLS connection

   When the receiving peer receives a TLS client hello, it responds
   with its certificate.  The receiving peer target SSP certificate SHOULD should be valid
   and rooted in a well-known certificate authority. The
   receiving peer MUST request and verify procedures to
   authenticate the client certificate during SSP's originating domain are specified in [24].

   The terminating SF verifies that the TLS handshake.

   Once Identity header is valid,
   corresponds to the initiating peer has been authenticated, message, corresponds to the receiving peer
   can authorize communication from this peer based on Identity-Info header,
   and that the domain name
   of the peer and in the root of its certificate.  This allows two
   authorization models From header corresponds to be used, together or separately.  In the
   domain-based model, one of the receiving peer can allow communication from
   peers with some trusted administrative domains that use general-
   purpose certificate authorities, without explicitly permitting all
   domains with certificates rooted in the same authority.  It also
   allows a certificate authority (CA) based model where every domain
   with a valid certificate rooted in some list of CAs is automatically
   authorized.

5.5.2. TLS client certificate.

5.2.2.2. Receive SIP requests

   Once a TLS connection trust relationship is established, the receiving peer is
   prepared to receive incoming SIP requests.  For new requests (dialog
   forming or not) the receiving peer verifies that if the target (request-URI) (request-
   URI) is a domain that for which it is responsible. For these requests, there that for which it is responsible. For these
   requests, there should be no remaining Route header field values.
   For in-dialog requests, the receiving peer can verify that it
   corresponds to the top-most Route header field value.

   The receiving peer may reject incoming requests due to local policy.
   When a request is rejected because the initiating peer is not
   authorized to peer, the receiving peer should respond with a 403
   response with the reason phrase "Unsupported Peer".

5.3. Target SSP Procedures

5.3.1. Signaling Function (SF)

5.3.1.1. TLS

   When the receiving peer 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].

   If the requests should be no remaining Route contain a valid Identity and Identity-Info
   header field values. Next as described in [12] the receiving target SF verifies that the Identity
   header is valid, corresponds to the message, and 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.

   For in-dialog requests,

5.3.1.2. Receive SIP requests

   The procedures of the receiving peer can verify that it
   corresponds to SF of the top-most Route header field value.  The peer also
   validates any Identity header if present.

   The receiving peer MAY reject incoming requests due to local policy.
   When a request is rejected because target SSP are the initiating peer is not
   authorized to peer, same as the receiving peer SHOULD respond ones
   described in section 5.2.2.2 with the addition that it might
   establish a 403
   response with connection to another target SSP, and in this case use
   the reason phrase "Unsupported Peer".

5.6. procedures recommended to an originating SSP (section 5.1).

5.4. Media Function (MF)

   The purpose of the MF 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 may
   perform media relaying, media security, privacy, and encryption.

5.7.

5.5. Policy 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

   Likewise, but orthogonal to session dependency, an SSP may have
   policies can that may be Peer dependent peer-dependent or independent, creating peer-independent.  That is,
   the
   following peering policy tree definition:

     o  Peer Independent
        Session dependent
        Session independent
     o  Peer Dependent
        Session dependent
        Session independent session-dependent and session-independent policies may by
   further sub-divided and modified by additional controls that depend
   on which peer SSP or federation with which communications is being
   established.

6. Call Control and Media Control Deployment Options

   The peering functions can either be deployed along the following two
   dimensions depending upon how the signaling function and the media
   function functions
   along with IP functions 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 peering points 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 peering proxies. 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 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 that the same address space.  If they are
   not, then a network address translation (NAT) or similar function
   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.

8. 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 peer
   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.

   TODO:  Address RFC-3552 BCP items.

9. IANA Considerations

   There are no IANA considerations at this time.

10. 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.

11.

   References

11.1.

10.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.

11.2.

10.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-03.txt,
         November 2007. 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", RFC 5028 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-01
         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 (work in progress), November 2007.

Author's Addresses

   Reinaldo Penno (Editor)
   Juniper Networks
   1194 N Mathilda Avenue
   Sunnyvale, CA
   USA
   Email: rpenno@juniper.net

   Mike Hammer
   Cisco Systems
   13615 Dulles Technology Drive
   Herndon, VA 20171
   USA
   Email: mhammer@cisco.com

   Sohel Khan, Ph.D.
   Comcast Cable Communications
   U.S.A
   Email: sohel_khan@cable.comcast.com

   Daryl Malas
   Level 3 Communications LLC
   1025 Eldorado Blvd.
   Broomfield,
   CableLabs
   858 Coal Creek Circle
   Louisville, CO 80021
   USA
   EMail: daryl.malas@level3.com

   Reinaldo Penno (Editor)
   Juniper Networks
   1194 N Mathilda Avenue
   Sunnyvale, CA
   USA 80027
   Email: rpenno@juniper.net d.malas@cablelabs.com

   Adam Uzelac
   Global Crossing
   1120 Pittsford Victor Road
   PITTSFORD, NY 14534
   USA
   Email: adam.uzelac@globalcrossing.com

Intellectual Property Statement

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed
   to pertain to the implementation or use of the technology described
   in this document or the extent to which any license under such
   rights might or might not be available; nor does it represent that
   it has made any independent effort to identify any such rights.
   Information on the procedures with respect to rights in RFC
   documents can be found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use
   of such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository
   at http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at
   ietf-ipr@ietf.org.

Disclaimer of Validity

   This document and the information contained herein are provided on
   an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE
   REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE
   IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL
   WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY
   WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE
   ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS
   FOR A PARTICULAR PURPOSE.

Copyright Statement

   Copyright (C) The IETF Trust (2008).

   This document is subject to the rights, licenses and restrictions
   contained in BCP 78, and except as set forth therein, the authors
   retain all their rights.

Acknowledgment

   Funding for the RFC Editor function is currently provided by the
   Internet Society.