SIPPING WG                                                     O. Koren 
Internet-Draft                                                 Comverse 
Expires: July 2007                                      January 7, 2007 
                                    
 
                                      
        A Conference List Information Event Package for the Session 
                         Initiation Protocol (SIP)  
             draft-koren-sipping-conference-list-event-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. 

   This document may only be posted in an Internet-Draft. 

   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 July 7, 2007. 

Abstract 

   This document describes the usage of the Session Initiation Protocol 
   (SIP) for subscriptions and notifications related to conference 
   lists.  

   A new conference list event package is specified. This event package 
   allows a user to subscribe to a single event (the conference-list) 
   and receive notifications that contain the list of conferences to 
 
 
 
O. Koren                 Expires July 7, 2007                  [Page 1] 

Internet-Draft      Conference List Event For SIP          January 2007 
    

   which the user belongs and the status of each conference. The 
   notifications sent from the conference server can contain either the 
   entire list of the user's conferences or a partial list with the 
   updates since the previous notification. 

Table of Contents 

    
   1.    Introduction................................................2 
   2.    Requirements Terminology....................................3 
   3.    Usage Scenario..............................................3 
   4.    Package Description.........................................4 
      4.1   Event package name.......................................4 
      4.2   Subscribe to conference-list event package...............5 
      4.3   Subscription expiration..................................5 
      4.4   NOTIFY Bodies............................................5 
   5.    XML Schema..................................................7 
   6.    Example.....................................................9 
   7.    IANA Considerations........................................13 
   8.    Security Considerations....................................13 
   9.    Acknowledgements...........................................13 
   10.   Change History.............................................14 
   11.   References.................................................14 
      11.1  Normative References....................................14 
      11.2  Informative References..................................14 
   Author's Addresses...............................................14 
   Intellectual Property Statement..................................15 
   Disclaimer of Validity...........................................15 
   Copyright Statement..............................................15 
   Acknowledgment...................................................16 
    
1. Introduction 

   RFC 4575 [RFC4575] defines a SIP Event Package for Conference State. 
   Users can subscribe to a conference Uniform Resource Identifier (URI) 
   and be notified about their conference information.  
   The draft describes a new event package that allows a user to 
   subscribe to a conference-list. 
   By subscribing to the event package, a user can receive a list of all 
   relevant conference URIs (via the notification). 
   The user can then subscribe to each individual conference URI and 
   receive specific conference information (according to [RFC4574]).  
   The user will receive updates (via notifications) whenever there is a 
   change to the user's conference list. Examples of such changes 
 
 
O. Koren                 Expires July 7, 2007                  [Page 2] 

Internet-Draft      Conference List Event For SIP          January 2007 
    

   include the user joining a new conference, the user closing a 
   conference, etc. 
    
2. Requirements Terminology 

   Keywords "MUST", "MUST NOT", "REQUIRED", "SHOULD", "SHOULD NOT" and 
   "MAY" that appear in this document are to be interpreted as described 
   in [RFC2119]. 
    

3. Usage Scenario 

   Users subscribe to the conference-list event package in order to 
   receive the most up-to-date information about their open and closed 
   conferences. This information can be received on any device from 
   which Users can subscribe. There are no restrictions regarding when a 
   device can subscribe to the service. Users can decide to add 
   additional UAs to subscribe to the event and get the most up-to-date 
   recent conference list status. Furthermore, users can switch between 
   different UAs and always get via notification the most updated 
   conference list, which they can then use to subscribe to a specific 
   conference Uniform Resource Identifier (URI) and get additional 
   information (according to [RFC4575]). 
   As an example, User A can subscribe to the conference-list event 
   package as follows: 
    
   SUBSCRIBE sip:A@example.com SIP/2.0 
   Via: SIP/2.0/UDP x12.example.com;branch=z9hG4bKy5as148 
   From: sip:A@example.com;tag=146sa4 
   To: sip:A@example.com 
   Call-ID: 553223@x12.example.com 
   Max-Forwards: 70 
   CSeq: 10 SUBSCRIBE 
   Contact: sip:A@x12.example.com 
   Event: conference-list   
    
   The conference server SHOULD check and authorize the subscription, 
   and send the notification with the most updated conference list and 
   status: 
 
 
O. Koren                 Expires July 7, 2007                  [Page 3] 

Internet-Draft      Conference List Event For SIP          January 2007 
    

    
   NOTIFY sip:A@x12.example.co SIP/2.0 
   Via: SIP/2.0/UDP conference1.example.com;branch=z9hG4bKy5as148 
   From: sip:A@example.com;tag=151fd4 
   To: sip:A@example.com;tag=146sa4 
   Call-ID: 553223@x12.example.com 
   CSeq: 5 NOTIFY 
   Contact: sip:conference1.example.com 
   Event: conference-list 
   Subscription-State: active 
   Max-Forwards: 70 
   Content-Type: application/conference-list+xml 
   Content-Length:  
    
   <?xml version="1.0"?> 
      <conference-list xmlns="urn:ietf:params:xml:ns:conference-list" 
   version="1" state="full"> 
        <conferences resource="sip:A@example.com"> 
         <conference id="sip:conference_111@example.com" display-
   name="sip:conference_111@example.com" status="active"/> 
        </conferences> 
      </conference-list> 
    
    

4. Package Description 

   The Subscribe request with the conference-list event uses the same 
   header and structure as defined in [RFC3265].    
    
4.1 Event package name 

   A new event package is defined (as define in [RFC3265]): 
   Event: conference-list   

 
 
O. Koren                 Expires July 7, 2007                  [Page 4] 

Internet-Draft      Conference List Event For SIP          January 2007 
    

4.2 Subscribe to conference-list event package 

   A user MAY subscribe from any UA to the conference-list event 
   package.  
   The new event package SHOULD NOT include any Body at the Subscription 
   request. All other Subscribe operations (e.g.: Refresh) are the same 
   as defined in [RFC3265].  
   Subscription authentication MUST operate to validate the Subscriber. 
   The Subscription authentication mechanism MAY operate as defined in 
   [RFC3261].  
   Authorization of the subscribing user in the conference server is out 
   of the scope of this draft. 
                       
4.3 Subscription expiration 

   The UA can subscribe with a defined expiration period to the 
   conference server. The subscribing UA MAY use the Expires header 
   field to determine the subscription period. 
    
4.4 NOTIFY Bodies 

   The conference-list notification body is an XML document that MUST be 
   well formed and SHOULD be valid.  The conference-list XML document 
   MUST be based on XML 1.0 and MUST be encoded by using UTF-8. The 
   notify body structure and format is described by the XML schema in 
   Section 5. 
   The notification from the conference server contains a new Content-
   Type:  
   Content-Type: application/conference-list+xml 
    
   The XML structure below describes the new conference-list Content-
   Type body: 
    
   <?xml version="1.0"?> 
      <conference-list xmlns="urn:ietf:params:xml:ns:conference-list" 
   version="1" state="full"> 
       <conferences resource="sip:A@example.com"> 


 
 
O. Koren                 Expires July 7, 2007                  [Page 5] 

Internet-Draft      Conference List Event For SIP          January 2007 
    

        <conference id="sip:conference_111@example.com" display-
   name="sip:conference_111@example.com" status="active"/> 
       </conferences> 
      </conference-list> 
    
   The conference list notification can include a full or partial list 
   of URIs (in the state value). In case of state="full" the entire 
   conference list MUST be sent from the conference server to the 
   subscribed User. When state="partial", part of the conference list 
   MUST be sent from the conference server to the subscribed user.  
   The partial list SHOULD reflect the delta changes from the previous 
   notification. The first notification to a subscribed user MUST be a 
   full notification.  
    
   The "version" attribute is used to determine the sequence of 
   notifications to the subscribed user. The conference server MUST 
   increases the "version" for each notification within the same 
   subscription. 
    
   The conference "id" describes the User's unique conference Uniform 
   Resource Identifier (URI). The "status" value defines the conference 
   status - it may be "active" or "close" (or any other status that 
   describes the conference state). A conference that a User joins will 
   have an "active" status. The status will be "close" when a User 
   closes an existing conference and a conference-list notification will 
   be sent with the updated status value. "status" MUST be sent both in 
   "partial" and "full" notifications. 
   A "full" state will include only the conferences in "active" status 
   while the "partial" state MAY include "active" and/or "close" status. 
   It is the responsibility of the UA of the subscriber to represent the 
   complete conference list and status to the user.  
    
   The display-name value MAY be included in the conference tag. The 
   display-name value MAY be a conference Uniform Resource Identifier 
   (URI) or other textual informative string. This information MAY be 
   presented on the UI or may be used for any other purposes. 
    



 
 
O. Koren                 Expires July 7, 2007                  [Page 6] 

Internet-Draft      Conference List Event For SIP          January 2007 
    

5. XML Schema 

   The following is the XML schema for the application/conference-
   list+xml data format.  
   The notification body MUST follow below XML Schema format and 
   structure: 
    
   <?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
   <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
   xmlns="urn:ietf:params:xml:ns:conference_list" 
   targetNamespace="urn:ietf:params:xml:ns:conference_list" 
   elementFormDefault="qualified"> 
      <xs:element name="conference-list"> 
         <xs:complexType> 
            <xs:sequence> 
               <xs:element name="conferences"> 
                  <xs:complexType> 
                     <xs:sequence> 
                        <xs:element name="conference" 
   maxOccurs="unbounded"> 
                           <xs:complexType> 
                              <xs:attribute name="id" use="required"> 
                                 <xs:simpleType> 
                                    <xs:restriction base="xs:string"/> 
                                 </xs:simpleType> 
                              </xs:attribute> 
                              <xs:attribute name="display-name" 
   use="required"> 
                                 <xs:simpleType> 
                                    <xs:restriction base="xs:string"/> 
                                 </xs:simpleType> 
                              </xs:attribute> 
                              <xs:attribute name="status" 
   use="required"> 

 
 
O. Koren                 Expires July 7, 2007                  [Page 7] 

Internet-Draft      Conference List Event For SIP          January 2007 
    

                                 <xs:simpleType> 
                                    <xs:restriction base="xs:string"> 
                                       <xs:enumeration value="active"/> 
                                       <xs:enumeration value="close"/> 
                                    </xs:restriction> 
                                 </xs:simpleType> 
                              </xs:attribute> 
                           </xs:complexType> 
                        </xs:element> 
                     </xs:sequence> 
                     <xs:attribute name="resource" use="required"> 
                        <xs:simpleType> 
                           <xs:restriction base="xs:string"/> 
                        </xs:simpleType> 
                     </xs:attribute> 
                  </xs:complexType> 
               </xs:element> 
            </xs:sequence> 
            <xs:attribute name="version" use="required"> 
               <xs:simpleType> 
                  <xs:restriction base="xs:integer"/> 
               </xs:simpleType> 
            </xs:attribute> 
            <xs:attribute name="state" use="required"> 
               <xs:simpleType> 
                  <xs:restriction base="xs:string"> 
                     <xs:enumeration value="partial"/> 
                     <xs:enumeration value="full"/> 
                  </xs:restriction> 
               </xs:simpleType> 
            </xs:attribute> 

 
 
O. Koren                 Expires July 7, 2007                  [Page 8] 

Internet-Draft      Conference List Event For SIP          January 2007 
    

         </xs:complexType> 
      </xs:element> 
   </xs:schema> 
    
6. Example   

   In the following example, Bob subscribes to the conference server in 
   order to get the entire conference-list.  
        
   Bob SUBSCRIBE to conference-list 
    
   SUBSCRIBE sip:Bob@example.com SIP/2.0 
   Via: SIP/2.0/UDP x12.example.com;branch=z9hG4bKy5as148 
   From: sip:Bob@example.com;tag=146sa4 
   To: sip:Bob@example.com 
   Call-ID: 553542@x12.example.com 
   Max-Forwards: 70 
   CSeq: 1 SUBSCRIBE 
   Contact: sip:Bob@x12.example.com 
   Event: conference-list  
         
   The conference server responds "200 OK" to the conference-list 
   SUBSCRIBE request. 
    
   SIP/2.0 200 OK 
   Via: SIP/2.0/UDP x12.example.com;branch=z9hG4bKy5as148 
   From: sip:Bob@example.com;tag=146sa4 
   To: sip:Bob@example.com;tag=1251fd 
   Call-ID: 553542@x12.example.com 
   CSeq: 1 SUBSCRIBE 
   Contact: sip:conference1.example.com 
   Expires: 3600 
   Event: conference-list 
 
 
O. Koren                 Expires July 7, 2007                  [Page 9] 

Internet-Draft      Conference List Event For SIP          January 2007 
    

    
   Then the conference server sends a first full NOTIFY to the 
   conference-list SUBSCRIBE.  
    
   NOTIFY sip:Bob@x12.example.com SIP/2.0 
   Via: SIP/2.0/UDP conference1.example.com;branch=z9hG4bKy5as148 
   From: sip:Bob@example.com;tag=1251fd 
   To: sip:Bob@example.com;tag=146sa4 
   Call-ID: 553542@x12.example.com 
   CSeq: 5 NOTIFY 
   Contact: sip:conference1.example.com 
   Event: conference-list 
   Subscription-State: active 
   Max-Forwards: 70 
   Content-Type: application/conference-list+xml 
   Content-Length:  
    
   <?xml version="1.0"?> 
      <conference-list xmlns="urn:ietf:params:xml:ns:conference-list" 
   version="1" state="full"> 
   <conferences resource="sip:Bob@example.com"> 
       <conference id="sip:conference_111@example.com" display-
   name="sip:conference_111@example.com" status="active"/> 
        <conference id="sip:conference_112@example.com" display-
   name="sip:conference_112@example.com" status="active"/> 
        <conference id="sip:conference_113@example.com" display-
   name="sip:conference_113@example.com" status="active"/> 
        <conference id="sip:conference_114@example.com" display-
   name="sip:conference_114@example.com" status="active"/> 
       </conferences> 
      </conference-list> 
    
   Bob responds with "200 OK" to the NOTIFY: 

 
 
O. Koren                 Expires July 7, 2007                 [Page 10] 

Internet-Draft      Conference List Event For SIP          January 2007 
    

    
   SIP/2.0 200 OK 
   Via: SIP/2.0/UDP conference1.example.com;branch=z9hG4bKy5as148 
   From: sip:Bob@example.com;tag=1251fd 
   To: sip:Bob@example.com;tag=146sa4 
   Call-ID: 553542@x12.example.com 
   CSeq: 5 NOTIFY 
    
   Partial NOTIFY to conference-list SUBSCRIBE due to changes in 
   existing conferences (conference_111 & conference_114 closed) and 
   joining a new conference (conference_115) 
    
   NOTIFY sip:Bob@x12.example.com SIP/2.0 
   Via: SIP/2.0/UDP conference1.example.com;branch=z9hG4bKy5as148  
   From: sip:Bob@example.com;tag=1251fd 
   To: sip:Bob@example.com;tag=146sa4 
   Call-ID: 553542@x12.example.com 
   CSeq: 14 NOTIFY 
   Contact: sip:conference1.example.com 
   Event: conference-list 
   Subscription-State: active 
   Max-Forwards: 70 
   Content-Type: application/conference-list+xml 
   Content-Length:  
    
    
   <?xml version="1.0"?> 
      <conference-list xmlns="urn:ietf:params:xml:ns:conference-list" 
   version="2" state="partial"> 
       <conferences resource="sip:Bob@example.com"> 
        <conference id="sip:conference_111@example.com" display-
   name="sip:conference_111@example.com" status="close"/> 

 
 
O. Koren                 Expires July 7, 2007                 [Page 11] 

Internet-Draft      Conference List Event For SIP          January 2007 
    

        <conference id="sip:conference_114@example.com" display-
   name="sip:conference_114@example.com" status="close"/> 
        <conference id="sip:conference_115@example.com" display-
   name="sip:conference_115@example.com" status="active"/> 
       </conferences> 
      </conference-list> 
    
   Bob responds with "200 OK" to the partial NOTIFY: 
    
   SIP/2.0 200 OK 
   Via: SIP/2.0/UDP conference1.example.com;branch=z9hG4bKy5as148 
   From: sip:Bob@example.com;tag=1251fd 
   To: sip:Bob@example.com;tag=146sa4 
   Call-ID: 553542@x12.example.com 
   CSeq: 14 NOTIFY 
    
   Bob subscribes from another UA to conference-list and gets a new full 
   notification from the conference server (with the most updated 
   conference status): 
    
   NOTIFY sip:Bob@x12.example.com SIP/2.0 
   Via: SIP/2.0/UDP conference1.example.com;branch=z9hG4bKy5as148 
   From: sip:Bob@example.com;tag=1251fd 
   To: sip:Bob@example.com;tag=146sa4 
   Call-ID: 553635@x12.example.com 
   CSeq: 35 NOTIFY 
   Contact: sip:conference1.example.com 
   Event: conference-list 
   Subscription-State: active 
   Max-Forwards: 70 
   Content-Type: application/conference-list+xml 
   Content-Length:  
    
 
 
O. Koren                 Expires July 7, 2007                 [Page 12] 

Internet-Draft      Conference List Event For SIP          January 2007 
    

   <?xml version="1.0"?> 
      <conference-list xmlns="urn:ietf:params:xml:ns:conference-list" 
   version="1" state="full"> 
       <conferences resource="sip:Bob@example.com"> 
        <conference id="sip:conference_112@example.com" display-
   name="sip:conference_112@example.com" status="active"/> 
        <conference id="sip:conference_113@example.com" display-
   name="sip:conference_113@example.com" status="active"/> 
        <conference id="sip:conference_115@example.com" display-
   name="sip:conference_115@example.com" status="active"/> 
       </conferences> 
      </conference-list> 
    
   Bob responds with "200 OK" to the NOTIFY: 
    
   SIP/2.0 200 OK 
   Via: SIP/2.0/UDP conference1.example.com;branch=z9hG4bKy5as148  
   From: sip:Bob@example.com;tag=1251fd 
   To: sip:Bob@example.com;tag=146sa4 
   Call-ID: 553635@x12.example.com 
   CSeq: 35 NOTIFY 
    
7. IANA Considerations 

   TBD 
    
8. Security Considerations 

   TBD 
    
9. Acknowledgements 

   Thanks to Aloni Tali-Natali and Michael Fortinsky for their help and 
   support. 
    
 
 
O. Koren                 Expires July 7, 2007                 [Page 13] 

Internet-Draft      Conference List Event For SIP          January 2007 
    

10. Change History 

   TBD 
    
11. References 

11.1  Normative References 

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate 
      Requirement Levels", BCP 14, RFC 2119, March 1997. 
    
   [RFC3261]  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. 
    
   [RFC3265]  Roach, A., "Session Initiation Protocol (SIP)-Specific 
      Event Notification", RFC 3265, June 2002. 
     
   [RFC4575]  Rosenberg, J., Schulzrinne, H., Levin, O. Ed., "A Session 
      Initiation Protocol (SIP) Event Package for Conference State", 
      August 2006. 
    
11.2  Informative References 

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

Author's Addresses 

   Oded Koren 
   Comverse  
   29 Habarzel St, 
   Tel Aviv 69710, Israel 
    
   Phone: +972 3 765 5395 
   Email: oded.koren@comverse.com  

 
 
O. Koren                 Expires July 7, 2007                 [Page 14] 

Internet-Draft      Conference List Event For SIP          January 2007 
    

   URI:   http://www.comverse.com 
    
Intellectual Property Statement 

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

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

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

Disclaimer of Validity 

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

   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. 




 
 
O. Koren                 Expires July 7, 2007                 [Page 15] 

Internet-Draft      Conference List Event For SIP          January 2007 
    

Acknowledgment 

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

    









































 
 
O. Koren                 Expires July 7, 2007                 [Page 16]