Internet DRAFT - draft-penno-message-flows

draft-penno-message-flows



Network Working Group                                           R. Penno 
Internet Draft                                          Juniper Networks 
Expires: November 2006                                          D. Malas 
                                                                 Level 3         
                                                                 S. Khan 
                                                                  Sprint 
                                                               A. Uzelac 
                                                         Global Crossing 
 
                                                            May 2, 2006 
                                    
 
                                      
               SPEERMINT Routing Architecture Message Flows  
                       draft-penno-message-flows-02 


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 November 2, 2006. 

Abstract 

   This draft provides the message flows associated with the SPEERMINT 
   routing architecture. We show message flows in several peering 
   scenarios.  
 
 
 
penno                  Expires November 2, 2006                [Page 1] 

Internet-Draft         SPEERMINT Message Flows                 May 2006 
    

Conventions used in this document 

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

Table of Contents 

    
   1. Introduction......................................... 3 
   2. Peering Message flows................................. 6 
   3. On-Demand Peering .................................... 8 
         3.1.1. Transport Layer Security....................... 8 
         3.1.2. Proxy Authentication: Subscribe/Notify.......... 10 
         3.1.3. Proxy Authentication: Surrogate Registration..... 11 
   4. Static Peering...................................... 13 
         4.1.1. IPSec..................................... 13 
         4.1.2. Co-Location................................ 13 
   5. Media Relay ........................................ 14 
   6. Considerations on Private IP addresses.................. 16 
   7. Considerations on Media Flows.......................... 17 
      7.1. Decomposition................................... 17 
      7.2. QoS........................................... 17 
   8. Considerations on Multilateral Peering.................. 18 
   9. SIP Priority and SPEERMINT QoS......................... 18 
      9.1. Problem Statement ............................... 19 
      9.2. Packet Recognition and Marking..................... 19 
         9.2.1. Peering Classes of Service.................... 20 
         9.2.2. Network Address Translation................... 20 
      9.3. Accounting..................................... 20 
      9.4. Trust......................................... 20 
   10. SIP Policy Enforcement and Definition.................. 20 
      10.1. Local SIP Policy ............................... 21 
      10.2. Remote SIP Policy............................... 21 
      10.3. SIP Proceed Policy.............................. 21 
   11. Peering Domain Information Exchange.................... 23 
      11.1. Domain Routes.................................. 23 
      11.2. Authentication Credentials....................... 23 
   12. Security Considerations.............................. 24 
   13. IANA Considerations................................. 24 
   14. Conclusions........................................ 24 
   15. Acknowledgments.................................... 24 
   References............................................ 25 
      15.1. Normative References............................ 25 
      15.2. Informative References .......................... 25 
   Author's Addresses..................................... 26 
   Intellectual Property Statement .......................... 26 
 
 
penno                  Expires November 2, 2006                [Page 2] 

Internet-Draft         SPEERMINT Message Flows                 May 2006 
    

   Disclaimer of Validity.................................. 27 
   Copyright Statement.................................... 27 
   Acknowledgment ........................................ 27 
    
1. Introduction 

   This document shows the message flows associated with the most 
   relevant SPEERMINT routing architecture peering scenarios. Most of 
   the messages diagrams were based on previous work done by the SIP and 
   SIPPING working groups. 

   The document focuses on the messages exchanged for the purpose of 
   Layer 5 peering [7] between two domains. Messages exchanged for the 
   purposed of setting up SIP session within a domain are considered out 
   of scope and were already defined in other working groups.  

   The draft separates the Layer 5 peering scenarios in two major 
   peering scenarios. 

   o  On-demand: In this scenario the SIP proxies in domains A and B 
      establish a peering relationship driven by the necessity to 
      deliver a SIP message to another domain. This is sometimes 
      referred as the email model.  

   o  Static: In this scenario the peering relationship between proxies 
      A and B is statically provisioned independent of the establishment 
      of any SIP session between users in different domains. 

   Normally, media for a given SIP session follows a different path, 
   traversing a different device (most commonly a router) when crossing 
   peering domains. Alternatively, media for a given session can be 
   directed to traverse the same device used for Layer 5 peering, i.e., 
   the same device that handles signaling when crossing domains. This 
   gives rises to two different models: 

   o  Decomposed: In this model SIP proxies perform Layer 5 peering and 
      media is sent directly between the UAs involved in the session. 
      Signaling and media follow different paths. 

   o  Collapsed: In this model the device that performs Layer 5 peering 
      also processes the associated media when crossing domains. In the 
      light of SPEERMINT these devices may need to process media mainly 
      when peering involves SIP entities in private address spaces. This 
      function is usually referred to as media relay and is usually 
      performed by a B2BUA or SBC (Session Border Controller). See [6] 
      for a complete discussion of SBC functions.  

 
 
penno                  Expires November 2, 2006                [Page 3] 

Internet-Draft         SPEERMINT Message Flows                 May 2006 
    

   The decomposed or basic peering model picture is shown below. It is 
   worth mentioning that Proxy 1 and 2 can be separated by any number of 
   layer 3 hops. We will refer to this picture throughout this document.  

   ............................          .............................. 
   .                          .          .                            . 
   .                +-------+ .          . +-------+                  . 
   .                |       | .          . |       |                  . 
   .                |  DNS  | .          . | DNS   |                  . 
   .                |   1   | .          . |  2    |                  . 
   .                |       | .          . |       |                  . 
   .                +-------+ .          . +-------+                  . 
   .                    |     .          .     |                      . 
   .                    |     .          .     |                      . 
   .                +-------+ .          . +-------+                  . 
   .                |       | .          . |       |                  . 
   .                | Proxy |--------------| Proxy |                  . 
   .                |   1   | .          . |  2    |                  . 
   .                |       | .          . |       |                  . 
   .              / +-------+ .          . +-------+ \                . 
   .             /            .          .            \               . 
   .            /             .          .             \              . 
   .           /              .          .              \             . 
   .          /               .          .               \            . 
   .         /                .          .                \           . 
   .        /                 .          .                 \          . 
   .       /                  .          .                  \         . 
   .   +-------+              .          .                +-------+   . 
   .   |       |              .          .                |       |   . 
   .   |       |              .   Media  .                |       |   . 
   .   | UA 1  |<========================================>| UA 2  |   . 
   .   |       |              .          .                |       |   . 
   .   +-------+              .          .                +-------+   . 
   .              Domain A    .          .   Domain B                 . 
   ............................          .............................. 
 
                     Figure 1 Basic Peering Picture. 

   The collapsed model is shown below: 

   ............................          .............................. 
   .                          .          .                            . 
   .                +-------+ .          . +-------+                  . 
   .                |       | .          . |       |                  . 
   .                |  DNS  | .          . | DNS   |                  . 
   .                |   1   | .          . |  2    |                  . 
   .                |       | .          . |       |                  . 
   .                +-------+ .          . +-------+                  . 
   .                    |     .          .     |                      . 
 
 
penno                  Expires November 2, 2006                [Page 4] 

Internet-Draft         SPEERMINT Message Flows                 May 2006 
    

   .                    |     .          .     |                      . 
   .                +-------+ .          . +-------+                  . 
   .                | B2BUA | .          . | B2BUA |                  . 
   .                |  &    |--------------|  &    |                  . 
   .                | other |**************| other |\                 . 
   .               /| funct | .          . | funct | \                . 
   .              / +-------+ .          . +-------+* \ signaling     . 
   .             / *          .          .           * \              . 
   .            / *           .          .            * \             . 
   .           / *            .          .             * \            . 
   .          / * media       .          .              * \           . 
   .         / *              .          .               * \          . 
   .        / *               .          .                * \         . 
   .       / *                .          .                 * \        . 
   .   +-------+              .          .                +-------+   . 
   .   |       |              .          .                |       |   . 
   .   |       |              .          .                |       |   . 
   .   | UA 1  |              .          .                | UA 2  |   . 
   .   |       |              .          .                |       |   . 
   .   +-------+              .          .                +-------+   . 
   .              Domain A    .          .   Domain B                 . 
   ............................          .............................. 
 
                   Figure 2 Collapsed Peering Picture. 

   In a decomposed model, the signaling function (SF) and the media 
   function (MF) are implemented in separate entities. A B2BUA is 
   generally on the SIP path in the SF. The vertical control protocol 
   between the SF and MF is out of the scope of SPEERMINT. The 
   decomposed model is shown below: 

   ............................          .............................. 
   .                          .          .                            . 
   .                +-------+ .          . +-------+                  . 
   .                |       | .          . |       |                  . 
   .                |  DNS  | .          . | DNS   |                  . 
   .                |   1   | .          . |  2    |                  . 
   .                |       | .          . |       |                  . 
   .                +-------+ .          . +-------+                  . 
   .                    |     .          .     |                      . 
   .                    |     .          .     |                      . 
   .                +-------+ .          . +-------+                  . 
   .               /| B2BUA |--------------| B2BUA |\                 . 
   .              / +-------+              +-------+ \                . 
   .             /  +-------+              +-------+  \               . 
   .            /   | MF    |**************| MF    |   \              . 
   .           /    +-------+ .          . +-------+*   \signaling    . 
   .          /    *          .          .           *   \            . 
   .         /    *           .          .            *   \           . 
 
 
penno                  Expires November 2, 2006                [Page 5] 

Internet-Draft         SPEERMINT Message Flows                 May 2006 
    

   .        /    *            .          .             *   \          . 
   .       /    * media       .          .              *   \         . 
   .      /    *              .          .               *   \        . 
   .     /    *               .          .                *   \       . 
   .    /    *                .          .                 *   \      . 
   .   +-------+              .          .                +-------+   . 
   .   |       |              .          .                |       |   . 
   .   |       |              .          .                |       |   . 
   .   | UA 1  |              .          .                | UA 2  |   . 
   .   |       |              .          .                |       |   . 
   .   +-------+              .          .                +-------+   . 
   .              Domain A    .          .   Domain B                 . 
   ............................          .............................. 
 
                   Figure 3 Collapsed Peering Picture. 

    

2. Peering Message flows 

   We first depict what we call the basic message flow. The various 
   scenarios differ mostly of how and when peering is implemented. As 
   mentioned earlier peering can be establish following the arrival of a 
   message at a border proxy or statically following an agreement 
   between both domains. 






















 
 
penno                  Expires November 2, 2006                [Page 6] 

Internet-Draft         SPEERMINT Message Flows                 May 2006 
    

     Alice   Proxy 1       DNS      Proxy 2      Bob 
        |        |          |         |           | 
        |        |          |         |           | 
        |        |       Peering      |           | 
        |        |        Phase       |           | 
        |        |       [Static]     |           | 
        |        |<------------------>|           | 
        | INVITE |          |         |           | 
        |------->|          |         |           | 
        | 100    |          |         |           | 
        |<-------|          |         |           | 
        |        | NAPTR    |         |           | 
        |        | Query    |         |           | 
        |        |--------->|         |           | 
        |        | NAPTR    |         |           | 
        |        | Reply    |         |           | 
        |        |"SIPS+D2T"|         |           | 
        |        |<---------|         |           | 
        |        | SRV      |         |           | 
        |        | Query    |         |           | 
        |        |--------->|         |           | 
        |        | SRV      |         |           | 
        |        | Reply    |         |           | 
        |        |<---------|         |           | 
        |        |                    |           | 
        |        |       Peering      |           | 
        |        |        Phase       |           | 
        |        |     [On-Demand]    |           | 
        |        |<------------------>|           | 
        |        |                    |           | 
        |        |  INVITE            |           | 
        |        |------------------->| INVITE    | 
        |        |  100               |---------->| 
        |        |<-------------------|           | 
        |        |                    | 180       | 
        |        | 180                |<----------| 
        | 180    |<-------------------|           | 
        |<-------|                    | 200       | 
        |        | 200                |<----------| 
        | 200    |<-------------------|           | 
        |<-------|                    |           | 
        | ACK    |                    |           | 
        |------->| ACK                |           | 
        |        |------------------->| ACK       | 
        |        |                    |---------->| 
        |           Both Way RTP Media            | 
        |<=======================================>| 
 
 
penno                  Expires November 2, 2006                [Page 7] 

Internet-Draft         SPEERMINT Message Flows                 May 2006 
    

        |        |                    | BYE       | 
        |        | BYE                |<----------| 
        | BYE    |<-------------------|           | 
        |<-------|                    |           | 
        | 200    |                    |           | 
        |------->| 200                |           | 
        |        |------------------->| 200       | 
        |        |                    |---------->| 
        |        |                    |           | 
    

   In the collapsed model, media would follow the path shown below. All 
   other signaling call flows remain the same, except a B2BUA is used 
   instead of a proxy. 

     Alice   B2BUA 1       DNS      B2BUA 2      Bob 
        |        |          |         |           | 
        |        |          |         |           | 
        |           Both Way RTP Media            | 
        |<======>|<==================>|<==========>| 
        |        |                    | BYE       | 
    

   The following sections show the message flows in several different 
   scenarios broken in two categories, on-demand and static.  

3. On-Demand Peering 

   In the on demand peering scenario, the relationship between proxies 
   in domains A and B is driven by the arrival of a SIP message at proxy 
   A directed to a user in domain B (or vice-versa). 

3.1.1. Transport Layer Security 

   In this scenario, trust between domains A and B is implied by the TLS 
   connection. The TLS connection is only established as a result of the 
   first session between domains A and B.  










 
 
penno                  Expires November 2, 2006                [Page 8] 

Internet-Draft         SPEERMINT Message Flows                 May 2006 
    

     Alice   Proxy 1       DNS      Proxy 2      Bob 
        |        |          |         |           | 
        |        |          |         |           | 
        | INVITE |          |         |           | 
        |------->|          |         |           | 
        | 100    |          |         |           | 
        |<-------|          |         |           | 
        |        | NAPTR    |         |           | 
        |        | Query    |         |           | 
        |        |--------->|         |           | 
        |        | NAPTR    |         |           | 
        |        | Reply    |         |           | 
        |        |"SIPS+D2T"|         |           | 
        |        |<---------|         |           | 
        |        | SRV      |         |           | 
        |        | Query    |         |           | 
        |        |--------->|         |           | 
        |        | SRV      |         |           | 
        |        | Reply    |         |           | 
        |        |<---------|         |           | 
        |        |                    |           | 
        |        |       Peering      |           | 
        |        |  [TLS Connection]  |           | 
        |        |<------------------>|           | 
        |        |                    |           | 
        |        |  INVITE            |           | 
        |        |------------------->| INVITE    | 
        |        |  100               |---------->| 
        |        |<-------------------|           | 
        |        |                    | 180       | 
        |        | 180                |<----------| 
        | 180    |<-------------------|           | 
        |<-------|                    | 200       | 
        |        | 200                |<----------| 
        | 200    |<-------------------|           | 
        |<-------|                    |           | 
        | ACK    |                    |           | 
        |------->| ACK                |           | 
        |        |------------------->| ACK       | 
        |        |                    |---------->| 
        |           Both Way RTP Media            | 
        |<=======================================>| 
        |        |                    | BYE       | 
        |        | BYE                |<----------| 
        | BYE    |<-------------------|           | 
        |<-------|                    |           | 
        | 200    |                    |           | 
 
 
penno                  Expires November 2, 2006                [Page 9] 

Internet-Draft         SPEERMINT Message Flows                 May 2006 
    

        |------->| 200                |           | 
        |        |------------------->| 200       | 
        |        |                    |---------->| 
        |        |                    |           | 
    

   TBD: DNS exchange could present proxy 1 with a set of peering 
   policies that need to be met for the peering with proxy 2 two 
   succeed. 

3.1.2. Proxy Authentication: Subscribe/Notify 

   In the following example message flow, the authentication credentials 
   exchange method may take place before any INVITE is sent by ALICE. 
   The P2Key is sent by Proxy 2's NOTIFY and is included in the 
   "PeerAuthEventPkg". The P2Key may be stored on Proxy 1 for the 
   duration of the subscription.  When the subscription expires, the 
   P2Key becomes invalid.  At any time before the subscription expires, 
   the P2Key MAY be updated or refreshed as described in [8].  The 
   message flow and authentication exchange may occur in either 
   direction, but for simplicity reasons is only shown unilaterally.  
   The method is the same as indicated in section 3.2.   

























 
 
penno                  Expires November 2, 2006               [Page 10] 

Internet-Draft         SPEERMINT Message Flows                 May 2006 
    

   ALICE            Proxy 1(P1)                   Proxy 2(P2)     Bob 
      |                |                             |             | 
      | INVITE         |                             |             | 
      |--------------->|                             |             | 
      |     100 Trying |                             |             | 
      |<---------------|                             |             | 
      |                |Subscribe w/PeerAuthEventPkg |             | 
      |                |---------------------------->|             | 
      |                |   401 Unauthorized          |             | 
      |                |<----------------------------|             | 
      |                |Subscribe w/Auth             |             | 
      |                |---------------------------->|             | 
      |                |    202 Accepted             |             | 
      |                |<----------------------------|             | 
      |                |    Notify w/P2Key           |             | 
      |                |<----------------------------|             | 
      |                |          200 OK             |             | 
      |                |---------------------------->|             | 
      |                |   INVITE                    |             | 
      |                |---------------------------->|             | 
      |                |  401 Unauthorized           |             | 
      |                |<----------------------------|             | 
      |                |    INVITE w/P2Key           |             | 
      |                |---------------------------->|             | 
      |                |      100 Trying             |INVITE       | 
      |                |<----------------------------|-----------> | 
      |                |                             |180 Ringing  | 
      |                |                180 Ringing  |<----------- | 
      |     180 Ringing|<----------------------------|             | 
      |<---------------|                             |200 OK       | 
      |                |       200 OK                |<----------- | 
      |     200 OK     |<----------------------------|             | 
      |<---------------|                             |             | 
      |  ACK           |                             |             | 
      |--------------->|ACK                          |             | 
      |                |---------------------------->|ACK          | 
      |                |                             |-----------> | 
    

3.1.3. Proxy Authentication: Surrogate Registration 

   In this optional scenario we are assuming a new type Proxy 
   authentication method exists that allows mutual authentication 
   between two proxies. This authentication can be termed as the 
   "Surrogate Authentication". Generally, a proxy cannot register with 
   another proxy because in between two proxies there is not child-

 
 
penno                  Expires November 2, 2006               [Page 11] 

Internet-Draft         SPEERMINT Message Flows                 May 2006 
    

   parent relationship. However, an originating proxy can register with 
   another proxy on behalf of a User Agent (UA). 

   ALICE            Proxy 1(P1)          Proxy 2(P2)     Bob 
      |                |                    |             | 
      | INVITE         |                    |             | 
      |--------------->|                    |             | 
      |     100 Trying |                    |             | 
      |<---------------|                    |             | 
      |                |REGISTER            |             | 
      |                |------------------->|             | 
      |                |   401 Unauthorized |             | 
      |                |<-------------------|             | 
      |                |REGISTER w/Auth     |             | 
      |                |------------------->|             | 
      |                |    100 Trying      |             | 
      |                |<-------------------|             | 
      |                |    200 OK w/P2Key  |             | 
      |                |<-------------------|             | 
      |                |          REGISTER  |             | 
      |                |<-------------------|             | 
      |                |   401 Unauthorized |             | 
      |                |------------------->|             | 
      |                |     REGISTER w/Auth|             | 
      |                |<-------------------|             | 
      |                |  100 Trying        |             | 
      |                |------------------->|             | 
      |                |  200 OK w/P1Key    |             | 
      |                |------------------->|             | 
      |                |    INVITE w/P2Key  |             | 
      |                |------------------->|             | 
      |                |      100 Trying    |INVITE       | 
      |                |<-------------------|-----------> | 
      |                |                    |180 Ringing  | 
      |                |       180 Ringing  |<----------- | 
      |     180 Ringing|<-------------------|             | 
      |<---------------|                    |200 OK       | 
      |                |       200 OK       |<----------- | 
      |     200 OK     |<-------------------|             | 
      |<---------------|                    |             | 
      |  ACK           |                    |             | 
      |--------------->|ACK                 |             | 
      |                |------------------->|ACK          | 
      |                |                    |-----------> | 
    
 
    
 
 
penno                  Expires November 2, 2006               [Page 12] 

Internet-Draft         SPEERMINT Message Flows                 May 2006 
    

4. Static Peering 

   In the static peering scenario the relationship between proxies A and 
   B is not driven by a SIP session, but before hand through manual 
   provisioning.  

4.1.1. IPSec 

   In this model an IPSec connection between proxies A and B is 
   provisioned following an agreement between the two domains.   

    

     Alice   Proxy 1       DNS      Proxy 2      Bob 
        |        |          |         |           | 
        |        |                    |           | 
        |        |      [Peering]     |           | 
        |        |   IPSec Connection |           | 
        |        |<------------------>|           | 
        |        |          |         |           | 
        \        /          \         /           \ 
        /        \          /         \           / 
        |        |          |         |           | 
        | INVITE |          |         |           | 
        |------->|          |         |           | 
        | 100    |          |         |           | 
        |<-------|          |         |           | 
        \        /          \         /           \ 
        /        \          /         \           / 
        |        | BYE                |<----------| 
        | BYE    |<-------------------|           | 
        |<-------|                    |           | 
        | 200    |                    |           | 
     
    

4.1.2. Co-Location 

   In this scenario the two proxies are co-located in a physical secure 
   location and/or are member of a segregated network. In this case 
   messages between Proxy 1 and Proxy 2 would be sent as clear text. 






 
 
penno                  Expires November 2, 2006               [Page 13] 

Internet-Draft         SPEERMINT Message Flows                 May 2006 
    

    
     Alice   Proxy 1       DNS      Proxy 2      Bob 
        |        |          |         |           | 
        |        |                    |           | 
        |        |      [Peering]     |           | 
        |        |     Co-Location    |           | 
        |        |<------------------>|           | 
        |        |          |         |           | 
        \        /          \         /           \ 
        /        \          /         \           / 
        |        |          |         |           | 
        | INVITE |          |         |           | 
        |------->|          |         |           | 
        | 100    |          |         |           | 
        |<-------|          |         |           | 
        \        /          \         /           \ 
        /        \          /         \           / 
        |        | BYE                |<----------| 
        | BYE    |<-------------------|           | 
        |<-------|                    |           | 
        | 200    |                    |           | 
    
5. Media Relay 

   In the event that a calling and/or called entity are part of a 
   private network and the NAT/FW at the CPE is VoIP unaware or the 
   client uses to NAT traversal method, the SIP Proxy must find a way to 
   modify the private addresses that remain in the signaling payload (in 
   addition to threading media through the NAT/FW).  This modifying 
   process is sometimes referred to as Far-end NAT Traversal (FE-NTRV). 

   The core of the FE-NTRV process is media relaying. The Signaling 
   entity relays media between the two endpoints as a result of the 
   repairing process and to guarantee NAT/FW traversal (symmetric RTP). 

   It is important to understand that media relay can be used 
   independent of NAT/FW as a way to direct media to a certain device 
   for processing. In the context of SPEERMINT  media relay could be 
   used to enable the collapsed model and/or perform FE-NTRV. 








 
 
penno                  Expires November 2, 2006               [Page 14] 

Internet-Draft         SPEERMINT Message Flows                 May 2006 
    

                                           
ALICE                NAT/FW               Media Relay             Bob 
10.10.1.2                          Signaling:128.16.5.10    192.32.6.2 
                                       Media:168.12.1.8 
   |                   |                    |                   | 
   |     INVITE        |                    |                   | 
   |------------------>|      INVITE        |                   | 
   |s:10.10.1.2:9082   |------------------->|      INVITE       | 
   |d:128.16.5.10:5060 |s:140.1.1.1:23040   |------------------>|     
   |c= 10.10.1.2       |d:128.16.5.10:5060  |s:128.16.5.10:5060 | 
   |m= 11032           |c= 10.10.1.2        |d:192.32.6.2:5060  | 
   |                   |m= audio 11032      |c= 168.12.1.8      | 
   |                   |                    |m= audio 3600      | 
   |                   |                    |                   | 
                                            | 
                                            v 
 +---------------------------------------------------------------------+ 
 | Media Relay creates of a pair of media relay ports. The first port, | 
 | 3600, is for receiving media from the called party and the 2nd      |  
 | port, 7600, is for receiving media from the calling party. As we do |    
 | not know what the transport address of the calling party will be    | 
 | (post NAPT), any media received from the called party must be       |   
 | dropped.                                                            | 
 +---------------------------------------------------------------------+ 
 
   |                   |                    |      200 OK       | 
   |                   |      200 OK        |<------------------| 
   |      200 OK       |<-------------------|s:192.32.6.2:5060  |    
   |<------------------|s:128.16.5.10:5060  |d:128.16.5.10:5060 | 
   |s:128.16.5.10:5060 |d:140.1.1.1:23040   |c= 192.32.6.2      | 
   |d:10.10.1.2:9082   |c= 168.12.1.8       |m= audio 9080      | 
   |c= 168.12.1.8      |m= audio 7600       |                   | 
   |m= audio 7600      |                    |                   | 
   |                   |                    |                   | 
   |                   |                    |                   | 
                                            | 
                                            V 
                             +----------------------------+ 
                             | Media Relay updates remote |  
                             | dest. as 192.32.6.2:9080   | 
                             +----------------------------+   
                   
   |                   |                    |                   | 
   |     ACK (...)     |                    |                   | 
   |------------------>|                    |                   | 
   |                   |                    |       Media       | 
   |                   |                    X<==================| 
 
 
penno                  Expires November 2, 2006               [Page 15] 

Internet-Draft         SPEERMINT Message Flows                 May 2006 
    

   |                   |                    |s:168.12.1.8:3600  | 
   |                   |                    |d:192.32.6.2:9080  | 
   |                   |                    |                   | 
   |                   |                    v                   | 
                                         Discarded 
   |                 Media                  |                   | 
   |=======================================>|==================>| 
   |s:10.10.1.2:11032  |s:140.1.1.1:16220   |s:168.12.1.8:3600  | 
   |d:168.12.1.8:7600  |d:168.12.1.8:7600   |d:192.32.6.2:9080  | 
   |                   |                    |                   | 
   |                   |                    v                   | 
                               +---------------------------+ 
                               | Update remote destination |  
                               +---------------------------+ 
   |                   |                    |                   | 
   |                 Media                  |                   | 
   |<=======================================|<==================| 
   |s:168.12.1.8:7600  |s:168.12.1.8:7600   |s:192.32.6.2:9080  | 
   |d:10.10.1.2:11032  |d:140.1.1.1:16220   |d:168.12.1.8:3600  | 
   |                   |                    |                   | 
   |                   |                    |                   | 
   |                   |                    |                   | 
   |                   |                    |                   | 
   |                   |                    |                   | 
   |                   |                    |                   | 
    

6. Considerations on Private IP addresses 

   In Layer 5 peering scenarios, it does not really matter if the 
   peering fabric is public or private. What is relevant is if one of 
   the SIP devices participating in the session is in a public address 
   space and the other in a private.   

   In this case some observations should be made: 

   o  A SIP device in a private address space can only communicate with 
      a device in a public address space if a NAT binding from private 
      to public address is provided. 

   o  If a SIP device is in a private address space behind legacy NAT 
      device and does implement a NAT traversal method [8], media relay 
      might be needed for the successful establishment of the session. 
      Media relay is most commonly implemented by a B2BUA or SBC. A 
      legacy Nat is one that does not implement a SIP Application Level 
      Gateway (ALG).[4] 

 
 
penno                  Expires November 2, 2006               [Page 16] 

Internet-Draft         SPEERMINT Message Flows                 May 2006 
    

7. Considerations on Media Flows 

7.1. Decomposition 

   The scenarios in the previous sections show media flowing between the 
   endpoints involved in the SIP session, but it is important to 
   understand that the domains involved in peering might not carry the 
   media associated with such sessions. 

   Media associated with the sessions established across the peering 
   interface could be carried by a traditional ISP. The picture below 
   depicts such scenario.  

                                 +---------+    _________ 
                            /--->|   VSP   |<-----\ 
                           /     |         |       \ 
                          |      +---------+       | 
                Signaling |                        | Signaling 
                (peering) |                        | (peering) 
                          |                        | 
         +------------+   |                        |   +------------+ 
         |            |<-/      +-----------+_      \->|            | 
         |            |         |           |          |            | 
         | Domain A   |>------->|    ISP    |>-------->| Domain B   | 
         |            |<-------<|___________|<--------<|            | 
         |____________|  Media  |           |   Media  |____________| 
         +------------+         +-----------+          +------------+ 
    

7.2. QoS   

   Media flows for real time communication usually need strict 
   scheduling guarantees in order to not degrade the service. The 
   problem of QoS within an independent administratively domain and 
   across domains is quite different.  

   In the case L5 peering several issues arise around QoS for media 
   flows, especially in the case of on-demand peering. Some of these 
   issues are listed below. 

   o  How to reconcile general QoS parameters used in domain A across 
      the peering interface with those announced by domain B's peering 
      policy? 




 
 
penno                  Expires November 2, 2006               [Page 17] 

Internet-Draft         SPEERMINT Message Flows                 May 2006 
    

   o  How domain B can identify media flows crossing the peering 
      interface coming from domain A (and vice-versa) in order to 
      provide the agreed upon QoS treatment? We could potentially be 
      talking about hundreds of call (and consequently new media flows) 
      per second. 

   o  Moreover, in a decomposed scenario, how the SIP Proxy can let the 
      router know the identity of such media flows and the QoS 
      parameters associated with it? This problem was discussed under 
      the TISPAN umbrella and NGN networks [6]. 

   o  Alternatively or in conjunction with dynamic identification there 
      is the issue of trust. Possibly domain B could trust domain A to 
      mark all media packets appropriately. Domain B would honor such 
      markings and give the appropriate treatment announced on its 
      peering policy 

8. Considerations on Multilateral Peering 

   Some of the difficulties discussed in previous sections would be 
   aggravated in the case of multilateral on-demand peering where 
   potentially more than on VSP could carry signaling (and possibly 
   media) to reach a specific endpoint.  

   How peering policies could be compared to find out the best one for a 
   specific case? In the case of routing protocols a combination of 
   metrics, route filtering and others techniques provide a solution.  

                          +---------+ 
                          |         | 
                        / | Domain  |\  
                       /  |    C    | \  
                      /   |         |  \ 
                     /    +---------+   \ 
                    /                    \ 
     +--------+    /      +---------+     \     +--------+       +-----+ 
     |        |---/       |         |      \----|        |       |     | 
     | Domain |           | Domain  |           | Domain |       | UA  | 
     |   A    |-----------|    B    |-----------|    D   |-------|     |             
     |        |           |         |           |        |       +-----+ 
     +--------+           +---------+           +--------+        
    

9. SIP Priority and SPEERMINT QoS 

   As discussed in section 7.2, there are various QoS aspects that need 
   to be taken into account in the context of SPEERMINT.  
 
 
penno                  Expires November 2, 2006               [Page 18] 

Internet-Draft         SPEERMINT Message Flows                 May 2006 
    

 

   The next sections discuss those aspects by first going laying out 
   some groundwork and then going through scenarios. 

9.1. Problem Statement 

   When SIP signaling and media packets from UA 1 arrive at peering 
   point destined to UA 2, the Layer 5 peering devices need to make sure 
   those packets receive the proper treatment when crossing the peering 
   fabric into another domain. Proper treatment involves three aspects: 
   Packet recognition and marking, accounting and trust.  

 
9.2. Packet Recognition and Marking 

   If the layer 5 peering devices (referred as SIP Proxies) are going to 
   mark signaling and media packets, they need to first be able to 
   recognize them. Recognizing and marking SIP signaling is not 
   problematic since we assume the Layer 5 peering devices perform SIP 
   proxy functions. It leaves the media packets. 

   If the SIP Proxy does not inspect the SDP payload in SIP messages to 
   learn how to identify media packets, the only solution is to trust 
   that the endpoints or an upstream proxy have already done it (see 
   section 8.3). 

   On the other hand, if the SIP Proxy performs SDP inspection, it will 
   be able to recognize media packets based on the contents of the c and 
   m lines. It is important to notice that there is an implicit 
   assumption of what will be negotiated, and also that this proxy stays 
   in the signaling call flow for the duration of the call - and 
   therefore be aware of mid-call events.  

   Now we come to the problem of which device will mark the packets. In 
   a decomposed scenario, the SIP proxy needs to let the router know how 
   to identify media packets and which marking to use. One possible 
   solution is the use of a Gate Control Protocol [6].  

   In a collapsed scenario the problem of identifying and marking 
   packets is less severe. 






 
 
penno                  Expires November 2, 2006               [Page 19] 

Internet-Draft         SPEERMINT Message Flows                 May 2006 
    

9.2.1. Peering Classes of Service 

   In the simplest the case the peering fabric will have a set of 
   classes of service that serve as a translation table from one domain 
   to another. So, a domain A only needs to know how to map the classes 
   of service used internally to the ones used in the peering point (and 
   vice-versa).  
 
9.2.2. Network Address Translation 

   The use of NAT media makes packet recognition problem more severe. As 
   discussed in section 6, in certain scenarios the identification of 
   the media flows require special processing.  

9.3. Accounting 

   Accounting refers to the tracking consumption of network resources by 
   sessions. In order to accomplish inter-domain accounting, it is 
   required to know the exchanged policies, resources available and 
   reachability. Within the information gathered, it is important to 
   know the identity of the session, the nature of the service 
   delivered, when the service began, and when it ended.   

9.4. Trust 

   If Proxy 1 trusts that its users will mark packets correctly, the 
   issue of packet recognition and marking can be mitigated. Of course 
   that does not imply that Proxy 2 trusts Domain 1 to mark packets 
   correctly. That's where a QoS policy exchange comes into play.  

10. SIP Policy Enforcement and Definition  

   Within the following description, there is an assumption that the SIP 
   Proxy will know via policy exchange, variables that will weigh 
   potentially in routing decisions from Proxy A to Proxy B, (e.g. 
   defined relationship, trust established, etc). 

   In the inter-domain exchange of SIP signaled real-time sessions, the 
   SIP proxy will be the policy decision point that enforces exchanged 
   session policies.  In this signaling plane enforcement model, all 
   bearer traffic will receive the same level of QOS (e.g. EF).  Real-
   time traffic (voice, video, etc) share the same sensitivity to 
   latency, jitter, and packet loss.  Therefore any direct inter-domain 
   QoS mapping of service levels is not needed.  Should one type of 
   traffic (Video) have more significance than another (voice) then the 
   SIP proxy will enforce that policy, possible preempting existing 
   sessions if required. 
 
 
penno                  Expires November 2, 2006               [Page 20] 

Internet-Draft         SPEERMINT Message Flows                 May 2006 
    

   In both the collapsed and decomposed inter-domain call models, the 
   SIP proxies of both the originating and terminating domains have the 
   authority to permit, deny, preempt and throttle sessions.  Inspecting 
   and classifying at the SIP layer brings an added differentiation 
   superseding Layer 3 policies.   

10.1. Local SIP Policy 

   Local SIP Policy is defined as that which has local significance, or 
   not appropriate to exchange beyond administrative domains.  Examples 
   of local policies would be preferential treatment of sessions based 
   on hierarchical subscriber groupings ("gold level" subscribers), path 
   selection based on time of day, or presence. 

10.2. Remote SIP Policy 

   Remote SIP Policy is defined as policies that are learned via 
   exchange mechanism with peer in remote administrative domain. 
   Examples of a remote policy would be the codec to use, or number of 
   sessions permitted. 

10.3. SIP Proceed Policy 

   The Proceed policy is used to determine if a session attempt should 
   be permitted to continue or not.  The Proceed policy is constructed 
   from a merging of local and remote policies learned via exchange 
   mechanism.  Permitting of a session to proceed or not can be done by 
   any SIP proxy involved in inter-domain signaling of the session.  

   The need for a scalable/fast implementation that will track current 
   state information in real-time can be achieved by RADIUS.  A real-
   time and historical session activity database will have a full 
   history of all active sessions.  When a Session attempt is made from 
   a UA, it will be accounted for on session accounting element of the 
   SIP Proxy.  The accounting element(s) can maintain data on whatever 
   criteria pertinent to track (codec, domain, timestamps etc...) When 
   new session attempt is made, an accounting look-up is done and a 
   search on whatever criteria of interest is done to determine if 
   session signaling can proceed. See the Policy Decision Point (PDP) in 
   below call flow. 

    





 
 
penno                  Expires November 2, 2006               [Page 21] 

Internet-Draft         SPEERMINT Message Flows                 May 2006 
    

         Call Flow Examples: 
    
         Alice   Proxy 1     Radius     Proxy 2      Bob 
         |        |           |          |          | 
         |INVITE  |           |          |          | 
         |------->|           |          |          | 
         | 100    |           |          |          | 
         |<-------| Session   |          |          | 
         |        | Attempt   |          |          | 
         |        |---------->|          |          | 
         |        | Current   |          |          | 
         |        | Peer Stats|          |          | 
         |        |<----------|          |          | 
         |      (PDP)         |          |          | 
         |        | INVITE    |          |          | 
         |        |--------------------->| INVITE   | 
         |        | 100       |          |--------->| 
         |        |<---------------------|180       | 
         |        | 180       |          |<---------| 
         | 180    |<---------------------|          | 
         |<-------|           |          |200       | 
         |        | 200       |          |<---------| 
         | 200    |<---------------------|          | 
         |<-------|           |          |          | 
         | ACK    |           |          |          | 
         |------->| ACK       |          |          | 
         |        |--------------------->|ACK       | 
         |        |           |          |--------->| 
         |        |           |          |          | 
                                      

    

   SIP proxies talk to a list of radius servers for accounting purposes.  
   The radius servers should be on a local network to the proxy.  

   Prior to Proxy 1 sending INVITE to Proxy 2, a determination will be 
   made based on the exchanged policies if the attempt at session 
   establishment should be permitted. 

   TBD: An orthogonal point - The T-domain proxy in this instance is 
   from the perspective of the O-domain proxy.  It may not be the 
   ultimate T-domain there may not be transparency through the next-hop 
   to the T-domain where the T-UA resides.** 



 
 
penno                  Expires November 2, 2006               [Page 22] 

Internet-Draft         SPEERMINT Message Flows                 May 2006 
    

11. Peering Domain Information Exchange 

11.1. Domain Routes 

   In some cases, it may be required to exchange specific domain route 
   information between peers.  The following describes a method for a 
   relationship between proxies in domains A and B to exchange domain 
   routes using a SIP peering route event package.  This event package 
   will provide routing information for the peering proxy server to 
   update its routing table with new peering routes.  This method 
   utilizes a SUBSCRIBE method, and routes may be updated through expiry 
   timers and subscription refreshes as defined in [8]. 

                     Proxy 1                      Proxy 2           
                       |                             |   
                       |Subscribe w/PeerRteEventPkg  |               
                       |---------------------------->|              
                       |   401 Unauthorized          |              
                       |<----------------------------|              
                       |Subscribe w/Auth             |              
                       |---------------------------->|              
                       |    202 Accepted             |              
                       |<----------------------------|              
                       |    Notify                   |              
                       |<----------------------------|              
                       |          200 OK             |              
                       |---------------------------->|             
       
11.2. Authentication Credentials 

   In some cases, authorization credentials for authentication methods 
   such as HTTP digest may want to be exchanged and utilized by domain 
   proxies for authenticating new message requests from subscribers 
   intended for a UA in another domain.  The following describes a 
   method for a relationship between proxies in domains A and B to 
   exchange a, potential, undefined peering authentication event 
   package.  This method utilizes a SUBSCRIBE method similar to the 
   method described in section 3.1.  An example, including a UA INVITE 
   message flow is included in section 4.1.2. 








 
 
penno                  Expires November 2, 2006               [Page 23] 

Internet-Draft         SPEERMINT Message Flows                 May 2006 
    

                      Proxy 1                     Proxy 2           
                       |                             |   
                       |Subscribe w/PeerAuthEventPkg |               
                       |---------------------------->|              
                       |   401 Unauthorized          |              
                       |<----------------------------|              
                       |Subscribe w/Auth             |              
                       |---------------------------->|              
                       |    202 Accepted             |              
                       |<----------------------------|              
                       |    Notify                   |              
                       |<----------------------------|              
                       |          200 OK             |              
                       |---------------------------->|             

    

12. Security Considerations 

   The level of security required during the establishment and 
   maintenance of a SIP peering relationship between to proxies can vary 
   greatly. In general all security considerations related to the SIP 
   protocol are also applicable in a peering relationship. 

   If the two proxies communicate over an insecure network, and 
   consequently are subject to attacks, the use of a TLS or IPSec would 
   be advisable. 

   If there is physical security and the proxies are co-located, or the 
   proxies are situated in a segregated network (such as VPN), one could 
   argue that basic filtering based on IP address is enough.  

13. IANA Considerations 

   There are no IANA considerations at this point 

14. Conclusions 

   The purpose of this draft is to show SPEERMINT message flows as 
   specified in charter but also to raise awareness through questions 
   and detailed considerations of several issues the WG might have to 
   deal in different peering scenarios.  

15. Acknowledgments 

   TBD 

 
 
penno                  Expires November 2, 2006               [Page 24] 

Internet-Draft         SPEERMINT Message Flows                 May 2006 
    

References 

15.1. Normative References 

   [1]   Bradner, S., "Key words for use in RFCs to Indicate Requirement 
         Levels", BCP 14, RFC 2119, March 1997. 

   [2]   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. 

   [3]   Rosenberg, J. and H. Schulzrinne, "Session Initiation Protocol 
         (SIP): Locating SIP Servers", RFC 3263, June 2002. 

   [4]   Srisuresh, P. and K. Egevang, "Traditional IP Network Address 
         Translator (Traditional NAT)", RFC 3022, January 2001. 

   [5]   Johnston, A., Donovan, S., Sparks, R., Cunningham, C., and K. 
         Summers, "Session Initiation Protocol (SIP) Basic Call               
         Flow Examples", BCP 75, RFC 3665, December 2003. 

   [6]   ETSI TS 102 333: " Telecommunications and Internet converged 
         Services and Protocols for Advanced Networking (TISPAN); Gate 
         control protocol". 

   [7]   Babiarz, J., "Configuration Guidelines for DiffServ Service          
         Classes", draft-ietf-tsvwg-diffserv-service-classes-02 (work in 
         progress), February,2006. 

   [8]   Roach, A., "Session Initiation Protocol (SIP)-Specific Event 
         Notification", RFC 3265, June 2002. 

15.2. Informative References 

   [9]   Camarillo, G., Penfield, R., Hawrylyshen, A., "Requirements 
         from SIP (Session Initiation Protocol) Session Border 
         Controller Deployments", Internet Draft, draft-camarillo-
         sipping-sbc-funcs-03 

   [10]  Meyer, D., "SPEERMINT Requirements and Terminology", Internet 
         Draft,   draft-ietf-speermint-reqs-and-terminology-01 

   [11]  Boulton, C., Rosenberg, J., Camarillo, G., "Best Current 
         Practices for NAT Traversal for SIP", Internet Draft, draft-
         ietf-sipping-nat-scenarios-04 

    
 
 
penno                  Expires November 2, 2006               [Page 25] 

Internet-Draft         SPEERMINT Message Flows                 May 2006 
    

Author's Addresses 

   Daryl Malas 
   Level 3 Communications LLC 
   1025 Eldorado Blvd. 
   Broomfield, CO 80021 
   USA    
   EMail: daryl.malas@level3.com 
    
   Sohel Khan, Ph.D. 
   Technology Strategist 
   Sprint 
   6220 Sprint Parkway 
   Overland Park, KS 66251 
   U.S.A 
   Email: Sohel.Q.Khan@sprint.com 
 
   Reinaldo Penno 
   Juniper Networks 
   1194 N Mathilda Avenue 
   Sunnyvale, CA 
   USA 
   Email: rpenno@juniper.net 
    
   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 
 
 
penno                  Expires November 2, 2006               [Page 26] 

Internet-Draft         SPEERMINT Message Flows                 May 2006 
    

   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 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 Internet Society (2006). 

   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. 

    














 
 
penno                  Expires November 2, 2006               [Page 27]