Internet DRAFT - draft-shi-p2psip-hier-arch

draft-shi-p2psip-hier-arch






SIPPING Working Group                                             J. shi
Internet-Draft                                                     Y. Ji
Intended status: Experimental                                   H. Zhang
Expires: February 23, 2007                                         Y. Li
                                                                WTI/BUPT
                                                         August 22, 2006


                  A Hierarchical P2P-SIP Architecture
                     draft-shi-p2psip-hier-arch-00

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 February 23, 2007.

Copyright Notice

   Copyright (C) The Internet Society (2006).












shi, et al.             Expires February 23, 2007               [Page 1]

Internet-Draft     A Hierarchical P2P-SIP Architecture       August 2006


Abstract

   This document outlines the hierarchical P2P-SIP architecture, which
   makes the combination of P2P and SIP practical.  In this
   architecture, heterogeneous overlays are inter-connected via a
   decentralized manner provided by the hierarchical P2P-SIP
   architecture.  The overhead of the session control process is reduced
   since the P2P overlay is used by SIP as the underlying peer locating
   approach.  Some nodes in the overlay are proposed to be stateful to
   improve the reliability of the overlay.  Finally, a session initial
   example is presented to illustrate this architecture.This work is
   being discussed on the p2psip@cs.columbia.edu mailing list.


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
     1.1.  Background . . . . . . . . . . . . . . . . . . . . . . . .  3
     1.2.  Motivation . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Requirements notation  . . . . . . . . . . . . . . . . . . . .  5
   3.  Hierarchical P2P-SIP Architecture  . . . . . . . . . . . . . .  6
     3.1.  Network architecture . . . . . . . . . . . . . . . . . . .  6
     3.2.  Protocol Stack Architecture  . . . . . . . . . . . . . . .  8
   4.  Generic P2P Overlay Service  . . . . . . . . . . . . . . . . . 10
     4.1.  Bootstrap  . . . . . . . . . . . . . . . . . . . . . . . . 10
     4.2.  Node Operations  . . . . . . . . . . . . . . . . . . . . . 10
       4.2.1.  Node Registration  . . . . . . . . . . . . . . . . . . 10
       4.2.2.  Node Leaving and Failure . . . . . . . . . . . . . . . 11
     4.3.  Resource Operations  . . . . . . . . . . . . . . . . . . . 11
   5.  P2P-SIP Naming . . . . . . . . . . . . . . . . . . . . . . . . 13
   6.  P2P Proxy  . . . . . . . . . . . . . . . . . . . . . . . . . . 14
     6.1.  P2P Proxy Election . . . . . . . . . . . . . . . . . . . . 14
     6.2.  P2P Proxy Behavior on Routing the SIP Message  . . . . . . 14
     6.3.  P2P Proxy Leaving and Failure  . . . . . . . . . . . . . . 14
   7.  An example of Inter-Domain Communication Process . . . . . . . 15
   8.  Security Considerations  . . . . . . . . . . . . . . . . . . . 18
   9.  Open Issues  . . . . . . . . . . . . . . . . . . . . . . . . . 19
     9.1.  Stateful and Stateless Problems  . . . . . . . . . . . . . 19
     9.2.  Decentralized Bootstrap Process  . . . . . . . . . . . . . 19
   10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 20
   11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 21
     11.1. Normative References . . . . . . . . . . . . . . . . . . . 21
     11.2. Informative References . . . . . . . . . . . . . . . . . . 21
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 22
   Intellectual Property and Copyright Statements . . . . . . . . . . 23






shi, et al.             Expires February 23, 2007               [Page 2]

Internet-Draft     A Hierarchical P2P-SIP Architecture       August 2006


1.  Introduction

1.1.  Background

   Many benefits can be gained from the combination of SIP [2] and P2P
   [3].  From the SIP point of view, central servers such as the proxy
   and registrar can be removed to reduce the deployment and maintenance
   cost, and the robustness of SIP will also be increased.  From the P2P
   point of view, the introducing of SIP will make the overlay
   controllable, and specific applications such as P2P Internet Phone
   and IM can be enabled.

1.2.  Motivation

   To combine P2P and SIP together, there are two approaches: P2P-over-
   SIP [4] [10] and SIP-over-P2P [11].  The former approach focuses on
   using SIP messages to maintain P2P overlay networks.  The approach is
   motivated by specific multimedia session control requirements in P2P
   overlays.  The upper layer SIP provides the P2P overlay with control
   functions and establishes multimedia sessions over unreliable P2P
   overlay networks.  However, the primary disadvantage of the approach
   is that P2P-over-SIP needs to maintain many SIP dialog states during
   the overlay control course.  For example, using P2P-over-SIP, we need
   to forward over 17 kinds of SIP messages from joining DHT to
   finishing registering and each SIP message has its own dialog states
   in user agents.

   An alternative approach is to layer SIP over the P2P overlay network.
   The underlying P2P overlay networks such as Chord [5], CAN [6],
   Pastry [7] and etc provides SIP with the peer locating service.  That
   is to say, the traditional centralized SIP trapezoid will be replaced
   by the decentralized P2P location service.  Thus we can reduce the
   deploying cost of P2P-SIP and increase the robustness of the network.
   However, when we use P2P overlays as the SIP's peer locating service,
   there are some problems need to be solved.  First, one of the
   essential design targets of SIP is to find the peer anytime and
   anywhere using DNS, however, when we replace the DNS and SIP Proxy
   with P2P overlays, heterogeneous overlays will cause the connectivity
   problem.  A peer in one P2P overlay (such as Chord) is difficult to
   route the SIP message to another P2P overlay (such as Pastry) based
   on their individual P2P peer locating service.  Second, SIP is a
   stateful protocol which controls the session establishing, modifying
   and terminating process over stateless IP networks, however, when we
   use the P2P overlay to provide the peer locating service, how to
   inherit features of stateful proxy from the traditional SIP is
   unclear.

   Here we summarize some crucial issues need to be considered when we



shi, et al.             Expires February 23, 2007               [Page 3]

Internet-Draft     A Hierarchical P2P-SIP Architecture       August 2006


   combine P2P and SIP together.

   1.  When SIP is made serverless, we should retain the connectivity of
       SIP especially when heterogeneous P2P overlays are served as the
       underlying peer locating service simultaneously.

   2.  When the P2P overlay is controlled by SIP, some approaches should
       be proposed to reduce the overhead caused by too many SIP
       dialogs.

   3.  When P2P and SIP are combined together, the emerging P2P-SIP
       protocol should also inherit the routing feature of the stateful
       proxy of traditional SIP.


   The above issues motivate this document of the hierarchical
   architecture for P2P and SIP combination.  P2P overlays are used by
   SIP as the underlying peer locating protocol thus the overhead will
   be significantly reduced compared with the P2P-over-SIP approach .
   Then, each overlay will elect one or more powerful peers to be P2P
   proxies which logically construct an upper level overlay and forward
   messages among heterogeneous overlays.  Thus the connectivity problem
   is solved.  Furthermore, it is also proposed to make several peers in
   an overlay to be starteful to inherit the controllable feature of
   stateful SIP proxies.


























shi, et al.             Expires February 23, 2007               [Page 4]

Internet-Draft     A Hierarchical P2P-SIP Architecture       August 2006


2.  Requirements notation

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

   Terminology defined in RFC 3261 [2] and in P2PSIP concepts draft [12]
   is used without definition.

   Local P2P Overlay: A basic P2P overlay network that provides the
   location and routing functionalities.

   Global P2P Overlay: An upper level P2P overlay that inter-connects
   hierarchical local P2P overlays.

   P2P Proxy: A SIP proxy elected from P2P Proxy candidates.  It runs
   both local P2P overlay and global P2P overlay's stack, and it is
   responsive for inter-overlay SIP message exchange.

   P2P Proxy Candidates: A node elected from the P2P-SIP Overlay Peer
   prepares to become the P2P Proxy when the proxy current leaves or
   fails.

   P2P-SIP User URI: A SIP URI used for identifying the P2P-SIP user

   P2P-SIP Overlay URI: A SIP URI used for identify the P2P-SIP overlay.

























shi, et al.             Expires February 23, 2007               [Page 5]

Internet-Draft     A Hierarchical P2P-SIP Architecture       August 2006


3.  Hierarchical P2P-SIP Architecture

3.1.  Network architecture

   Figure 1 illustrates the proposed hierarchical P2P-SIP structure.
   Various P2P overlays (such as Pastry, CAN and etc, we call it the
   local overlay.  Their real overlay structures may not be ring-based
   and here we only use ring for illustratation) are respectively used
   as the underlying route discovery protocol for the decentralized SIP
   scheme, that is, when two peers of a call are in the same overlay
   network, the callee lookup course will be base on the overlay's
   specific resource locating process.  In this way, the communication
   overhead will be significantly reduced since relaying nodes need not
   maintain dialog-states.





































shi, et al.             Expires February 23, 2007               [Page 6]

Internet-Draft     A Hierarchical P2P-SIP Architecture       August 2006


           0     1     2              0     1     2
            0----N----N                0----0----0
           /           \              /           \
       15 0             0 3       15 0             N 3
         /               \          /               \
     14 0     Pastry      0 4   14 0       CAN       0 4
        |   (P2P Domain)  |        |   (P2P Domain)  |
     13 N                 N 5   13 0                 N 5
        | Hash(sip:bob    |        |                 |
     12 0  @bupt.pastry)  0 6   12 0                 0 6
         \               /          \               /
       11 0             0------------N             0 7
           \           / 7         11 \           /
            N----0----N                0----0----0
          10     9   / 8             10 \   9     8
                    /                    \
                   0                      0
                   |   Hash(sip:overlay   |
                   |    @pastry)          |
                   |   (Global Overlay)   |
                   |                      |
                   |                      |
                   0                      0
                    \    0     1     2   /
                     \   0----0----0    /
                      \ /           \  /
                    15 N-------------N 3
                      /               \
                  14 0                 0 4
                     |                 |
                  13 0                 0 5
                     |       BT        |
                  12 0   (P2P Domain)  0 6
                      \               /
                    11 0             0 7
                        \           /
                         0----0----0
                       10     9     8

   Hierarchical P2P-SIP Structure

                                 Figure 1


   To connect peers from heterogeneous overlays, it is proposed to
   organize an upper level overlay (defined as the global P2P overlay)
   which inter-connects the local overlays.  That is, each overlay will
   elect one or more powerful peers to be the gateway-like nodes that



shi, et al.             Expires February 23, 2007               [Page 7]

Internet-Draft     A Hierarchical P2P-SIP Architecture       August 2006


   route messages among heterogeneous overlays.  The elected gateway-
   like node is defined as the P2P proxy.  In Figure 1, node 8 joins
   both the local Pastry overlay and global overlay to perform the
   gateway-like function.

   Furthermore, several peers in each overlay are made to be stateful.
   Thus the controllable feature of the traditional stateful SIP proxy
   will be inherited.  P2P proxies are good candidates for such kind of
   stateful nodes.

   By introducing such a hierarchical architecture, peers in
   heterogeneous overlays can be inter-connected and the balance between
   low signaling overhead and easy management can be achieved.

3.2.  Protocol Stack Architecture

   Protocols are composed of two separate layers, the upper layer is the
   SIP layer and the lower one is the P2P overlay layer.  The SIP layer
   is responsible for sending, receiving and processing SIP messages so
   as to establish or terminate multimedia sessions.  The P2P overlay
   layer handles all the P2P overlay functions, including formation,
   maintenance, lookup, as well as offering peer locating service to the
   SIP layer.

   For a peer node, the SIP layer can be a SIP User Agent; while for the
   proxy node, the SIP layer can be a B2BUA.  Both SIP UA and B2BUA act
   the same as defined in the traditional SIP protocol except for the
   peer locating service.  The upper layer SIP gets the location (i.e.
   IP address) of the destination user from the P2P overlay layer
   instead of location severs.  That is, we implement the function of
   location related severs in a distributed manner, using P2P overlay
   networks.

   The P2P overlay layer of ordinary peer nodes differs from that of P2P
   proxy nodes.  There is only one specific P2P technology in a normal
   peer node.  Peers with the same P2P technology will logically form a
   P2P overlay.  However, in a P2P Proxy node, the P2P overlay layer has
   double stacks.  One is the P2P approach used in Local P2P Overlay,
   and the other is the Global P2P Overlay approach (i.e.  Chord in
   Fig.I).  On the one hand, a proxy node joins to form the Local P2P
   Overlay with other peer nodes in the specific overlay; on the other
   hand, all the elected P2P proxy nodes will join together to form a
   Global P2P Overlay network.  Nodes located in different P2P domains
   can communicate with each other via this global overlay network.







shi, et al.             Expires February 23, 2007               [Page 8]

Internet-Draft     A Hierarchical P2P-SIP Architecture       August 2006


    Peer Node       P2P Proxy Node         P2P Proxy Node    Peer Node
   |--------|     |------|---------|     |---------|-----|    |-----|
   |        |     |      |         |     |         |     |    |     |
   |  SIP   |     | SIP  | SIP     |     | SIP     | SIP |    | SIP |
   |        |     |      |         |     |         |     |    |     |
   |        |     |      |         |     |         |     |    |     |
   |--------|     |------|---------|     |---------|-----|    |-----|
   |        |     |      |         |     |         |     |    |     |
   | Pastry |     |Pastry|  Chord  |     |  Chord  | CAN |    | CAN |
   |(local  |     |      | (global |     | (global |     |    |     |
   |overlay)|     |      | Overlay)|     | Overlay)|     |    |     |
   |        |     |      |         |     |         |     |    |     |
  ----------------------------------------------------------------------
  |                        SocketAPI                                   |
  ----------------------------------------------------------------------

   Protocol stack architecture

                                 Figure 2

   Figure 2 illustrates the protocol stack architecture presented above.
   In this figure, CAN and Pastry are different P2P overlay
   technologies, and they are used in Local P2P Overlay.  The Global
   overlay refers to the Inter-Domain P2P overlay technology (i.e.
   Chord).  This protocol stack is an open architecture and any P2P
   overlay technology that satisfies the requirement in section 4
   (Section 4) can be used.
























shi, et al.             Expires February 23, 2007               [Page 9]

Internet-Draft     A Hierarchical P2P-SIP Architecture       August 2006


4.  Generic P2P Overlay Service

   Generic P2P overlay service is used by SIP as the underlying peer
   locating service.  In this section, we describes the generic DHT-
   based P2P overlay functions.  Any non-DHT based approach is also
   acceptable for the P2P-SIP implementation.

4.1.  Bootstrap

   When a node intends to join an existing overlay, it must first locate
   some nodes that are already active in the overlay.  Then it can join
   the overlay with the help of that node.  We call this process
   bootstrap.  There are several methods for bootstrap implementation.

   1.  Web Station
       We can maintain a web station, which provides the information of
       the nodes that are already active in the overlay.  This kind of
       bootstrap can refer to the Gnutella Web Caching System[8].

   2.  Cached Address
       A node may cache some addresses during its prior connection.  The
       cached list enables it to find the bootstrap node directly.

   3.  Pre-configured Methods
       Some nodes in the overlay may be persistent, and have well known
       addresses.  These addresses could be pre-configured into nodes.

   4.  Broadcast
       The node that wants to join the overlay could also broadcast
       messages in the local network to locate a node that has already
       joined the overlay.

4.2.  Node Operations

4.2.1.  Node Registration

   Node registration enables a peer node to join the structured overlay
   network with its Node-ID.  The Node-ID is generated by the specific
   Hash algorithms the overlay adopts, that is:

   Node-ID = Hash(Node-IP)

   Then the joining peer will contact the bootstrap node to help it join
   the overlay.  Specific DHT algorithms such as Chord, Pastry, CAN and
   etc have specified the node registration process.  Note that in the
   hierarchical P2P-SIP overlay, the P2P proxy should register its
   Node-ID to both the local overlay and the global overlay, thus it can
   inter-connect various overlays.



shi, et al.             Expires February 23, 2007              [Page 10]

Internet-Draft     A Hierarchical P2P-SIP Architecture       August 2006


4.2.2.  Node Leaving and Failure

   The maintenance of node leaving and failure is described in specific
   DHT algorithm and we do not discuss it in detail here.  When a node
   leaves the overlay, another node should be notified to be responsible
   for the resources of the leaving node.  When a node fails, the self-
   recovery approach should be adopted to re-organize the overlay
   network.

   The P2P proxy node is particularly important in the hierarchical P2P-
   SIP overlay, and the leaving and failure of the P2P proxy is
   described in section 6.3 (Section 6.3).

4.3.  Resource Operations

   In the hierarchical P2P-SIP overlay network, there are primarily two
   kinds of resources need to be managed, that is, the P2P-SIP user's
   identifier (P2P-SIP User URI) and the P2P overlay's identifier (P2P-
   SIP Overlay URI).  The former URI is used to uniformly identify P2P-
   SIP users and the latter URI is used to identify various overlays.
   The naming rule is described in section 5 (Section 5).

   P2P overlays provide the approach which manages URI resources in a
   distributed manner.  Thus the route discovery related elements such
   as DNS servers could be replaced by the distributed resource
   management functions provided by the P2P overlay.

   1.  In the local overlay, the P2P-SIP User URI is hashed as the User-
       Resource-ID, and then the User-Resource-ID is registered to a
       node in the local overlay.

       User-Resource-ID = Hash(P2PSIP-User-URI)


   2.  In the global overlay, the P2P-SIP Overlay URI is hashed as the
       Overlay-Resource-ID, and then the Overlay-Resource-ID is
       registered to a P2P proxy in the global overlay.

       Overlay-Resource-ID = Hash(P2PSIP-Overlay-URI)


   In the hierarchical P2P-SIP protocol, two new SIP headers called
   Overlay-ID and Node-ID are added to identify the P2P-SIP scheme.  For
   example, some headers of an INVITE Message might look like this:

   INVITE sip: bob@bupt.pastry SIP/2.0
   Via: SIP/2.0/UDP 59.64.186.33; branch=z9hG4bK776asdhds
   Max-Forwards: 70



shi, et al.             Expires February 23, 2007              [Page 11]

Internet-Draft     A Hierarchical P2P-SIP Architecture       August 2006


   From: Bob <sip:bob@bupt.pastry>;tag=1928301774
   Call-ID: a84b4c76e66710@59.64.186.33
   CSeq: 314159 INVITE
   Contact: <sip:bob@59.64.186.33>
   Node-ID: <sip:bob@bupt.pastry>
   Overlay-ID: <sip:overlay@pastry>
   Content-Type: application/sdp
   Content-Length: 142











































shi, et al.             Expires February 23, 2007              [Page 12]

Internet-Draft     A Hierarchical P2P-SIP Architecture       August 2006


5.  P2P-SIP Naming

   There should be a district name that identifies the specific P2P-SIP
   user and overlay.  The specific naming rule can refer to the SIP
   Address of Record (AOR).

   Although the P2P-SIP paradigms intend to remove the dependence on
   central servers such as the DNS server, P2P-SIP User ID can also
   inherit the hierarchical organization feature of DNS.  In this way,
   top level labels identify heterogeneous overlays such as CAN and
   Pastry in Figure 1, while the second level labels identify the
   specific users or groups within each overlay network.  Furthermore,
   since there're two kinds of URI in the P2P-SIP overlay, the overlay
   URI should be automatically generated by the P2P proxy using the user
   URI.

   For instance, the URI sip:bob@bupt.pastry can be one of the
   implementation of the P2P-SIP user identifier.  Bob at Beijing
   University of Posts and Telecommunications (BUPT) should register the
   P2P-SIP User URI sip:bob@bupt.pastry to the Pastry overlay based on
   the Pastry algorithm and one or more P2P proxies of BUPT in the
   Pastry overlay should register the P2P-SIP Overlay URI
   sip:overlay@pastry to the top level overlay.  Then when Bob wants to
   call Alice (sip:alice@pku.can) at Peking University in the CAN
   overlay, the request message will first be routed to the P2P proxy at
   BUPT since the callee's URI does not belong to the Pastry overlay.
   Then the proxy will forward the message to the P2P proxy at Peking
   University in the CAN overlay based on the overlay's URI
   (sip:overlay@can).  Finally the P2P proxy at Peking University will
   route the message to Alice based on the user ID (sip:alice @pku.can).

   Note that this kind of naming and addressing method significantly
   differs from that of DNS although both of them are hierarchically
   organized.  The addressing process in DNS is based on centralized DNS
   servers while that in P2P paradigms is based on self-organized
   overlay hosts.  Thus we can call it the P2P Domain System.















shi, et al.             Expires February 23, 2007              [Page 13]

Internet-Draft     A Hierarchical P2P-SIP Architecture       August 2006


6.  P2P Proxy

6.1.  P2P Proxy Election

   The P2P proxy election approach is proposed to make the proxies to be
   more stable and powerful.  The election metrics should be online
   time, bandwidth, CPU capacity and etc.  Then specific utility
   functions could be formulated to evaluate the peer's capacity.

   U = f(online, bandwidth, cpu, others)

   Based on the utility function, each node is evaluated and assigned a
   score.  Nodes with higher score will become P2P proxy candidates.
   Then the P2P proxy will be elected from the P2P proxy candidates.

   The elected proxy candidates do not perform as P2P proxies, but only
   monitor the P2P proxy and prepare to replace it when it leaves or
   fails.  Thus we call the P2P proxy candidate inactivated proxy.  Each
   overlay should maintain its inactivated proxy list.  Thus when the
   P2P proxy fails, the connectivity can be fast recovered.

6.2.  P2P Proxy Behavior on Routing the SIP Message

   The P2P proxy serves as a gateway-like element among heterogeneous
   overlay networks, and it runs double stacks (i.e. the local overlay
   protocol and global overlay protocol).  The P2P proxy registers to
   both the local overlay and the global overlay using respective
   protocol stacks.

   When peers in the local overlay detect that the callee's domain name
   doesn't belong to the overlay, they will send the SIP message to the
   P2P proxy.  Then the P2P proxy is responsible for routing the message
   to another P2P domain using the upper level overlay's peer locating
   service.  When the P2P proxy in the callee's overlay receives the
   inter-domain routed SIP message, it will send it to the callee's UA
   using the local overlay's peer locating service.  Examples in section
   7 (Section 7) illustrate the routing behavior of the P2P proxy.

6.3.  P2P Proxy Leaving and Failure

   The local overlay will maintain an inactivated P2P proxy list, and
   members in the list are considered as the P2P proxy candidates.  P2P
   proxy candidate will periodically send the HELLO message to the P2P
   proxy so as to determine whether the proxy is alive.  When the P2P
   proxy fails, a P2P proxy candidate in the list will be elected to
   become the active P2P proxy which joins the upper level overlay.  If
   the P2P proxy leaves, it will elect a candidate to make it the proxy.




shi, et al.             Expires February 23, 2007              [Page 14]

Internet-Draft     A Hierarchical P2P-SIP Architecture       August 2006


7.  An example of Inter-Domain Communication Process


 _______   _________  _______    _________ _______   _________ _________
 |Bob's|   |Pastry |  |  P1 |    | chord | | P2  |   |  CAN  | |Alice's|
 | UA  |   |Overlay|  |Proxy|    |Overlay| |Proxy|   |Overlay| |   UA  |
 |_____|   |_______|  |_____|    |_______| |_____|   |_______| |_______|
    |          |          |          |        |           |         |
    |  F1 Get  |          |          |        |           |         |
    |  Local   |          |          |        |           |         |
    |  Proxy   |          |          |        |           |         |
    |--------->|          |          |        |           |         |
    |          |          |          |        |           |         |
    |          |          |          |        |           |         |
    |F2 Addr Of|          |          |        |           |         |
    |LocalProxy|          |          |        |           |         |
    |<---------|          |          |        |           |         |
    |          |          |          |        |           |         |
    |------F3 INVITE----->|          |        |           |         |
    |          |          |          |        |           |         |
    |<---F4 100 TRYING----|          |        |           |         |
    |          |          | F5 Get   |        |           |         |
    |          |          |Addr of P2|        |           |         |
    |          |          |--------->|        |           |         |
    |          |          |    F6    |        |           |         |
    |          |          |Addr of P2|        |           |         |
    |          |          |<---------|        |           |         |
    |          |          |          |        |           |         |
    |          |          |-----F7 INVITE---->|           |         |
    |          |          |          |        |           |         |
    |          |          |--F8 100 TRYINGG-->|           |         |
    |          |          |          |        |  F9 Get   |         |
    |          |          |          |        |Alice's UA |         |
    |          |          |          |        |---------->|         |
    |          |          |          |        |           |         |
    |          |          |          |        |F10 Addr of|         |
    |          |          |          |        |Alice's UA |         |
    |          |          |          |        |---------->|         |
    |          |          |          |        |           |         |
    |          |          |          |        |----F11 INVITNE----->|
    |          |          |          |        |           |         |
    |          |          |          |        |<--F12 180 RINGING---|
    |          |          |          |        |           |         |
    |          |          |<--F13 180 RINGING-|           |         |
    |          |          |          |        |           |         |
    |<---F14 180 RINGING--|          |        |           |         |
    |          |          |          |        |           |         |
    |          |          |          |        |<----F15 20OOK-------|



shi, et al.             Expires February 23, 2007              [Page 15]

Internet-Draft     A Hierarchical P2P-SIP Architecture       August 2006


    |          |          |          |        |           |         |
    |          |          |<-----F16 200OK----|           |         |
    |          |          |          |        |           |         |
    |<----F17 200OK-------|          |        |           |         |
    |          |          |          |        |           |         |
    |-----------------------F18 ACK-------------------------------->|
    |          |          |          |        |           |         |
   /___________|__________|__________|________|___________|__________\
  /                        Multimedia Session                         \
  \ __________________________________________________________________/
   \                                                                 /

                                 Figure 3

   When Bob (identified by sip:bob@bupt.pastry) at BUPT wants to call
   Alice identified by sip:alice@pku.can) at Peking University, the
   session initial process is as follows.

   1.   Caller Bob's UA first determines whether the callee's domain
        pku.can is in its domain .pastry, and it finds that it is not.
        Then it finds the P2P proxy in its overlay which joins the upper
        level overlay based on the specific global P2P approach.

   2.   Caller Bob's UA generates an INVITE message based on RFC 3261,
        and sets the Request-URI to be the Address-of-Record of the
        callee Alice.

   3.   Bob's UA sends the INVITE message to the P2P proxy (P1) in the
        Pastry overlay.

   4.   P1 looks up Alice's overlay via the top level overlay Chord, and
        gets the P2P proxy's IP address of the CAN overlay.

   5.   P1 adds its address in the VIA header of the INVITE message and
        forwards that message to P2; P1 also sends a 100 Trying to Bob's
        UA.

   6.   When P2 receives the INVITE message, it looks up the address of
        Alice's UA via the CAN overlay.

   7.   P2 adds its address in the VIA header of the INVITE message and
        forwards that message to Alice's UA; P2 also sends a 100 Trying
        to P1.

   8.   When Alice's UA receives the INVITE message, it deals with the
        message according to the specification in RFC 3261.





shi, et al.             Expires February 23, 2007              [Page 16]

Internet-Draft     A Hierarchical P2P-SIP Architecture       August 2006


   9.   When the INVITE message arrives at Alice's UA, the 180 Ring
        message is sent back via the information in its Via header.

   10.  When Alice picks up the phone, the 200 OK message is sent back
        to Bob's UA

   11.  When Bob's UA receives the 200 OK message, it sends the ACK
        message to Alice via the information in the Contact header.

   12.  Finally, the peer to peer multimedia session between Bob's UA
        and Alice's UA is established.








































shi, et al.             Expires February 23, 2007              [Page 17]

Internet-Draft     A Hierarchical P2P-SIP Architecture       August 2006


8.  Security Considerations

   Security related problems such as DoS attack are not discussed in
   this document.  However, the attacker may have powerful machine to
   DoS the proxy node and these problems need to be considered in the
   future draft.













































shi, et al.             Expires February 23, 2007              [Page 18]

Internet-Draft     A Hierarchical P2P-SIP Architecture       August 2006


9.  Open Issues

9.1.  Stateful and Stateless Problems

   SIP can be base on the control of stateful proxy which makes the
   session management reliable.  However, when we use the P2P overlay as
   SIP's route discovery protocol, the state in peers is unclear.  The
   essence is the tradeoff between controllability and overhead when we
   consider whether the peers should be stateful or stateless.

   One of the design choices is to make some peers such as the P2P proxy
   to be stateful, and both P2P-SIP UA and the stateful node will be
   aware of the state of the underlying overlay.  For example, the P2P
   proxy mentioned in this draft should be stateful.

9.2.  Decentralized Bootstrap Process

   Although several approaches are proposed to implement the bootstrap
   process, the decentralized zero-configure bootstrap is still hard to
   achieve.  Thus the session initial process can not be absolutely
   decentralized.

   It is practical to deploy a centralized bootstrap server, however, if
   we want the SIP to be absolutely decentralized, we should seek for
   some novel decentralized bootstrap methods.


























shi, et al.             Expires February 23, 2007              [Page 19]

Internet-Draft     A Hierarchical P2P-SIP Architecture       August 2006


10.  Acknowledgements

   The authors wish to thank Yao Wang, Hua Xu, Xiaosheng Tang, Xu Wang
   and Zhiyong Feng for their comments.  The authors would like to thank
   Hui Wang and Ning Zhang for the help of review.














































shi, et al.             Expires February 23, 2007              [Page 20]

Internet-Draft     A Hierarchical P2P-SIP Architecture       August 2006


11.  References

11.1.  Normative References

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

   [2]  Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A.,
        Peterson, J., Sparks, R., Handley, M., and E. Scholler, "SIP:
        session initiation protocol", RFC 3261, June 2002.

   [3]  Milojicic, D., Kalogeraki, V., Lukose, R., Nagaraja, K., Pruyne,
        J., Richard, B., Rollins, S., and Z. Xu, "Peer-to-peer
        computing", Mar 2002.

   [4]  Singh, K. and H. Schulzrinne, "Peer-to-peer Internet Telephony
        using SIP", June 2005.

   [5]  Stoica, I., Morris, R., and D. Karger, "Chord A Scalable Peer-
        to-peer Lookup Service for Internet Applications", 2001.

   [6]  Ratnasamy, Sylvia., Francis, Paul., Handley, Mark., Karp,
        Richard., and Scott. Shenker, "A Scalable Content-Addressable
        Network", 2001.

   [7]  Rowstron, Antony. and Peter. Druschel, "Pastry: Scalable,
        decentralized object location and routing for large-scale peer-
        to-peer systems", 2001.

   [8]  Karbhari, Pradnya., Ammar, Mostafa., Dhamdhere, Amogh., Raj,
        Himanshu., Riley, George., and Ellen. Zegura, "Bootstrapping in
        Gnutella: A Measurement Study", 2004.

11.2.  Informative References

   [10]  Bryan, D., Lowekamp, B., and C. Jennings, "A P2P Approach to
         SIP Registration and Resource Location",
         draft-bryan-sipping-p2p-02 , Mar 2006.

   [11]  Shim, E., Narayanan, S., and G. Daley, "An Architecture for
         Peer-to-Peer Session Initiation Protocol (P2P SIP)",
         draft-shim-sipping-p2p-arch-00 , Feb 2006.

   [12]  Willis., D., Byran, D., and P. Matthews, "Concepts and
         Terminology for Peer to Peer SIP",
         draft-willis-p2psip-concepts-00 , June 2006.





shi, et al.             Expires February 23, 2007              [Page 21]

Internet-Draft     A Hierarchical P2P-SIP Architecture       August 2006


Authors' Addresses

   JuWei
   Wireless Technology Innovation (WTI) Institute of BUPT.
   P.O. Box 92, No.10, Xitucheng Road
   BeiJing, Haidian District  100876
   CN

   Email: jwshi@bupt.edu.cn


   Yang
   Wireless Technology Innovation (WTI) Institute of BUPT.
   P.O. Box 92, No.10, Xitucheng Road
   BeiJing, Haidian District  100876
   CN

   Email: jiyang@bupt.edu.cn


   Hua
   Wireless Technology Innovation (WTI) Institute of BUPT.
   P.O. Box 92, No.10, Xitucheng Road
   BeiJing, Haidian District  100876
   CN

   Email: hbzhzw@gmail.com


   YiNong
   Wireless Technology Innovation (WTI) Institute of BUPT.
   P.O. Box 92, No.10, Xitucheng Road
   BeiJing, Haidian District  100876
   CN

   Email: hoplee@bupt.edu.cn















shi, et al.             Expires February 23, 2007              [Page 22]

Internet-Draft     A Hierarchical P2P-SIP Architecture       August 2006


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

   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.


Intellectual Property

   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.


Acknowledgment

   Funding for the RFC Editor function is provided by the IETF
   Administrative Support Activity (IASA).





shi, et al.             Expires February 23, 2007              [Page 23]