Internet Engineering Task Force (IETF) R. George
Request for Comments: 6132 B. Leiba
Category: Standards Track Huawei Technologies
ISSN: 2070-1721 July 2011
Sieve Notification Using Presence Information
George & Leiba Standards Track [Page 1]
RFC 6132 Sieve Notify: Presence July 2011
Table of Contents
1. Introduction
Sometimes, it's desirable to tailor Sieve [RFC5228] notifications to a user's current situation. Presence information provides some information about the user that would be useful to have access to in these cases. The Notification extension [RFC5435] defines a mechanism to test for presence (the notify_method_capability feature), and defines one test for presence (the "online" notification-capability, described in Section 5 of RFC 5435). This extension defines more presence tests by registering additional notification-capability parameters in the IANA registry, allowing testing of a wider variety of presence information.
1.1. Terminology Used in This Document
The upper-case 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 [RFC2119].
2. Testing Presence Information
This extension uses the notify_method_capability test, as defined in the Sieve [RFC5228] Notify extension [RFC5435], to test presence information. When a Sieve event occurs (mail arrives) for a user, a Sieve script running on behalf of that user can present the user's presence URI (in the "notification-uri" parameter) and test a specific item of notification presence as defined below (in the "notification-capability" parameter) against one or more values (in the "key-list" parameter). This document defines an initial set of items of notification presence, which may be specified in the notification-capability parameter. It is expected that future extensions will add additional presence items derived from diverse sources, including calendar information, geographic location, and so on.
George & Leiba Standards Track [Page 2]
RFC 6132 Sieve Notify: Presence July 2011
Note that, while the items below are documented as similar to items in Extensible Messaging and Presence Protocol (XMPP) [RFC6121], it is not the intent that this extension be tied to XMPP, nor to any particular source of presence, and flexible implementations will be ready for future extensions. Useful informational references for presence data and formats include Presence Information Data Format (PIDF) [RFC3863], RPID: Rich Presence Extensions to PIDF [RFC4480], and GEOPRIV Presence Information Data Format Location Object (PIDF-LO) [RFC5491].
George & Leiba Standards Track [Page 3]
RFC 6132 Sieve Notify: Presence July 2011
offline: The user is offline.
3. Examples
1. This example will send a notification only if the recipient is not "busy". If the test for "busy" is not supported, this example will not send a notification. require ["enotify"];
George & Leiba Standards Track [Page 4]
RFC 6132 Sieve Notify: Presence July 2011
if notify_method_capability "xmpp:tim@example.com" "busy" "no"
George & Leiba Standards Track [Page 5]
RFC 6132 Sieve Notify: Presence July 2011 4. Security ConsiderationsSecurity considerations for Sieve [RFC5228] and the Notify extension [RFC5435] apply equally here. In addition, implementations MUST ensure that users cannot create scripts that access the presence information of others without the proper access controls.
5. IANA Considerations
This registers each presence item as a notification-capability parameter. Future extensions that add new presence items should register those items similarly, using the instructions in Section 9.3 of RFC 5435 [RFC5435].
George & Leiba Standards Track [Page 6]
RFC 6132 Sieve Notify: Presence July 2011
Permanent and readily available reference(s): RFC 6132 Contact information: The Sieve discussion list, <sieve@ietf.org>
6. Acknowledgments
The authors thank Alexey Melnikov for significant early feedback and suggestions.7. References 7.1. Normative References[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
George & Leiba Standards Track [Page 7]
RFC 6132 Sieve Notify: Presence July 2011 7.2. Informative References[RFC3863] Sugano, H., Fujimoto, S., Klyne, G., Bateman, A., Carr,