draft-ietf-sieve-notify-xmpp-06.txt   draft-ietf-sieve-notify-xmpp-07.txt 
Sieve Working Group P. Saint-Andre Sieve Working Group P. Saint-Andre
Internet-Draft XMPP Standards Foundation Internet-Draft XMPP Standards Foundation
Intended status: Standards Track A. Melnikov Intended status: Standards Track A. Melnikov
Expires: May 10, 2008 Isode Limited Expires: June 7, 2008 Isode Limited
November 7, 2007 December 5, 2007
Sieve Notification Mechanism: xmpp Sieve Notification Mechanism: xmpp
draft-ietf-sieve-notify-xmpp-06 draft-ietf-sieve-notify-xmpp-07
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware 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 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. aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
skipping to change at page 1, line 35 skipping to change at page 1, line 35
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on May 10, 2008. This Internet-Draft will expire on June 7, 2008.
Copyright Notice Copyright Notice
Copyright (C) The IETF Trust (2007). Copyright (C) The IETF Trust (2007).
Abstract Abstract
This document describes a profile of the Sieve extension for This document describes a profile of the Sieve extension for
notifications, to allow notifications to be sent over the Extensible notifications, to allow notifications to be sent over the Extensible
Messaging and Presence Protocol (XMPP), also known as Jabber. Messaging and Presence Protocol (XMPP), also known as Jabber.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3
2. Definition . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Definition . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1. Notify parameter "method" . . . . . . . . . . . . . . . . 4 2.1. Notify parameter "method" . . . . . . . . . . . . . . . . 3
2.2. Notify tag ":from" . . . . . . . . . . . . . . . . . . . . 4 2.2. Test notify_method_capability . . . . . . . . . . . . . . 3
2.3. Notify tag ":options" . . . . . . . . . . . . . . . . . . 4 2.3. Notify tag ":from" . . . . . . . . . . . . . . . . . . . . 4
2.4. Notify tag ":importance" . . . . . . . . . . . . . . . . . 4 2.4. Notify tag ":importance" . . . . . . . . . . . . . . . . . 4
2.5. Notify tag ":message" . . . . . . . . . . . . . . . . . . 4 2.5. Notify tag ":message" . . . . . . . . . . . . . . . . . . 4
2.6. Notify tag ":options" . . . . . . . . . . . . . . . . . . 4
2.7. XMPP syntax . . . . . . . . . . . . . . . . . . . . . . . 4
3. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4. Requirements Conformance . . . . . . . . . . . . . . . . . . . 6 3.1. Basic action . . . . . . . . . . . . . . . . . . . . . . . 6
5. Internationalization Considerations . . . . . . . . . . . . . 7 3.2. Action with body . . . . . . . . . . . . . . . . . . . . . 6
6. Security Considerations . . . . . . . . . . . . . . . . . . . 7 3.3. Action with body, importance, message, and subject . . . . 7
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 3.4. Action with from, message, importance, body, and
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 8 subject . . . . . . . . . . . . . . . . . . . . . . . . . 8
8.1. Normative References . . . . . . . . . . . . . . . . . . . 8 4. Requirements Conformance . . . . . . . . . . . . . . . . . . . 9
8.2. Informative References . . . . . . . . . . . . . . . . . . 9 5. Internationalization Considerations . . . . . . . . . . . . . 10
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 9 6. Security Considerations . . . . . . . . . . . . . . . . . . . 11
Intellectual Property and Copyright Statements . . . . . . . . . . 11 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 11
8.1. Normative References . . . . . . . . . . . . . . . . . . . 11
8.2. Informative References . . . . . . . . . . . . . . . . . . 12
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 13
Intellectual Property and Copyright Statements . . . . . . . . . . 14
1. Introduction 1. Introduction
1.1. Overview 1.1. Overview
The [NOTIFY] extension to the [SIEVE] mail filtering language is a The [NOTIFY] extension to the [SIEVE] mail filtering language is a
framework for providing notifications by employing URIs to specify framework for providing notifications by employing URIs to specify
the notification mechanism. This document defines how xmpp URIs (see the notification mechanism. This document defines how xmpp URIs (see
[XMPP-URI]) are used to generate notifications via the Extensible [XMPP-URI]) are used to generate notifications via the Extensible
Messaging and Presence Protocol (see [XMPP]), which is widely Messaging and Presence Protocol [XMPP], which is widely implemented
implemented in Jabber instant messaging technologies. in Jabber instant messaging technologies.
1.2. Terminology 1.2. Terminology
This document inherits terminology from [NOTIFY], [SIEVE], and This document inherits terminology from [NOTIFY], [SIEVE], and
[XMPP]. [XMPP].
The capitalized key words "MUST", "MUST NOT", "REQUIRED", "SHALL", The capitalized key words "MUST", "MUST NOT", "REQUIRED", "SHALL",
"SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT
RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be
interpreted as described in [TERMS]. interpreted as described in [TERMS].
2. Definition 2. Definition
The xmpp mechanism results in the sending of an XMPP message to
notify a recipient about an email message. The general XMPP syntax
is as follows:
o The notification MUST be an XMPP <message/> stanza.
o The value of the XMPP 'type' attribute MUST be 'headline' or
'normal'.
o The value of the XMPP 'from' attribute MUST be the XMPP address of
the notification service associated with the SIEVE engine.
o The XMPP <message/> stanza MAY include a <subject/> child element
whose value is some configurable text indicating that the message
is a Sieve notification.
o The notification SHOULD include a URI for the recipient to use as
a hint in locating the message, encapsulated as the XML character
data of a <url/> child element of an <x/> element qualified by the
'jabber:x:oob' namespace as specified in [OOB]. If included, the
URI SHOULD be an Internet Message Access Protocol [IMAP] URL that
specifies the location of the message as defined in [IMAP-URL],
but MAY be another URI type that can specify or hint at the
location of an email message, such as a URI for an HTTP resource
[HTTP] or a POP3 mailbox [POP-URL] at which the message can be
accessed. It is not expected that an XMPP user agent shall
directly handle such a URI, but instead that it shall invoke an
appropriate helper application to handle the URI.
The recommended mapping of the Sieve notify action into XMPP syntax
is described in the following sections.
2.1. Notify parameter "method" 2.1. Notify parameter "method"
The "method" parameter MUST be a URI that conforms to the xmpp URI The "method" parameter MUST be a URI that conforms to the xmpp URI
scheme (as specified in [XMPP-URI]) and that identifies an XMPP scheme (as specified in [XMPP-URI]) and that identifies an XMPP
account associated with the email inbox. The URI MAY include the account associated with the email inbox. The URI MAY include the
resource identifier portion of an XMPP address but SHOULD NOT include resource identifier of an XMPP address and/or the query component
an authority component, query component, or fragment identifier portion of an XMPP URI, but SHOULD NOT include an authority component
component. The processing application MUST extract an XMPP address or fragment identifier component. The processing application MUST
from the URI in accordance with the processing rules specified in extract an XMPP address from the URI in accordance with the
[XMPP-URI]. The resulting XMPP address MUST be encapsulated in XMPP processing rules specified in [XMPP-URI]. The resulting XMPP address
syntax as the value of the XMPP 'to' attribute. MUST be encapsulated in XMPP syntax as the value of the XMPP 'to'
attribute.
2.2. Notify tag ":from" 2.2. Test notify_method_capability
The ":from" tag has no special meaning for this notification In response to a notify_method_capability test for the "online"
mechanism, and this specification puts no restriction on its use. As notification-capability, an implementation SHOULD return a value of
noted, the value of the XMPP 'from' attribute specified in the XMPP "yes" if it has knowledge of an active presence session (see
notification message MUST be the XMPP address of the notification [XMPP-IM]) for the specified XMPP notification-uri; otherwise it
service associated with the SIEVE engine. The value of the ":from" SHOULD return a value of "maybe" (since typical XMPP systems may not
tag MAY be transformed into XMPP syntax; if so, it SHOULD be allow a SIEVE engine to gain knowledge about the presence of XMPP
encapsulated as the value of an XMPP [SHIM] header named "Reply-To". entities).
2.3. Notify tag ":options" 2.3. Notify tag ":from"
The ":options" tag has no special meaning for this notification The ":from" tag has no special meaning for this notification
mechanism. Any handling of this tag is the responsibility of an mechanism, and this specification puts no restriction on its use.
implementation. The value of the ":from" tag MAY be transformed into XMPP syntax; if
so, it SHOULD be encapsulated as the value of an XMPP Stanza Headers
and Internet Metadata [SHIM] header named "Reply-To".
2.4. Notify tag ":importance" 2.4. Notify tag ":importance"
The ":importance" tag has no special meaning for this notification The ":importance" tag has no special meaning for this notification
mechanism, and this specification puts no restriction on its use. mechanism, and this specification puts no restriction on its use.
The value of the ":importance" tag MAY be transformed into XMPP The value of the ":importance" tag MAY be transformed into XMPP
syntax (in addition to or instead of including in the default syntax (in addition to or instead of including appropriate text in
message); if so, it SHOULD be encapsulated as the value of an XMPP the XML character data of the XMPP <body/> element); if so, it SHOULD
[SHIM] header named "Urgency", where the XML character of that header be encapsulated as the value of an XMPP Stanza Headers and Internet
is "high" if the value of the ":importance" tag is "1", "medium" if Metadata [SHIM] header named "Urgency", where the XML character of
the value of the ":importance" tag is "2", and "low" if the value of that header is "high" if the value of the ":importance" tag is "1",
the ":importance" tag is "3". "medium" if the value of the ":importance" tag is "2", and "low" if
the value of the ":importance" tag is "3".
2.5. Notify tag ":message" 2.5. Notify tag ":message"
If the ":message" tag is included, that string MUST be transformed If the ":message" tag is included, that string MUST be transformed
into the XML character data of an XMPP <body/> element (where the into the XML character data of an XMPP <body/> element (where the
string is generated according to the guidelines specified in Section string is generated according to the guidelines specified in Section
3.6 of [NOTIFY]). If the ":message" tag is not included, the rule 3.6 of [NOTIFY]).
specified in [NOTIFY] SHOULD be followed.
2.6. Notify tag ":options"
The ":options" tag has no special meaning for this notification
mechanism. Any handling of this tag is the responsibility of an
implementation.
2.7. XMPP syntax
The xmpp mechanism results in the sending of an XMPP message to
notify a recipient about an email message. The general XMPP syntax
is as follows:
o The notification MUST be an XMPP <message/> stanza.
o The value of the XMPP 'from' attribute MUST be the XMPP address of
the notification service associated with the SIEVE engine.
o The value of the XMPP 'to' attribute MUST be the XMPP address
specified in the XMPP URI contained in the "method" notify
parameter.
o The value of the XMPP 'type' attribute MUST be 'headline' or
'normal'.
o The XMPP <message/> stanza MUST include a <body/> child element.
If the ":message" tag is included in the Sieve script, that string
MUST be used as the XML character data of the <body/> element. If
not and if the XMPP URI contained in the "method" notify parameter
specified a "body" parameter in the query component, that value
SHOULD be used. Otherwise the XML character data SHOULD be some
configurable text indicating that the message is a Sieve
notification.
o The XMPP <message/> stanza MAY include a <subject/> child element.
If the XMPP URI contained in the "method" notify parameter
specified a "subject" parameter in the query component, that value
SHOULD be used as the XML character data of the <subject/>
element. Otherwise the XML character data SHOULD be some
configurable text indicating that the message is a Sieve
notification.
o The XMPP <message/> stanza SHOULD include a URI for the recipient
to use as a hint in locating the message, encapsulated as the XML
character data of a <url/> child element of an <x/> element
qualified by the 'jabber:x:oob' namespace as specified in [OOB].
If included, the URI SHOULD be an Internet Message Access Protocol
[IMAP] URL that specifies the location of the message as defined
in [IMAP-URL], but MAY be another URI type that can specify or
hint at the location of an email message, such as a URI for an
HTTP resource [HTTP] or a POP3 mailbox [POP-URL] at which the
message can be accessed. It is not expected that an XMPP user
agent shall directly handle such a URI, but instead that it shall
invoke an appropriate helper application to handle the URI.
o The XMPP <message/> stanza MAY include an XMPP Stanza Headers and
Internet Metadata [SHIM] header named "Reply-To", which
encapsulates the value of the ":from" tag.
o The XMPP <message/> stanza MAY include an XMPP Stanza Headers and
Internet Metadata [SHIM] header named "Resent-From", which
encapsulates the value of the envelope recipient address of the
original email message that triggered the notification.
3. Examples 3. Examples
In the following examples, the sender of the email has an address of In the following examples, the sender of the email has an address of
<mailto:juliet@example.org>, the entity to be notified has an XMPP <mailto:juliet@example.org>, the entity to be notified has an email
address of romeo@example.com (resulting in an XMPP URI of address of <mailto:romeo@example.com> and an XMPP address of
<xmpp:romeo@example.com>), and the notification service associated romeo@im.example.com (resulting in an XMPP URI of
with the SIEVE engine has an XMPP address of notify.example.com <xmpp:romeo@im.example.com>), and the notification service associated
(resulting in an XMPP URI of <xmpp:notify.example.com>). with the SIEVE engine has an XMPP address of notify.example.com.
The following is a basic Sieve notify action with only a method: Note: In the following examples, line breaks are included in XMPP
URIs solely for the purpose of readability.
notify "xmpp:romeo@example.com" 3.1. Basic action
The resulting XMPP <message/> stanza might be as follows: The following is a basic Sieve notify action with only a method. The
XML character data of the XMPP <body/> and <subject/> elements are
therefore generated by the Sieve engine based on configuration. In
addition, the Sieve engine includes a URI pointing to the message.
Basic action (Sieve syntax)
notify "xmpp:romeo@im.example.com"
The resulting XMPP <message/> stanza might be as follows.
Basic action (XMPP syntax)
<message from='notify.example.com' <message from='notify.example.com'
to='romeo@example.com' to='romeo@im.example.com'
type='headline'
xml:lang='en'> xml:lang='en'>
<subject>Sieve notification</subject> <subject>SIEVE</subject>
<body>&lt;juliet@example.com&gt; You have new mail.</body> <body>&lt;juliet@example.com&gt; You got mail.</body>
<x xmlns='jabber:x:oob'>
<url>
imap://romeo@example.com/INBOX;UIDVALIDITY=385759043/;UID=18
</url>
</x>
</message> </message>
The following is a more advanced Sieve notify action with a method, 3.2. Action with body
importance, subject, and message, as well as a URL pointing to the
message: The following action contains a "body" parameter in the query
component of the XMPP URI but no ":message" tag in the Sieve script.
As a result, the XML character data of the XMPP <body/> element in
the XMPP notification is taken from the XMPP URI. In addition, the
Sieve engine includes a URI pointing to the message.
Action with body (Sieve syntax)
notify "xmpp:romeo@im.example.com?message
;body=Wherefore%20art%20thou%3F"
The resulting XMPP <message/> stanza might be as follows.
Action with body (XMPP syntax)
<message from='notify.example.com'
to='romeo@im.example.com'
type='headline'
xml:lang='en'>
<subject>SIEVE</subject>
<body>Wherefore art thou?</body>
<x xmlns='jabber:x:oob'>
<url>
imap://romeo@example.com/INBOX;UIDVALIDITY=385759044/;UID=19
</url>
</x>
</message>
3.3. Action with body, importance, message, and subject
The following action specifies an ":importance" tag and a ":message"
tag in the Sieve script, as well as a "body" parameter and a
"subject" parameter in the query component of the XMPP URI. As a
result, the ":message" tag from the Sieve script overrides the "body"
parameter from the XMPP URI when generating the XML character data of
the XMPP <body/> element. In addition, the Sieve engine includes a
URI pointing to the message.
Action with body, importance, message, and subject (Sieve syntax)
notify :importance "1" notify :importance "1"
:message "Contact Juliet immediately!" :message "Contact Juliet immediately!"
"xmpp:romeo@example.com?message;subject=SIEVE" "xmpp:romeo@im.example.com?message
;body=You%27re%20in%20trouble
;subject=ALERT%21"
The resulting XMPP <message/> stanza might be as follows: The resulting XMPP <message/> stanza might be as follows.
Action with body, importance, message, and subject (XMPP syntax)
<message from='notify.example.com' <message from='notify.example.com'
to='romeo@example.com' to='romeo@im.example.com'
type='headline'
xml:lang='en'> xml:lang='en'>
<subject>Sieve notification</subject> <subject>ALERT!</subject>
<body>Contact Juliet immediately!</body> <body>Contact Juliet immediately!</body>
<headers xmlns='http://jabber.org/protocol/shim'> <headers xmlns='http://jabber.org/protocol/shim'>
<header name='Urgency'>high</header> <header name='Urgency'>high</header>
</headers> </headers>
<x xmlns='jabber:x:oob'> <x xmlns='jabber:x:oob'>
<url> <url>
imap://romeo@example.com/INBOX;UIDVALIDITY=385759045/;UID=20 imap://romeo@example.com/INBOX;UIDVALIDITY=385759045/;UID=20
</url> </url>
</x> </x>
</message> </message>
3.4. Action with from, message, importance, body, and subject
The following action specifies a ":from" tag, an ":importance" tag,
and a ":message" tag in the Sieve script, as well as a "body"
parameter and a "subject" parameter in the query component of the
XMPP URI. As a result, the ":message" tag from the Sieve script
overrides the "body" parameter from the XMPP URI when generating the
XML character data of the XMPP <body/> element. In addition, the
Sieve engine includes a URI pointing to the message, as well as an
XMPP Stanza Headers and Internet Metadata [SHIM] header named
"Reply-To" (which encapsulates the value of the ":from" tag) and a
SHIM header named "Resent-From" (which encapsulates the value of the
original email message that triggered the notification).
Action with body, from, importance, message, and subject (Sieve
syntax)
notify :from "bill.shakespeare@example.com"
:importance "1"
:message "Contact Juliet immediately!"
"xmpp:romeo@im.example.com?message
;body=You%27re%20in%20trouble
;subject=ALERT%21"
The resulting XMPP <message/> stanza might be as follows.
Action with body, from, importance, message, and subject (XMPP
syntax)
<message from='notify.example.com'
to='romeo@im.example.com'
type='headline'
xml:lang='en'>
<subject>ALERT!</subject>
<body>Contact Juliet immediately!</body>
<headers xmlns='http://jabber.org/protocol/shim'>
<header name='Reply-To'>bill.shakespeare@example.net</header>
<header name='Resent-From'>romeo@example.com</header>
<header name='Urgency'>high</header>
</headers>
<x xmlns='jabber:x:oob'>
<url>
imap://romeo@example.com/INBOX;UIDVALIDITY=385759045/;UID=21
</url>
</x>
</message>
4. Requirements Conformance 4. Requirements Conformance
Section 3.8 of [NOTIFY] specifies a set of requirements for Sieve Section 3.8 of [NOTIFY] specifies a set of requirements for Sieve
notification methods. The conformance of the xmpp notification notification methods. The conformance of the xmpp notification
mechanism is provided here. mechanism is provided here.
1. An implementation of the xmpp notification method SHOULD NOT 1. An implementation of the xmpp notification method SHOULD NOT
modify the final notification text (e.g., to limit the length); modify the final notification text (e.g., to limit the length);
however, a given deployment MAY do so (e.g., if recipients pay however, a given deployment MAY do so (e.g., if recipients pay
per character or byte for XMPP messages). Modification of per character or byte for XMPP messages). Modification of
characters themselves should not be necessary, since XMPP characters themselves should not be necessary, since XMPP
character data is encoded in [UTF-8]. character data is encoded in [UTF-8].
2. An implementation MAY ignore parameters specified in the ":from", 2. An implementation MAY ignore parameters specified in the
":importance", and ":options" tags. ":from", ":importance", and ":options" tags.
3. There is no recommended default message for an implementation to 3. There is no recommended default message for an implementation to
include if the ":message" argument is not specified. include if the ":message" argument is not specified.
4. A notification sent via the xmpp notification method MAY include 4. A notification sent via the xmpp notification method MAY include
a timestamp in the textual message. a timestamp in the textual message.
5. The value of the XMPP 'from' attribute MUST be the XMPP address 5. The value of the XMPP 'from' attribute MUST be the XMPP address
of the xmpp notification service associated with the SIEVE of the notification service associated with the SIEVE engine.
engine. The value of the Sieve ":from" tag MAY be transformed The value of the Sieve ":from" tag MAY be transformed into the
into the value of an XMPP [SHIM] header named "Reply-To". value of an XMPP Stanza Headers and Internet Metadata [SHIM]
6. An implementation MUST NOT include any other extraneous header named "Reply-To".
information not specified in parameters to the notify action. 6. The value of the XMPP 'to' attribute MUST be the XMPP address
specified in the XMPP URI contained in the "method" parameter.
7. In accordance with [XMPP-URI], an implementation MUST ignore any 7. In accordance with [XMPP-URI], an implementation MUST ignore any
URI action or parameter it does not understand (i.e., the URI URI action or parameter it does not understand (i.e., the URI
MUST be processed as if the action or parameter were not MUST be processed as if the action or parameter were not
present). It is RECOMMENDED to support the XMPP "message" query present). It is RECOMMENDED to support the XMPP "message" query
type (see [QUERIES]) and the associated "body" and "subject" type (see [QUERIES]) and the associated "body" and "subject"
parameters, which parameters SHOULD be mapped to the XMPP <body/> parameters, which parameters SHOULD be mapped to the XMPP
and <subject/> child elements of the XMPP <message/> stanza type, <body/> and <subject/> child elements of the XMPP <message/>
respectively. However, if included then the Sieve notify stanza, respectively. However, if included then the Sieve
":message" parameter MUST be mapped to the XMPP <body/> element, notify ":message" parameter MUST be mapped to the XMPP <body/>
overriding the "body" parameter (if any) included in the XMPP element, overriding the "body" parameter (if any) included in
URI. the XMPP URI.
8. In response to a notify_method_capability test for the "online" 8. An implementation MUST NOT include any other extraneous
information not specified in parameters to the notify action.
9. In response to a notify_method_capability test for the "online"
notification-capability, an implementation SHOULD return a value notification-capability, an implementation SHOULD return a value
of "yes" if it has knowledge of an active presence session for of "yes" if it has knowledge of an active presence session (see
the specified notification-uri and a value of "no" if it does not [XMPP-IM]) for the specified XMPP notification-uri; otherwise it
have such knowledge. SHOULD return a value of "maybe" (since typical XMPP systems may
9. An implementation SHOULD NOT attempt to retry delivery of a not allow a SIEVE engine to gain knowledge about the presence of
XMPP entities).
10. An implementation SHOULD NOT attempt to retry delivery of a
notification if it receives an XMPP error of type "auth" or notification if it receives an XMPP error of type "auth" or
"cancel", MAY attempt to retry delivery if it receives an XMPP "cancel", MAY attempt to retry delivery if it receives an XMPP
error of type "wait", and MAY attempt to retry delivery if it error of type "wait", and MAY attempt to retry delivery if it
receives an XMPP error of "modify" but only if it makes receives an XMPP error of "modify" but only if it makes
appropriate modifications to the notification (see [XMPP]); in appropriate modifications to the notification (see [XMPP]); in
any case the number of retries SHOULD be limited to a any case the number of retries SHOULD be limited to a
configurable number no less than 3 and no more than 10. An configurable number no less than 3 and no more than 10. An
implementation MAY throttle notifications if the number of implementation MAY throttle notifications if the number of
notifications within a given time period becomes excessive notifications within a given time period becomes excessive
according to local service policy. Duplicate suppression (if according to local service policy. Duplicate suppression (if
skipping to change at page 8, line 8 skipping to change at page 11, line 22
considerations given in [NOTIFY], [SIEVE], and [XMPP]. considerations given in [NOTIFY], [SIEVE], and [XMPP].
7. IANA Considerations 7. IANA Considerations
The following template provides the IANA registration of the Sieve The following template provides the IANA registration of the Sieve
notification mechanism specified in this document: notification mechanism specified in this document:
To: iana@iana.org To: iana@iana.org
Subject: Registration of new Sieve notification mechanism Subject: Registration of new Sieve notification mechanism
Mechanism name: xmpp Mechanism name: xmpp
Mechanism URI: RFC4622 Mechanism URI: draft-saintandre-rfc4622bis
Mechanism-specific tags: none Mechanism-specific options: none
Standards Track/IESG-approved experimental RFC number: this RFC Standards Track/IESG-approved experimental RFC number: this RFC
Person and email address to contact for further information: Person and email address to contact for further information:
Peter Saint-Andre <stpeter@jabber.org> Peter Saint-Andre <stpeter@jabber.org>
This information should be added to the list of Sieve notification This information should be added to the list of Sieve notification
mechanisms maintained at mechanisms maintained at
<http://www.iana.org/assignments/sieve-notification>. <http://www.iana.org/assignments/sieve-notification>.
8. References 8. References
8.1. Normative References 8.1. Normative References
[NOTIFY] Melnikov, A., Leiba, B., Segmuller, W., and T. Martin, [NOTIFY] Melnikov, A., Leiba, B., Segmuller, W., and T. Martin,
"Sieve Extension: Notifications", "SIEVE Email Filtering: Notifications",
draft-ietf-sieve-notify-08 (work in progress), July 2007. draft-ietf-sieve-notify-10 (work in progress),
November 2007.
[OOB] Saint-Andre, P., "Out of Band Data", XSF XEP 0066, [OOB] Saint-Andre, P., "Out of Band Data", XSF XEP 0066,
August 2006. August 2006.
[QUERIES] Saint-Andre, P., "XMPP URI Scheme Query Components", XSF [QUERIES] Saint-Andre, P., "XMPP URI Scheme Query Components", XSF
XEP 0147, September 2006. XEP 0147, September 2006.
[SHIM] Saint-Andre, P. and J. Hildebrand, "Stanza Headers and [SHIM] Saint-Andre, P. and J. Hildebrand, "Stanza Headers and
Internet Metadata", XSF XEP 0131, August 2005. Internet Metadata", XSF XEP 0131, July 2006.
[SIEVE] Showalter, T. and P. Guenther, "Sieve: An Email Filtering [SIEVE] Showalter, T. and P. Guenther, "Sieve: An Email Filtering
Language", draft-ietf-sieve-3028bis-13 (work in progress), Language", draft-ietf-sieve-3028bis-13 (work in progress),
October 2007. October 2007.
[TERMS] Bradner, S., "Key words for use in RFCs to Indicate [TERMS] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[XMPP-URI] [XMPP-URI]
Saint-Andre, P., "Internationalized Resource Identifiers Saint-Andre, P., "Internationalized Resource Identifiers
skipping to change at page 9, line 15 skipping to change at page 12, line 27
8.2. Informative References 8.2. Informative References
[HTTP] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., [HTTP] Fielding, R., Gettys, J., Mogul, J., Frystyk, H.,
Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext
Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999. Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999.
[IMAP] Crispin, M., "INTERNET MESSAGE ACCESS PROTOCOL - VERSION [IMAP] Crispin, M., "INTERNET MESSAGE ACCESS PROTOCOL - VERSION
4rev1", RFC 3501, March 2003. 4rev1", RFC 3501, March 2003.
[IMAP-URL] [IMAP-URL]
Newman, C. and A. Melnikov, "IMAP URL Scheme", Melnikov, A. and C. Newman, "IMAP URL Scheme", RFC 5092,
draft-ietf-lemonade-rfc2192bis-09 (work in progress), November 2007.
August 2007.
[POP-URL] Gellens, R., "POP URL Scheme", RFC 2384, August 1998. [POP-URL] Gellens, R., "POP URL Scheme", RFC 2384, August 1998.
[IRI] Duerst, M. and M. Suignard, "Internationalized Resource [IRI] Duerst, M. and M. Suignard, "Internationalized Resource
Identifiers (IRIs)", RFC 3987, January 2005. Identifiers (IRIs)", RFC 3987, January 2005.
[UNICODE] The Unicode Consortium, "The Unicode Standard, Version [UNICODE] The Unicode Consortium, "The Unicode Standard, Version
3.2.0", 2000. 3.2.0", 2000.
The Unicode Standard, Version 3.2.0 is defined by The The Unicode Standard, Version 3.2.0 is defined by The
skipping to change at page 10, line 5 skipping to change at page 13, line 8
[URI] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform [URI] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
Resource Identifier (URI): Generic Syntax", STD 66, Resource Identifier (URI): Generic Syntax", STD 66,
RFC 3986, January 2005. RFC 3986, January 2005.
[UTF-8] Yergeau, F., "UTF-8, a transformation format of ISO [UTF-8] Yergeau, F., "UTF-8, a transformation format of ISO
10646", STD 63, RFC 3629, November 2003. 10646", STD 63, RFC 3629, November 2003.
[XMPP] Saint-Andre, P., "Extensible Messaging and Presence [XMPP] Saint-Andre, P., "Extensible Messaging and Presence
Protocol (XMPP): Core", RFC 3920, October 2004. Protocol (XMPP): Core", RFC 3920, October 2004.
[XMPP-IM] Saint-Andre, P., "Extensible Messaging and Presence
Protocol (XMPP): Instant Messaging and Presence",
RFC 3921, October 2004.
Authors' Addresses Authors' Addresses
Peter Saint-Andre Peter Saint-Andre
XMPP Standards Foundation XMPP Standards Foundation
Email: stpeter@jabber.org Email: stpeter@jabber.org
URI: https://stpeter.im/ URI: https://stpeter.im/
Alexey Melnikov Alexey Melnikov
Isode Limited Isode Limited
 End of changes. 36 change blocks. 
116 lines changed or deleted 272 lines changed or added

This html diff was produced by rfcdiff 1.34. The latest version is available from http://tools.ietf.org/tools/rfcdiff/