Network Working Group M. Lonnfors
Request for Comments: 5263 J. Costa-Requena
Category: Standards Track E. Leppanen
Nokia
H. Khartabil
Ericsson
September 2008
Session Initiation Protocol (SIP) Extension for
Partial Notification of Presence Information
Status of This Memo
This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Abstract
By default, presence delivered using the presence event package for
the Session Initiation Protocol (SIP) is represented in the Presence
Information Data Format (PIDF). A PIDF document contains a set of
elements, each representing a different aspect of the presence being
reported. When any subset of the elements change, even just a single
element, a new document containing the full set of elements is
delivered. This memo defines an extension allowing delivery of only
the presence data that has actually changed.
Lonnfors, et al. Standards Track [Page 1]
RFC 5263 Partial Notification September 2008
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Introduction to the Partial Notification Mechanism . . . . . . 3
3.1. Basic Presence Agent Operation . . . . . . . . . . . . . . 3
3.2. Operation with Partial Notification . . . . . . . . . . . 3
4. Client and Server Operations . . . . . . . . . . . . . . . . . 4
4.1. Content-Type for Partial Notifications . . . . . . . . . . 4
4.2. Watcher Generation of SUBSCRIBE Requests . . . . . . . . . 4
4.3. Presence Agent Processing of SUBSCRIBE Requests . . . . . 4
4.4. Presence Agent Generation of Partial Notifications . . . . 5
4.5. Watcher Processing of NOTIFY Requests . . . . . . . . . . 6
5. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
6. Security Considerations . . . . . . . . . . . . . . . . . . . 13
7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 13
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 14
8.1. Normative References . . . . . . . . . . . . . . . . . . . 14
8.2. Informative References . . . . . . . . . . . . . . . . . . 14
1. Introduction
A presence event package for Session Initiation Protocol (SIP) [3]
allows users ('watchers') to subscribe to other users'
('presentities') presence information. The presence information is
composed of multiple pieces of data that are delivered to the
watcher. The size of the presence information document can be large
(i.e., the presence document can contain an arbitrary number of
elements called presence tuples that convey data). As specified in
RFC 2778 [9] and the presence event package for SIP [3], a Presence
Agent (PA) always delivers in presence notifications all the presence
data that has been authorized for a certain watcher. This is done
regardless of what presence data has changed compared to last
notification. It may not be reasonable to send the complete presence
information over low bandwidth and high latency links when only part
of the presence information has actually changed. This may end up
degrading the presence service and causing bad perception at the
watcher side.
This document defines a partial notification approach where the
presence server delivers to the watchers only those parts of the
presence information that have changed compared to the presence
information sent in the previous notifications. This reduces the
amount of data that is transported over the network.
This mechanism utilizes the presence event package for SIP [3] and a
new MIME type for carrying partial Presence Information Data Format
documents [2].
Lonnfors, et al. Standards Track [Page 2]
RFC 5263 Partial Notification September 2008
2. Conventions
In this document, the key words "MUST", "MUST NOT", "REQUIRED",