SIPPING WG O. Koren Internet Draft M. Fortinsky Intended status: Standards Track Comverse Expires: January 2008 July 6, 2007 A Conference List Information Event Package for the Session Initiation Protocol (SIP) draft-koren-sipping-conference-list-event-01.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 January 6, 2008. 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) Koren, et al. Expires January 6, 2008 [Page 1] Internet-Draft Conference List Event For SIP July 2007 and receive notifications that contain the list of conferences to 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.....................................5 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........................................16 Copyright Statement...........................................16 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]). Koren, et al. Expires January 6, 2008 [Page 2] Internet-Draft Conference List Event For SIP July 2007 The user will receive updates (via notifications) whenever there is a change to the user's conference list. Examples of such changes 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 Expires: 3600 Event: conference-list Accept: application/conference-list+xml Koren, et al. Expires January 6, 2008 [Page 3] Internet-Draft Conference List Event For SIP July 2007 The conference server SHOULD check and authorize the subscription, and send the notification with the most updated conference list and status: NOTIFY sip:A@x12.example.com 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: ... 4. Package Description The Subscribe request with the conference-list event uses the same header and structure as defined in [RFC3265]. Koren, et al. Expires January 6, 2008 [Page 4] Internet-Draft Conference List Event For SIP July 2007 4.1 Event package name A new event package is defined (as defined in [RFC3265]): Event: conference-list 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 in 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: Koren, et al. Expires January 6, 2008 [Page 5] Internet-Draft Conference List Event For SIP July 2007 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 "closed" (or any other status that describes the conference state). A conference that a User joins will have an "active" status. The status will be "closed" 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 "closed" 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 Koren, et al. Expires January 6, 2008 [Page 6] Internet-Draft Conference List Event For SIP July 2007 (URI) or other textual informative string. This information MAY be presented on the UI or may be used for any other purposes. 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: Koren, et al. Expires January 6, 2008 [Page 7] Internet-Draft Conference List Event For SIP July 2007 Koren, et al. Expires January 6, 2008 [Page 8] Internet-Draft Conference List Event For SIP July 2007 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 Accept: application/conference-list+xml Expires: 3600 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 Koren, et al. Expires January 6, 2008 [Page 9] Internet-Draft Conference List Event For SIP July 2007 Contact: sip:conference1.example.com Expires: 3600 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: ... Koren, et al. Expires January 6, 2008 [Page 10] Internet-Draft Conference List Event For SIP July 2007 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: 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: Koren, et al. Expires January 6, 2008 [Page 11] Internet-Draft Conference List Event For SIP July 2007 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: ... Koren, et al. Expires January 6, 2008 [Page 12] Internet-Draft Conference List Event For SIP July 2007 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 for the help and support. Koren, et al. Expires January 6, 2008 [Page 13] Internet-Draft Conference List Event For SIP July 2007 10. Change History Changes from draft-koren-sipping-conference-list-event-00: Changed "status" value from "close" to "closed". Fixed syntax of examples. 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. Authors' Addresses Oded Koren Comverse 29 Habarzel St, Tel Aviv 69710, Israel Koren, et al. Expires January 6, 2008 [Page 14] Internet-Draft Conference List Event For SIP July 2007 Phone: +972 3 765 5395 Email: oded.koren@comverse.com URI: http://www.comverse.com Michael Fortinsky Comverse 29 Habarzel St, Tel Aviv 69710, Israel Phone: +972 3 645 4029 Email: michael.fortinsky@comverse.com 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. Koren, et al. Expires January 6, 2008 [Page 15] Internet-Draft Conference List Event For SIP July 2007 Disclaimer of Validity This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Copyright Statement Copyright (C) The IETF Trust (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. Acknowledgment Funding for the RFC Editor function is currently provided by the Internet Society. Koren, et al. Expires January 6, 2008 [Page 16]