rfc-6468

Sieve Notification Mechanism: SIP MESSAGE

A. Melnikov, B. Leiba, K. Li
date2012-02 streamIETF areaapp wgsieve statusPROPOSED STANDARD pages10 canonicalhttps://www.rfc-editor.org/rfc/rfc6468 doi10.17487/RFC6468
This document describes a profile of the Sieve extension for notifications, to allow notifications to be sent over SIP MESSAGE. [STANDARDS-TRACK]

Extracted elements (21)

design-rationale §2.2

SIP authentication is performed in the context of the Sieve engine (not the end user) to avoid the security risk of the Sieve engine having access to end-user SIP authentication credentials. The engine may use server-wide credentials or per-user credentials for auditing.

sip, security, realtime

design-rationale §2.6

Using the ':message' tag is preferred over the URI 'body' parameter because it integrates naturally with Sieve script syntax, supports variable substitutions (RFC 5229), and allows non-ASCII characters to be included directly in UTF-8 without URI encoding.

sip, realtime

interoperability-note §2.1

Only SIP and SIPS URI schemes are defined as Sieve notification methods in this document; future extensions might define other Sieve notification methods using SIP through other URI schemes or using SIP methods other than MESSAGE.

sip, realtime

normative-requirement §2.2 SHOULD

All SIP authentication, including challenges and client certificates, SHOULD be done in the context of the Sieve engine rather than using end-user SIP credentials, to avoid security issues.

sip, security, realtime

normative-requirement §2.6 MUST

An implementation MUST ignore any URI parameter it does not understand, processing the URI as if the parameter were not present.

sip, realtime

normative-requirement §4 MUST NOT

An implementation MUST NOT include any extraneous information not specified in parameters to the notify action.

sip, realtime

normative-requirement §4 SHOULD NOT

An implementation of the SIP MESSAGE notification method SHOULD NOT modify the final notification text, except to comply with SIP MESSAGE length limits.

sip, realtime

normative-requirement §2.6 MUST

If both the ':message' tag and the URI 'body' parameter are present, the Sieve processing MUST ignore the 'body' parameter.

sip, realtime

normative-requirement §2.5 MUST

If the ':message' tag is included, it MUST be transformed into the SIP MESSAGE body with Content-Type 'text/plain' and CHARSET='UTF-8'.

sip, realtime

normative-requirement §2.5 MUST

Implementations MUST comply with the SIP MESSAGE size limits as discussed in Section 8 of RFC 3428.

sip, realtime

normative-requirement §2.1 MUST

The 'method' parameter MUST be a URI conforming to the SIP or SIPS URI scheme and MUST include the URI parameter 'method' with the value 'MESSAGE'.

sip, realtime

normative-requirement §2.1 MUST

The processing application MUST form a SIP MESSAGE request according to the rules specified in RFC 3261.

sip, realtime

normative-requirement §2.2 MUST

The value of the ':from' tag MUST use SIP 'From' header field syntax; if valid, the notification SHOULD include the 'From' SIP header field containing that value.

sip, realtime

protocol-element §2.4

The ':importance' tag MAY be transformed into the SIP 'Priority' header field: importance '1' maps to 'urgent', '2' to 'normal', and '3' to 'non-urgent'. There is no mapping to the SIP value 'emergency'.

sip, realtime

protocol-element §2.7

The notify_method_capability test for 'online' will frequently return 'maybe' for the SIP MESSAGE notification method, as it is generally impossible to tell in advance whether the recipient is online and able to receive a SIP MESSAGE.

sip, realtime

protocol-element §2.6

The policy for retrying delivery of failed SIP MESSAGE notifications is specified by RFC 3261 based on the SIP error code returned; unlike some other Sieve notification methods, retries are controlled by the SIP protocol itself.

sip, realtime

registry §6

This document registers a new Sieve notification mechanism named 'sip-message' with mechanism URI SIP/SIPS (as specified in RFC 3261) in the IANA Sieve notification mechanisms registry at http://www.iana.org/assignments/sieve-notification.

sip, registry, realtime

security-consideration §5

As required by RFC 3428, user agents supporting SIP MESSAGE MUST implement end-to-end authentication, body integrity, and body confidentiality mechanisms; without these, man-in-the-middle attacks can expose credentials and message content.

sip, security

security-consideration §5

If SIP MESSAGE requests are billed per message or deplete a user's quota, an attacker sending many notifications could cause significant expense to the recipient; users should be warned of potential costs when setting up SIP MESSAGE notifications.

sip, security

security-consideration §5

Notification loops are prevented by the SIP protocol itself; however, in scenarios where a SIP MESSAGE notification triggers an email that generates another notification, rate detection and limiting may be necessary to prevent loops.

sip, security, realtime

security-consideration §5

Sending a notification can be comparable to forwarding mail; care must be taken not to send confidential information (such as sender and subject) into an insecure environment. SIPS URIs or omitting sensitive fields may be required depending on the environment.

sip, security, privacy