Network Working Group K. Kiss Internet-Draft E. Leppanen Expires: August 25, 2003 H. Khartabil Nokia February 24, 2003 Requirements for Filtering of Watcher Information draft-kiss-simple-winfo-filter-reqs-00 Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. 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. Copyright Notice Copyright (C) The Internet Society (2003). All Rights Reserved. Abstract This document defines a set of structured requirements whereby a watcher information subscriber (client) may select specific information to be received in the watcherinfo notification sent by the notifier (server). The purpose is to limit the content so that only essential information is delivered by the server. Also the preference for full or partial state information is considered in requirements. Internet-Draft Expires: August 25, 2003 [Page 1] Kiss et al. Winfo filtering requirements February 2003 Table of Contents 1 Introduction 3 2 Conventions used in this document 3 3.1 Common syntax 3 3.2 Package Identification 3 3.3 Target URI 3 3.4 Notification Content Limiting 3 3.4.1 Logical Expressions 4 3.4.2 Status 4 3.4.3 Event causing the transition 4 3.4.4 Expiration 4 3.4.5 Duration of subscription 4 3.4.6 Selected watchers 4 3.4.7 Partial or full state 4 4.1 SUBSCRIBE method 4 4.1.1 Retention of filter settings 5 4.1.2 Changing filter settings 5 4.2 Server does not support filters 5 4.3 Server does not support filter settings 5 4.4 Server can no longer support filter settings 5 5 Security considerations 5 6 Example Applications for Notification Filtering 5 7 Acknowledgements 6 8 Normative References 6 9 Informative References 6 10 Author's Addresses 6 1 Introduction SIP event notification is described in [2]. It defines a general framework for subscriptions and notifications for SIP event packages. Concrete applications of the general event framework to a specific group of events are described in [3] (user presence) and [4] (watcher information). The watcher information refers to the set of users subscribed to a particular resource within a particular event package. Watcher information changes dynamically as users subscribe, unsubscribe, are approved, or rejected. A client can subscribe to this information. As the inherent usage of event packages grows, the client needs some mechanisms for controlling the event notifications at the source. Evidence of this need is found in [6]. The Internet Draft describing the watcher information template package [4] mentions the possibility for filtering. Accordingly, the SUBSCRIBE request may contain a body for filtering the watcher information subscription. However, the definition of filtering has been left out of the scope of the Internet Draft. As an example, the body of the SUBSCRIBE request may include an indication whether the notifications should contain partial or full state information. Internet-Draft Expires: August 25, 2003 [Page 2] Kiss et al. Winfo filtering requirements February 2003 These mechanisms are expected to be particularly valuable to users of wireless devices. The characteristics of these devices typically include low bandwidth, low data processing capabilities, small display and limited battery power. Such devices can benefit from the ability to filter the amount of information generated at the source of the event notification. However, it is expected that the control mechanisms for event notifications add value for all users irrespectively of their device or network access characteristics. Sections 3 and 4 of this draft propose a set of requirements whereby a client may specify which notifications it is interested in. That is, a means to specify filtering rules to be executed by the server. Section 6 provides a few example applications of notification filtering. 2 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]. 3 Requirements for Specification of Filters The following requirements relate to the creation of filters (rules). 3.1 Common syntax A common set of constructs MUST be defined for the creation of rules. There MUST be a common set of operations that follow a common syntax. The client MUST be possible to define different rules for different purposes using a common filtering mechanism. 3.2 Package Identification A means is REQUIRED whereby the client may specify the package the rules apply to. 3.3 Target URI It MUST be possible for the client to indicate the target user to which a certain filter criteria is applied. 3.4 Notification Content Limiting This chapter presents requirements for specifying the content to be sent in the notifications. It MUST be possible for the client to specify the watcher XML elements [5] to be delivered in the notification. Internet-Draft Expires: August 25, 2003 [Page 3] Kiss et al. Winfo filtering requirements February 2003 3.4.1 Logical Expressions It MUST be possible to specify logical expressions based on the value of elements defined in the template-package for the purpose of determining what to send in the notification. It MUST be possible to construct expressions that combine multiple tests. 3.4.2 Status The client MUST be able to indicate to the server to include only those watchers in the notifications which are in a specific status. 3.4.3 Event causing the transition The client MUST be able to indicate to the server to include only those watchers in the notifications which are transitioned in their current status because of a specific event. 3.4.4 Expiration The client MUST be able to indicate to the server to include only those watchers in the notifications which have subscription lifetime higher than (less than) a specific amount of seconds. 3.4.5 Duration of subscription The client MUST be able to indicate to the server to include only those watchers in the notifications which are subscribed for a duration higher than (less than) a specific amount of seconds. 3.4.6 Selected watchers The client MUST be able to indicate to the server to include only certain watchers (e.g. watchers from a particular domain, specific watchers defined by the filters) in the notifications. 3.4.7 Partial or full state It MUST be possible for the client to be able to select whether full or partial state of the watcher information is delivered. 4 Requirements for uploading rules (Operational Rules) It MUST be possible for the client to upload the rules to the server and know the status - accepted or rejected. 4.1 SUBSCRIBE method Placing filtering rules in the body of the subscription MUST be supported. Internet-Draft Expires: August 25, 2003 [Page 4] Kiss et al. Winfo filtering requirements February 2003 4.1.1 Retention of filter settings The server MUST retain the uploaded filter setting for the duration of the subscription. 4.1.2 Changing filter settings It MUST be possible to change the filter settings during a subscription. It MUST be possible for the client to reset the filter settings to the service (server) defined default. 4.2 Server does not support filters If the server does not support filters (the content type) then it MUST be able to indicate so in a response. 4.3 Server does not support filter settings If the server does not support or understand the filter settings, it MUST explicitly indicate so in a response to the SUBSCRIBE request or in the NOTIFY request. The server MAY indicate the general reason the request is not supported or understood, e.g. by returning a specific reason value for the event. 4.4 Server can no longer support filter settings The server MUST be able to terminate the subscription if the active filter is no longer applicable due to a policy in the server. 5 Security considerations Further security requirements over [3] have not yet been identified. 6 Example Applications for Notification Filtering * A presentity wishes to see who has subscribed to their presence. The presentity only wishes to see information for subscribers who are co-workers. * A presentity makes subscription to get information about active watchers. * A presentity makes subscription to get information about defined, new or unauthorised watchers. * A presentity requests history information of watchers. * A user requests full state information every time something changes. Internet-Draft Expires: August 25, 2003 [Page 5] Kiss et al. Winfo filtering requirements February 2003 7 Acknowledgements The authors would like to thank Jonathan Rosenberg, Tim Moran and Juha Kalliokulju for their valuable input. 8 Normative References [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997 9 Informative References [2] Roach, A., "Session Initiation Protocol (SIP)-Specific Event Notification", RFC 3265, June 2002 [3] Rosenberg, J., "A Presence Event package for the Session Initiation Protocol (SIP)", draft-ietf-simple-presence-10, Internet Draft, January 2003, work in progress [4] Rosenberg, J., "A Watcher Information Event Template-Package for the Session Initiation Protocol (SIP)", draft-ietf-simple-winfo-package-05, Internet Draft, January 2003, work in progress [5] Rosenberg, J., "An Extensible Markup Language (XML) Based Format for Watcher Information", draft-ietf-simple-winfo-format-04, Internet Draft, January 2003, work in progress [6] Kiss, K., "Requirements for Presence Service in 3GPP Wireless Systems", draft-kiss-simple-presence-wireless-reqs-02.txt, February 2003 10 Author's Addresses Krisztian Kiss Nokia P.O. Box 100 FIN-33721 Tampere FINLAND Tel: +358 50 4835363 E-mail: krisztian.kiss@nokia.com Eva Leppanen Nokia P.O Box 785 FIN-33101 Tampere FINLAND Tel: +358 7180 77066 E-mail: eva-maria.leppanen@nokia.com Internet-Draft Expires: August 25, 2003 [Page 6] Kiss et al. Winfo filtering requirements February 2003 Hisham Khartabil Nokia P.O. Box 321 FIN-00045 NOKIA GROUP FINLAND Tel: + 358 7180 76161 E-mail: hisham.khartabil@nokia.com Full Copyright Statement Copyright (C) The Internet Society (2003). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS 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. Acknowledgement Funding for the RFC Editor function is currently provided by the Internet Society. Internet-Draft Expires: August 25, 2003 [Page 7]