Internet DRAFT - draft-zhou-simple-hierarchical-presence

draft-zhou-simple-hierarchical-presence



SIMPLE                                                     Hong. Zhou 
Internet Draft                                     Huawei Technologies 
Expires: December 2006                                   June 9, 2006 
                                   
 
                                      
                 Hierarchical presence event notification 
              draft-zhou-simple-hierarchical-presence-00.txt 


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 December 9, 2006. 

Copyright Notice 

   Copyright (C) The Internet Society (2006).  All Rights Reserved. 

Abstract 

   This document describe a new method for the Presence Server to 
   process presence in inter-domain scenarios. The currently-defined 
   method according to RFC 3261 [1] and RFC 3265 [2] results in 
   duplicated messaging. This document provides a new method to avoid 
   this duplication. 
 
 
 
Hong                  Expires December 9, 2006                [Page 1] 

Internet-Draft          Hierarchical presence                June 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 [5]. 

Table of Contents 

    
   1. Introduction............................................ 2 
   2. Process Presence in Inter-domain........................ 2 
      2.1. Currently-defined Method........................... 2 
      2.2. Hierarchical Method................................ 6 
      2.3. Compatible with RFC 3857........................... 8 
   3. Presence Server Behavior............................... 11 
   4. UA Considerations ..................................... 12 
   5. Security Considerations................................ 12 
   6. Acknowledgments........................................ 12 
   7. References............................................. 13 
      7.1. Normative References.............................. 13 
      7.2. Informative References............................ 13 
   Author's Addresses........................................ 13 
   Intellectual Property Statement .......................... 13 
   Disclaimer of Validity.................................... 14 
   Copyright Statement....................................... 14 
   Acknowledgment ........................................... 14 
    
1. Introduction 

   RFC 3856 [3] describes the usage of SIP for subscriptions and 
   notifications of presence, but the method described in RFC 3261 [1] 
   and RFC3265 [2] (called "currently-defined method" in this document) 
   results in duplicated messaging for each listener between domains.  
   This document provides a additional way to process presence without 
   duplicated messaging. The new method is compatible with the 
   currently-defined Method and is called Hierarchical Method.  

2. Processing Presence Information in Inter-domain 

   This section describes the duplicated messaging in the currently-
   defined method and the hierarchical method being proposed. 

2.1. Currently-defined Method 

   Consider this scenario: there are two domains(Domain A and Domain 
   B)in the SIP network, Server A is a presence server in Domain A and 
   Server B is a presence server in Domain B, both the user Watcher1 and 
 
 
Hong                  Expires December 9, 2006                [Page 2] 

Internet-Draft          Hierarchical presence                June 2006 
    

   Watcher2 in Domain A want to subscribe the Presence User Agent's 
   (PUA's) presence information and the PUA in Domain B. The main steps 
   are shown in Figure 1.: 

     o Watcher1 sends SUBSCRIBE to Server A and Server A forwards the 
       message to Server B. 

     o Server B accepts the request and responds 200, then sends NOTIFY 
       to Server A. Server A only forwards 200 for SUBSCRIBE and NOTIFY 
       to Watcher1. 

     o Watcher2 sends SUBSCRIBE to Server A and Server A forwards the 
       message to Server B. 

     o Server B accepts the request and responds 200, then sends NOTIFY 
       to Server A. Server A only forwards 200 for SUBSCRIBE and NOTIFY 
       to Watcher2. 

     o PUA tells Server B its new state if its state is changed. 

     o Server B sends NOTIFY to tell Watcher1 the new state. 

     o Server B sends NOTIFY to tell Watcher2 the new state. 























 
 
Hong                  Expires December 9, 2006                [Page 3] 

Internet-Draft          Hierarchical presence                June 2006 
    

     +---------Domain A -----------+              +----Domain B---+ 
     |                             |              |               | 
     v                             v              v               v 
   Watcher1      Watcher2       Server A        Server B         PUA 
     | F1 SUBSCRIBE |              |              |               | 
     |--------------|------------->| F2 SUBSCRIBE |               | 
     |              |              |------------->|               | 
     |              |              | F3 200 OK    |               | 
     |              |              |<-------------|               | 
     | F4 200 OK    |              |              |               | 
     |<-------------|--------------|              |               | 
     |              |              | F5 NOTIFY    |               | 
     |              |              |<-------------|               | 
     | F6 NOTIFY    |              |              |               | 
     |<-------------|--------------|              |               | 
     | F7 200 OK    |              |              |               | 
     |--------------|------------->|              |               | 
     |              |              | F8 200 OK    |               | 
     |              |              |------------->|               | 
     |              | F9 SUBSCRIBE |              |               | 
     |              |------------->|              |               | 
     |              |              | F10 SUBSCRIBE|               | 
     |              |              |------------->|               |   
     |              |              | F11 200 OK   |               |             
     |              |              |<-------------|               |  
     |              | F12 200 OK   |              |               |             

     |              |<-------------|              |               |             
     |              |              | F13 NOTIFY   |               |             
     |              |              |<-------------|               |             
     |              | F14 NOTIFY   |              |               |             
     |              |<-------------|              |               |             
     |              | F15 200 OK   |              |               |             
     |              |------------->|              |               |             
     |              |              | F16 200 OK   |               |             
     |              |              |------------->|               |             
     |              |              |              |Update presence|             
     |              |              |              |<--------------|             
     |              |              | F17 NOTIFY   |               |             
     |              |              |<-------------|               |             
     | F18 NOTIFY   |              |              |               |             
     |<-------------|--------------|              |               |             
     | F19 200 OK   |              |              |               |             
     |--------------|------------->|              |               |             
     |              |              | F20 200 OK   |               |             
     |              |              |------------->|               |             
     |              |              | F21 NOTIFY   |               |             
     |              |              |<-------------|               |             
 
 
Hong                  Expires December 9, 2006                [Page 4] 

Internet-Draft          Hierarchical presence                June 2006 
    

     |              | F22 NOTIFY   |              |               |             
     |              |<-------------|              |               |             
     |              |              |              |               |             
   Watcher1      Watcher2       Server A        Server B         PUA 
     |              |              |              |               |             
     |              | F23 200 OK   |              |               |             
     |              |------------->|              |               |             
     |              |              | F24 200 OK   |               |             
     |              |              |------------->|               |             
     |              |              |              |               |             
     |              |              |              |               |             
                                
                               Figure 1 
 
                     
   As we can see, the messages F17 and F21 carry the same information 
   about PUA'S presence. So if many users in Domain A subscribe the 
   PUA's presence information, and if the PUA's presence information is 
   changed, there will be many NOTIFYs (along with their responses) 
   carrying duplicated information between Server A and Server B.  

 

 

 

 

 

 

 

 

 

 

 

 



 
 
Hong                  Expires December 9, 2006                [Page 5] 

Internet-Draft          Hierarchical presence                June 2006 
    

2.2. Hierarchical Method 

   The hierarchical method's basic concept is that Presence Servers 
   subscribe to presence information from other domain's Presence 
   Server.  

   An example is shown in Figure 2. The relationships among Watcher1, 
   Watcher2, PUA, Server A and Server B are the same as Section 2.1. The 
   main steps are: 

     o Watcher1 sends SUBSCRIBE to Server A, Server A responds 202. 

     o Server A itself sends SUBSCRIBE to Server B to subscribe the 
       PUA's presence state. 

     o Server B accepts the Server A's request and responds 200, then 
       sends NOTIFY to tell Server A the PUA's presence state. 

     o Server A gets the PUA's presence state and stores it, then sends 
       NOTIFY to Watcher1. 

     o Watcher2 sends SUBSCRIBE to Server A, Server A responds 202. 

     o Server A sends NOTIFY to Watcher2 as it knows the PUA's presence 
       state. 

     o PUA tells Server B its new state when its state is changed. 

     o Server B sends NOTIFY to tell Server A the new state. 

     o Server A sends NOTIFY to tell Watcher1 and Watcher2 the new 
       state. 

     

    












 
 
Hong                  Expires December 9, 2006                [Page 6] 

Internet-Draft          Hierarchical presence                June 2006 
    

     +---------Domain A -----------+              +----Domain B---+ 
     |                             |              |               | 
     v                             v              v               v  
   Watcher1      Watcher2       Server A        Server B         PUA 
     | F1 SUBSCRIBE |              |              |               | 
     |--------------|------------->|              |               | 
     | F2 202 Accepted             |              |               | 
     |<-------------|--------------|              |               | 
     |              |              | F3 SUBSCRIBE |               | 
     |              |              |------------->|               | 
     |              |              | F4 200 OK    |               | 
     |              |              |<-------------|               | 
     |              |              | F5 NOTIFY    |               | 
     |              |              |<-------------|               | 
     |              |              | F6 200 OK    |               |  
     | F7 NOTIFY    |              |------------->|               | 
     |<-------------|--------------|              |               | 
     | F8 200 OK    |              |              |               | 
     |--------------|------------->|              |               | 
     |              | F9 SUBSCRIBE |              |               | 
     |              |------------->|              |               | 
     |              | F10 202 Accepted            |               |             
     |              |<-------------|              |               |             
     |              | F11 NOTIFY   |              |               |             
     |              |<-------------|              |               |             
     |              | F12 200 OK   |              |               |             
     |              |------------->|              |               |             
     |              |              |              |Update presence|             
     |              |              |              |<--------------|             
     |              |              | F13 NOTIFY   |               |             
     |              |              |<-------------|               |   
     |              |              | F14 200 OK   |               |             
     |              |              |------------->|               |             
     | F15 NOTIFY   |              |              |               |             
     |<-------------|--------------|              |               |             
     | F16 200 OK   |              |              |               |             
     |--------------|------------->|              |               |             
     |              | F17 NOTIFY   |              |               |             
     |              |<-------------|              |               |             
     |              | F18 200 OK   |              |               |             
     |              |------------->|              |               |             
     |              |              |              |               |             
                                
                               Figure 2 
                                
   Note:  Authentication and authorization did not show in this figure. 

          That will be discussed in Section 2.3. 
 
 
Hong                  Expires December 9, 2006                [Page 7] 

Internet-Draft          Hierarchical presence                June 2006 
    

          

    

   The flow chart shows that the NOTIFY messages between Server A and 
   Server B are reduced. Assuming N users in Domain A subscribed the 
   PUA's presence information, and using Currently-defined Method, the 
   number of NOTIFY message sent from Server B to Server A is N. Using 
   Hierarchical Method, the number is 1. Additional, the user in Domain 
   A will quickly get the PUA's presence state if the Server A has 
   gotten this state. 

2.3. Compatibility with RFC 3857  

   RFC 3856 says "In inter-domain scenarios, establishing an 
   authenticated identity of the subscriber is harder.  It is 
   anticipated that authentication will often be established through 
   transitive trust". This document also uses this assumption. 

   Authorization is complex. This document provide one approach, 
   compatible with RFC 3857. Of course, this document does not exclude 
   other authorization mechanisms. Figure 2 shows a example, based on 
   Section 2.2. 























 
 
Hong                  Expires December 9, 2006                [Page 8] 

Internet-Draft          Hierarchical presence                June 2006 
    

     +---------Domain A -----------+              +----Domain B---+ 
     |                             |              |               | 
     v                             v              v               v  
   Watcher1      Watcher2       Server A        Server B         PUA 
     |              |              |              |               | 
     |              |              |              |notify presence|   
     |              |              |              |<--------------| 
     |              |              |              |  F1 SUBSCRIBE | 
     |              |              |            (event=presence.winfo)       
     |              |              |              |<--------------|  
     |              |              |              |  F2 200 OK    | 
     |              |              |              |-------------->| 
     |              |              |              |  F3 NOTIFY    | 
     |              |              |            (event=presence.winfo) 
     |              |              |              |-------------->| 
     |              |              |              |  F4 200 OK    | 
     |              |              |              |<--------------| 
     |              |              |              |               |    
     | F5 SUBSCRIBE(event=presence)|              |               | 
     |--------------|------------->|              |               | 
     | F6 407 Proxy Authentication Required       |               | 
     |<-------------|--------------|              |               | 
     | F7 SUBSCRIBE(event=presence)|              |               | 
     |--------------|------------->|              |               | 
     | F8 202 Accepted             |              |               | 
     |<-------------|--------------|              |               | 
     |              |              | F9 SUBSCRIBE(event=presence) | 
     |              |              |------------->|               | 
     |              |              | F10 200 OK   |               | 
     |              |              |<-------------|               | 
     |              |              | F11 NOTIFY(event=presence)   | 
     |              |              |<-------------|               | 
     |              |              | F12 200 OK   |               |  
     |              |              |------------->|               | 
     |              |              |              |               |    
     |              |              |F13 SUBSCRIBE(event=presence.winfo) 
     |              |              |<-------------|               | 
     |              |              | F14 200 OK   |               |  
     |              |              |------------->|               | 
     |              |              | F15 NOTIFY(event=presence.winfo)     
     |              |              |------------->|               | 
     |              |              | F16 200 OK   |               | 
     |              |              |<-------------|               |   
     |              |              |              |  F17 NOTIFY   | 
     |              |              |            (event=presence.winfo) 
     |              |              |              |-------------->| 
     |              |              |              |  F18 200 OK   | 
 
 
Hong                  Expires December 9, 2006                [Page 9] 

Internet-Draft          Hierarchical presence                June 2006 
    

     |              |              |              |<--------------|   
     |              |              |               make decision  | 
     |              |              |              |               |   
     | F19 NOTIFY(event=presence)  |              |               |  
     |<-------------|--------------|              |               | 
     | F20 200 OK   |              |              |               | 
     |--------------|------------->|              |               | 
     |              |              |              |               | 
     |              | F21 SUBSCRIBE(event=presence)               | 
     |              |------------->|              |               | 
     |              | F22 407 Proxy Authentication Required       | 
     |              |<-------------|              |               | 
     |              | F23 SUBSCRIBE(event=presence)               | 
     |              |------------->|              |               |     
     |              | F24 202 Accepted            |               |             
     |              |<-------------|              |               |  
     |              |              | F25 NOTIFY(event=presence.winfo)     
     |              |              |------------->|               | 
     |              |              | F26 200 OK   |               | 
     |              |              |<-------------|               |       
     |              |              |              |  F27 NOTIFY   | 
     |              |              |            (event=presence.winfo)
     |              |              |              |-------------->| 
     |              |              |              |  F28 200 OK   | 
     |              |              |              |<--------------|   
     |              |              |               make decision  | 
     |              |              |              |               |             
     |              | F29 NOTIFY(event=presence)  |               |             
     |              |<-------------|              |               |             
     |              | F30 200 OK   |              |               |             
     |              |------------->|              |               |             
     |              |              |              |Update presence|             
     |              |              |              |<--------------|             
     |              |              |              |               |             
     |              |              | F31 NOTIFY(event=presence)   |             
     |              |              |<-------------|               |   
     |              |              | F32 200 OK   |               |             
     |              |              |------------->|               |             
     | F33 NOTIFY(event=presence)  |              |               |             
     |<-------------|--------------|              |               |             
     | F34 200 OK   |              |              |               |             
     |--------------|------------->|              |               |             
     |              | F35 NOTIFY(event=presence)  |               |             
     |              |<-------------|              |               |             
     |              | F36 200 OK   |              |               |             
     |              |------------->|              |               |             
     |              |              |              |               |             
 
 
Hong                  Expires December 9, 2006               [Page 10] 

Internet-Draft          Hierarchical presence                June 2006 
    

                                
                               Figure 3 
    

 

3. Presence Server Behavior 

   First of all, the Presence Server MUST know whether the other 
   Domain's Presence Server supports Hierarchical Method. The simplest 
   approach is manual configuration. This document neither supports nor 
   excludes other approaches. 

   If a Presence Server receives a SUBSCRIBE request, the Presence 
   Server SHOULD process the message as follows: 

     o Presence Server got the subscribed user from the SUBSCRIBE 
       message.  

     o If the subscribed user belongs to its domain, then Presence 
       Server process the SUBSCRIBE message using the currently-defined 
       Method.  

     o If the subscribed user does not belong to its domain, but the 
       Presence Server can't use Hierarchical Method then it uses the 
       currently-defined Method. 

     o Otherwise, Presence Server use Hierarchical Method: 

       - Presence Server responds 202 for the SUBSCRIBE, and 
         simultaneously creates (if no dialog already exists) or 
         maintains (if dialog has already been created) dialog according 
         to RFC3265 [2]. 

       - If Presence Server has the subscribed user's presence 
         information, then Presence Server sends NOTIFY message to 
         subscriber. 

       - Otherwise, Presence Server creates new SUBCRIBE according to 
         the Watcher's SUBSCRIBE and sends it to the other domain's 
         Presence Server. 

       - Presence Server distributes the NOTIFY to the subscribers 
         according to dialogs it created when it receives NOTIFY message 
         from other domain's Presence Server.   

   
 
 
Hong                  Expires December 9, 2006               [Page 11] 

Internet-Draft          Hierarchical presence                June 2006 
    

4. UA Considerations 

   UA needn't know the Presence Server using Currently-defined Method or 
   Hierarchical Method, So UA need no additional behavior to support 
   this document. 

5. Security Considerations 

   Security considerations of this document are unchanged from RFC 3856 
   [3] and RFC 3857 [4]. 

6. Acknowledgments 

   We would like to thank Spencer Dawkins, Feng Li, Xinyu Hu, Kewei Zhang,
   Xia Qin, Changsheng Wan, Jian Chen, Palin Yang, Yuping Zhao, Hao Wang, 
   Qikun Wei and Rong Zou for their comments and support of this
   specification. 






























 
 
Hong                  Expires December 9, 2006               [Page 12] 

Internet-Draft          Hierarchical presence                June 2006 
    

7. References 

7.1. Normative References 

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

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

   [3]  Rosenberg, J., "A Presence Event Package for the Session 
         Initiation Protocol (SIP)", RFC 3856, July 2004. 

   [4]  Rosenberg, J., "A Watcher Information Event Template-Package 
         for the Session Initiation Protocol (SIP)", RFC 3857, August 
         2004. 

   [5]  Bradner, S., "Key Words for Use in RFCs to Indicate Requirement 
         Levels", BCP 14, RFC 2119, March 1997. 

7.2. Informative References 

   [6]   Peterson, J., "Enhancements for Authenticated Identity 
          Management in the Session Initiation Protocol (SIP)", Work in 
          Progress, May 2004. 

Author's Addresses 

   Hong Zhou 
   NanJing Institute,Huawei Technologies Co.,Ltd. 
   Floor 10,HuiHong Mansion,No.91 BaiXia Rd. 
   NanJing, P.R. of China  
    
   Phone: +86 25 8456 5478 
   Email: zhouhong@huawei.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 
 
 
Hong                  Expires December 9, 2006               [Page 13] 

Internet-Draft          Hierarchical presence                June 2006 
    

   made any independent effort to identify any such rights.  Information 
   on the procedures with respect to rights in RFC documents can be 
   found in BCP 78 and BCP 79. 

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

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

Disclaimer of Validity 

   This document and the information contained herein are provided on an 
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY 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. 

 






 
 
Hong                  Expires December 9, 2006               [Page 14]