5262
PROPOSED STANDARD
Presence Information Data Format (PIDF) Extension for Partial Presence
Authors: M. Lonnfors, E. Leppanen, H. Khartabil, J. Urpalainen
Date: September 2008
Area: rai
Working Group: simple
Stream: IETF
Abstract
The Presence Information Document Format (PIDF) specifies the baseline XML-based format for describing presence information. One of the characteristics of the PIDF is that the document always needs to carry all presence information available for the presentity. In some environments where low bandwidth and high latency links can exist, it is often beneficial to limit the amount of transported information over the network. This document introduces a new MIME type that enables transporting of either only the changed parts or the full PIDF-based presence information. [STANDARDS-TRACK]
RFC 5262
PROPOSED STANDARD
Network Working Group M. Lonnfors
Request for Comments: 5262 Nokia
Category: Standards Track E. Leppanen
Individual
H. Khartabil
Ericsson Australia
J. Urpalainen
Nokia
September 2008
<span class="h1">Presence Information Data Format (PIDF) Extension for Partial Presence</span>
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
The Presence Information Document Format (PIDF) specifies the
baseline XML-based format for describing presence information. One
of the characteristics of the PIDF is that the document always needs
to carry all presence information available for the presentity. In
some environments where low bandwidth and high latency links can
exist, it is often beneficial to limit the amount of transported
information over the network. This document introduces a new MIME
type that enables transporting of either only the changed parts or
the full PIDF-based presence information.
<span class="grey">Lonnfors, et al. Standards Track [Page 1]</span>
<span id="page-2" ></span>
<span class="grey"><a href="./rfc5262">RFC 5262</a> Partial PIDF September 2008</span>
Table of Contents
<a href="#section-1">1</a>. Introduction ....................................................<a href="#page-2">2</a>
<a href="#section-2">2</a>. Conventions .....................................................<a href="#page-3">3</a>
<a href="#section-3">3</a>. Structure of PIDF Diff Documents ................................<a href="#page-3">3</a>
<a href="#section-3.1">3.1</a>. 'version' Attribute ........................................<a href="#page-4">4</a>
<a href="#section-3.2">3.2</a>. 'entity' Attribute .........................................<a href="#page-4">4</a>
<a href="#section-4">4</a>. Usage of 'application/pidf-diff+xml' ............................<a href="#page-4">4</a>
<a href="#section-5">5</a>. IANA Considerations .............................................<a href="#page-5">5</a>
5.1. URN Sub-Namespace Registration for
'urn:ietf:params:xml:ns:pidf-diff' .........................<a href="#page-5">5</a>
<a href="#section-5.2">5.2</a>. application/pidf-diff+xml MIME Type ........................<a href="#page-6">6</a>
<a href="#section-5.3">5.3</a>. XML Schema Registration ....................................<a href="#page-7">7</a>
<a href="#section-6">6</a>. Examples ........................................................<a href="#page-8">8</a>
<a href="#section-7">7</a>. XML Schema .....................................................<a href="#page-11">11</a>
<a href="#section-8">8</a>. Interoperability Considerations ................................<a href="#page-12">12</a>
<a href="#section-9">9</a>. Security Considerations ........................................<a href="#page-13">13</a>
<a href="#section-10">10</a>. Internationalization Considerations ...........................<a href="#page-13">13</a>
<a href="#section-11">11</a>. Error Handling ................................................<a href="#page-13">13</a>
<a href="#section-12">12</a>. Acknowledgments ...............................................<a href="#page-13">13</a>
<a href="#section-13">13</a>. References ....................................................<a href="#page-13">13</a>
<a href="#section-13.1">13.1</a>. Normative references .....................................<a href="#page-13">13</a>
<a href="#section-13.2">13.2</a>. Informative references ...................................<a href="#page-14">14</a>
<span class="h2"><a class="selflink" id="section-1" href="#section-1">1</a>. Introduction</span>
The Presence Information Document Format (PIDF) [<a href="./rfc3863" title=""Presence Information Data Format (PIDF)"">RFC3863</a>] specifies
the baseline XML-based format for describing presence information.
One of the characteristics of the PIDF is that the document always
needs to carry all presence information available for the presentity.
In some environments where low bandwidth and high latency links can
exist, it is often beneficial to limit the amount of transported
information over the network.
This document introduces a new MIME-Type 'application/pidf-diff+xml',
which enables transporting of either only the changed parts or the
full PIDF based presence information. The root element of the
document distinguishes whether the partial or full PIDF document
content was transported.
Note: With this new MIME-Type, applications can easily negotiate
the support of partial updates of presence by using the Accept
header. If PIDF had initially been designed for partial updates,
a new separate MIME-Type would have been unnecessary.
<span class="grey">Lonnfors, et al. Standards Track [Page 2]</span>
<span id="page-3" ></span>
<span class="grey"><a href="./rfc5262">RFC 5262</a> Partial PIDF September 2008</span>
<span class="h2"><a class="selflink" id="section-2" href="#section-2">2</a>. Conventions</span>
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 <a href="./rfc2119">RFC 2119</a> [<a href="./rfc2119" title=""Key words for use in RFCs to Indicate Requirement Levels"">RFC2119</a>] and
indicate requirement levels for compliant implementations.
This memo makes use of the vocabulary defined in <a href="./rfc2778">RFC 2778</a> [<a href="./rfc2778" title=""A Model for Presence and Instant Messaging"">RFC2778</a>].
In addition, the following terms are defined:
Full presence document: A presence document that contains all the
presentity's presence information that is available to a
particular watcher.
Partial presence document: A presence document that represents a
fragment of the full presence document. A partial presence
document can only be understood in the context of the full
presence document, i.e., a partial presence document modifies a
cached copy of the full presence document.
<span class="h2"><a class="selflink" id="section-3" href="#section-3">3</a>. Structure of PIDF Diff Documents</span>
The MIME type 'application/pidf-diff+xml' defines the new content
type for partial PIDF documents.
The XML Schema imports the PIDF [<a href="./rfc3863" title=""Presence Information Data Format (PIDF)"">RFC3863</a>] schema so that the full
PIDF document content with the addition of a 'version' attribute can
be transported. The root element of the document is then
<pidf-full>, and the 'version' attribute information can be included
within it. Otherwise, the content of <pidf-full> element is exactly
the same as what would have been if 'application/pidf+xml' content
type had been used. Although the XML Schema also allows using
<presence> as the document root element, it is disallowed from
applications utilizing this document format.
When only the changes of the presence document are transported, the
model described in XML patch operations [<a href="./rfc5261" title=""An Extensible Markup Language (XML) Patch Operations Framework Utilizing XML Path Language (XPath) Selectors"">RFC5261</a>] is used. The root
element of the document is then <pidf-diff>. The patch operation
elements: <add>, <remove>, and <replace> allow changing the partial
content of the cached local copy of the full presence document. The
<add> element is used to add new content, the <replace> element
updates, and the <remove> element removes existing content.
The optional 'version' attribute within the two possible document
root elements contains a sequence number which is incremented by one
between subsequent document updates, i.e., a more recent document
update has a higher 'version' value than the previous one. This
number can be used to ensure consistent updates as the recipient of
<span class="grey">Lonnfors, et al. Standards Track [Page 3]</span>
<span id="page-4" ></span>
<span class="grey"><a href="./rfc5262">RFC 5262</a> Partial PIDF September 2008</span>
the document can use the 'version' number to properly order received
documents and to ensure that updates have not been lost. The usage
of this attribute thus allows "state delta" processing described in
[<a href="./rfc3265" title=""Session Initiation Protocol (SIP)-Specific Event Notification"">RFC3265</a>]. Partial notification [<a href="./rfc5263" title=""Session Initiation Protocol (SIP) Extension for Partial Notification of Presence Information"">RFC5263</a>] uses a similar model.
This number increments independently regardless of whether the
<pidf-full> or the <pidf-diff> content is transported. In other
words, a single version counter is maintained across <pidf-full> and
<pidf-diff> documents.
Implementations using this document format MUST follow guidelines
specified in the PIDF [<a href="./rfc3863" title=""Presence Information Data Format (PIDF)"">RFC3863</a>] and PIDF extension formats, for
example, DataModel [<a href="./rfc4479" title=""A Data Model for Presence"">RFC4479</a>], Rich Presence Information Data (RPID)
[<a href="./rfc4480" title=""RPID: Rich Presence Extensions to the Presence Information Data Format (PIDF)"">RFC4480</a>], and Contact Information in PIDF (CIPID) [<a href="./rfc4482" title=""CIPID: Contact Information for the Presence Information Data Format"">RFC4482</a>] MUST
support the usage of the XML schema data type ID
[<a href="#ref-W3C.REC-xmlschema-2-20041028">W3C.REC-xmlschema-2-20041028</a>] of these listed RFCs. Specifically,
the XML document MUST be well formed and SHOULD be valid. This
specification makes use of XML namespaces for identifying presence
documents and document fragments. The namespace URI for elements
defined by this specification is a URN [<a href="./rfc2141" title=""URN Syntax"">RFC2141</a>], using the namespace
identifier 'ietf' specified in <a href="./rfc2648">RFC 2648</a> [<a href="./rfc2648" title=""A URN Namespace for IETF Documents"">RFC2648</a>] and extended by <a href="./rfc3688">RFC</a>
<a href="./rfc3688">3688</a> [<a href="./rfc3688" title=""The IETF XML Registry"">RFC3688</a>]. This URN is:
urn:ietf:params:xml:ns:pidf-diff
<span class="h3"><a class="selflink" id="section-3.1" href="#section-3.1">3.1</a>. 'version' Attribute</span>
Every presence document compliant with this specification MAY contain
a 'version' attribute within the <pidf-diff> and <pidf-full> element.
<span class="h3"><a class="selflink" id="section-3.2" href="#section-3.2">3.2</a>. 'entity' Attribute</span>
Every presence document compliant with this specification MAY contain
an 'entity' attribute within the <pidf-diff> element. Its content, a
presentity URI, MUST then be the same as the 'entity' attribute value
of the <presence> element described in [<a href="./rfc3863" title=""Presence Information Data Format (PIDF)"">RFC3863</a>]. The usage of this
presentity URI is described in more detail in <a href="./rfc4479#section-3.1">Section 3.1 of
[RFC4479]</a>.
<span class="h2"><a class="selflink" id="section-4" href="#section-4">4</a>. Usage of 'application/pidf-diff+xml'</span>
The partial presence document SHOULD only contain those elements or
attributes that have changed. However, when there are a lot of
changes, the full presence document content can then be transported
instead.
<span class="grey">Lonnfors, et al. Standards Track [Page 4]</span>
<span id="page-5" ></span>
<span class="grey"><a href="./rfc5262">RFC 5262</a> Partial PIDF September 2008</span>
<span class="h2"><a class="selflink" id="section-5" href="#section-5">5</a>. IANA Considerations</span>
IANA has performed the following actions:
o registered a new XML namespace URN per [<a href="./rfc3688" title=""The IETF XML Registry"">RFC3688</a>].
o registered a new MIME type 'application/pidf-diff+xml' according
to the procedures of <a href="./rfc4288">RFC 4288</a> [<a href="./rfc4288" title=""Media Type Specifications and Registration Procedures"">RFC4288</a>] and guidelines in <a href="./rfc3023">RFC 3023</a>
[<a href="./rfc3023" title=""XML Media Types"">RFC3023</a>].
o registered a new XML Schema according to the procedures of <a href="./rfc3688">RFC</a>
<a href="./rfc3688">3688</a> [<a href="./rfc3688" title=""The IETF XML Registry"">RFC3688</a>].
<span class="h3"><a class="selflink" id="section-5.1" href="#section-5.1">5.1</a>. URN Sub-Namespace Registration for</span>
'urn:ietf:params:xml:ns:pidf-diff'
This specification registers a new XML namespace, as per the
guidelines in <a href="./rfc3688">RFC 3688</a> [<a href="./rfc3688" title=""The IETF XML Registry"">RFC3688</a>].
URI:
urn:ietf:params:xml:ns:pidf-diff
Description:
This is the XML namespace for XML elements defined by <a href="./rfc5262">RFC 5262</a> to
describe the 'application/pidf-diff+xml' content type for partial
PIDF.
Registrant Contact:
IETF, SIMPLE working group, ([email protected])
Jari Urpalainen, ([email protected])
<span class="grey">Lonnfors, et al. Standards Track [Page 5]</span>
<span id="page-6" ></span>
<span class="grey"><a href="./rfc5262">RFC 5262</a> Partial PIDF September 2008</span>
XML:
BEGIN
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
"<a href="http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd</a>">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type"
content="text/html;charset=iso-8859-1"/>
<title>PIDF extension for partial PIDF</title>
</head>
<body>
<h1>Namespace for PIDF extension for partial
notifications</h1>
<h2>urn:ietf:params:xml:ns:pidf-diff</h2>
<p>See <a href="http://www.rfc-editor.org/rfc/rfc5262.txt">
<a href="./rfc5262">RFC5262</a></a>.</p>
</body>
</html>
END
<span class="h3"><a class="selflink" id="section-5.2" href="#section-5.2">5.2</a>. application/pidf-diff+xml MIME Type</span>
MIME media type name: application
MIME subtype name: pidf-diff+xml
Mandatory parameters: none
Optional parameters:
Same as charset parameter of application/xml as specified in <a href="./rfc3023">RFC 3023</a>
[<a href="./rfc3023" title=""XML Media Types"">RFC3023</a>]. Default value is UTF-8.
Encoding considerations:
Same as encoding considerations of application/xml as specified in
<a href="./rfc3023">RFC 3023</a> [<a href="./rfc3023" title=""XML Media Types"">RFC3023</a>].
Security considerations:
See <a href="./rfc3023#section-10">Section 10 of RFC 3023</a> [<a href="./rfc3023" title=""XML Media Types"">RFC3023</a>]. This content type is designed
to carry presence data, which may be considered private information.
Appropriate precautions should be adopted to limit disclosure of this
information.
Interoperability considerations: none
Published specification: <a href="./rfc5262">RFC 5262</a>
<span class="grey">Lonnfors, et al. Standards Track [Page 6]</span>
<span id="page-7" ></span>
<span class="grey"><a href="./rfc5262">RFC 5262</a> Partial PIDF September 2008</span>
Applications that use this media type: SIP-based presence systems
Additional information:
Magic Number: None
File Extension: .xml
Macintosh file type code: "TEXT"
Personal and email address for further information: Jari Urpalainen,
[email protected]
Intended usage: LIMITED USE
Restrictions on usage: Presence [<a href="./rfc3863" title=""Presence Information Data Format (PIDF)"">RFC3863</a>] based systems.
Author:
This specification is a work item of the IETF SIMPLE working group,
with mailing list address <simple@ietf.org>.
Author/Change controller: the IETF.
<span class="h3"><a class="selflink" id="section-5.3" href="#section-5.3">5.3</a>. XML Schema Registration</span>
This section calls for IANA to register a new XML Schema, the sole
content of which can be found in <a href="#section-7">Section 7</a>.
URI:
urn:ietf:params:xml:schema:pidf-diff
Registrant Contact:
IETF, SIMPLE working group, <simple@ietf.org>
Jari Urpalainen, <jari.urpalainen@nokia.com>
<span class="grey">Lonnfors, et al. Standards Track [Page 7]</span>
<span id="page-8" ></span>
<span class="grey"><a href="./rfc5262">RFC 5262</a> Partial PIDF September 2008</span>
<span class="h2"><a class="selflink" id="section-6" href="#section-6">6</a>. Examples</span>
An 'application/pidf-diff+xml' document that contains the full state
presence information:
<?xml version="1.0" encoding="UTF-8"?>
<p:pidf-full xmlns="urn:ietf:params:xml:ns:pidf"
xmlns:p="urn:ietf:params:xml:ns:pidf-diff"
xmlns:r="urn:ietf:params:xml:ns:pidf:rpid"
xmlns:ci="urn:ietf:params:xml:ns:pidf:cipid"
xmlns:c="urn:ietf:params:xml:ns:pidf:caps"
xmlns:dm="urn:ietf:params:xml:ns:pidf:data-model"
entity="pres:[email protected]"
version="567">
<tuple id="sg89ae">
<status>
<basic>open</basic>
</status>
<c:servcaps>
<c:audio>true</c:audio>
<c:message>true</c:message>
<c:video>false</c:video>
</c:servcaps>
<contact priority="0.8">tel:09012345678</contact>
</tuple>
<tuple id="cg231jcr">
<status>
<basic>open</basic>
</status>
<contact priority="1.0">im:[email protected]</contact>
</tuple>
<tuple id="r1230d">
<status>
<basic>closed</basic>
</status>
<ci:homepage>http://example.com/~pep/</ci:homepage>
<ci:icon>http://example.com/~pep/icon.gif</ci:icon>
<ci:card>http://example.com/~pep/card.vcd</ci:card>
<contact priority="0.9">sip:[email protected]</contact>
</tuple>
<note xml:lang="en">Full state presence document</note>
<dm:person id="p123">
<r:activities>
<span class="grey">Lonnfors, et al. Standards Track [Page 8]</span>
<span id="page-9" ></span>
<span class="grey"><a href="./rfc5262">RFC 5262</a> Partial PIDF September 2008</span>
<r:on-the-phone/>
<r:busy/>
</r:activities>
</dm:person>
<dm:device id="u600b40c7">
<c:devcaps>
<c:mobility>
<c:supported>
<c:mobile/>
</c:supported>
</c:mobility>
</c:devcaps>
<dm:deviceID>urn:esn:600b40c7</dm:deviceID>
</dm:device>
</p:pidf-full>
An example partial update document with the <pidf-diff> root element:
<?xml version="1.0" encoding="UTF-8"?>
<p:pidf-diff
xmlns="urn:ietf:params:xml:ns:pidf"
xmlns:p="urn:ietf:params:xml:ns:pidf-diff"
xmlns:r="urn:ietf:params:xml:ns:pidf:rpid"
xmlns:d="urn:ietf:params:xml:ns:pidf:data-model"
entity="pres:[email protected]"
version="568">
<p:add sel="presence/note" pos="before">
<tuple id="ert4773">
<status>
<basic>open</basic>
</status>
<contact priority="0.4">mailto:[email protected]</contact>
<note xml:lang="en">This is a new tuple inserted
between the last tuple and person element</note>
</tuple>
</p:add>
<p:replace sel="*/tuple[@id='r1230d']/status/basic/text()"
>open</p:replace>
<p:remove sel="*/d:person/r:activities/r:busy" ws="after"/>
<p:replace sel="*/tuple[@id='cg231jcr']/contact/@priority"
>0.7</p:replace>
</p:pidf-diff>
<span class="grey">Lonnfors, et al. Standards Track [Page 9]</span>
<span id="page-10" ></span>
<span class="grey"><a href="./rfc5262">RFC 5262</a> Partial PIDF September 2008</span>
An updated local composition presence document after applying the
patches:
<?xml version="1.0" encoding="UTF-8"?>
<p:pidf-full xmlns="urn:ietf:params:xml:ns:pidf"
xmlns:p="urn:ietf:params:xml:ns:pidf-diff"
xmlns:r="urn:ietf:params:xml:ns:pidf:rpid"
xmlns:ci="urn:ietf:params:xml:ns:pidf:cipid"
xmlns:c="urn:ietf:params:xml:ns:pidf:caps"
xmlns:dm="urn:ietf:params:xml:ns:pidf:data-model"
entity="pres:[email protected]"
version="568">
<tuple id="sg89ae">
<status>
<basic>open</basic>
</status>
<c:servcaps>
<c:audio>true</c:audio>
<c:message>true</c:message>
<c:video>false</c:video>
</c:servcaps>
<contact priority="0.8">tel:09012345678</contact>
</tuple>
<tuple id="cg231jcr">
<status>
<basic>open</basic>
</status>
<contact priority="0.7">im:[email protected]</contact>
</tuple>
<tuple id="r1230d">
<status>
<basic>open</basic>
</status>
<ci:homepage>http://example.com/~pep/</ci:homepage>
<ci:icon>http://example.com/~pep/icon.gif</ci:icon>
<ci:card>http://example.com/~pep/card.vcd</ci:card>
<contact priority="0.9">sip:[email protected]</contact>
</tuple>
<tuple id="ert4773">
<status>
<basic>open</basic>
</status>
<contact priority="0.4">mailto:[email protected]</contact>
<span class="grey">Lonnfors, et al. Standards Track [Page 10]</span>
<span id="page-11" ></span>
<span class="grey"><a href="./rfc5262">RFC 5262</a> Partial PIDF September 2008</span>
<note xml:lang="en">This is a new tuple inserted
between the last tuple and note element</note>
</tuple>
<note xml:lang="en">Full state presence document</note>
<dm:person id="p123">
<r:activities>
<r:on-the-phone/>
</r:activities>
</dm:person>
<dm:device id="u600b40c7">
<c:devcaps>
<c:mobility>
<c:supported>
<c:mobile/>
</c:supported>
</c:mobility>
</c:devcaps>
<dm:deviceID>urn:esn:600b40c7</dm:deviceID>
</dm:device>
</p:pidf-full>
<span class="h2"><a class="selflink" id="section-7" href="#section-7">7</a>. XML Schema</span>
The XML schema for the 'application/pidf-diff+xml' data format. The
included schema "urn:ietf:params:xml:schema:xml-patch-ops" is defined
in [<a href="./rfc5261" title=""An Extensible Markup Language (XML) Patch Operations Framework Utilizing XML Path Language (XPath) Selectors"">RFC5261</a>], and the PIDF Schema "pidf.xsd" is imported from
[<a href="./rfc3863" title=""Presence Information Data Format (PIDF)"">RFC3863</a>].
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema
targetNamespace="urn:ietf:params:xml:ns:pidf-diff"
xmlns:tns="urn:ietf:params:xml:ns:pidf-diff"
xmlns:pidf="urn:ietf:params:xml:ns:pidf"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<!-- include patch-ops type definitions -->
<xsd:include
schemaLocation="urn:ietf:params:xml:schema:patch-ops"/>
<!-- import PIDF definitions -->
<xsd:import namespace="urn:ietf:params:xml:ns:pidf"
schemaLocation="pidf.xsd"/>
<span class="grey">Lonnfors, et al. Standards Track [Page 11]</span>
<span id="page-12" ></span>
<span class="grey"><a href="./rfc5262">RFC 5262</a> Partial PIDF September 2008</span>
<!-- partial updates -->
<xsd:element name="pidf-diff">
<xsd:complexType>
<xsd:sequence minOccurs="0" maxOccurs="unbounded">
<xsd:choice>
<xsd:element name="add" type="tns:add"/>
<xsd:element name="replace" type="tns:replace"/>
<xsd:element name="remove" type="tns:remove"/>
</xsd:choice>
</xsd:sequence>
<xsd:attribute name="version" type="xsd:unsignedInt"/>
<xsd:attribute name="entity" type="xsd:anyURI"/>
</xsd:complexType>
</xsd:element>
<!-- full PIDF in addition to optional version -->
<xsd:element name="pidf-full">
<xsd:complexType>
<xsd:complexContent>
<xsd:extension base="pidf:presence">
<xsd:attribute name="version" type="xsd:unsignedInt"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<span class="h2"><a class="selflink" id="section-8" href="#section-8">8</a>. Interoperability Considerations</span>
Systems compliant with Common Profile for Presence (CPP) [<a href="./rfc3859" title=""Common Profile for Presence (CPP)"">RFC3859</a>]
will not be by default able to use this specification. However, this
will not cause any interoperability problems because all endpoints
and gateways must support the default MIME type
(application/pidf+xml) regardless of if they support this
specification. Thus, if a gateway or another end point does not
understand this specification it will not be used. In SIMPLE-based
systems, use of this MIME type is negotiated using SIP content type
negotiation mechanism as specified in partial notification [<a href="./rfc5263" title=""Session Initiation Protocol (SIP) Extension for Partial Notification of Presence Information"">RFC5263</a>].
Other CPP-compliant (other than SIP-based) systems can also support
this specification if they have a mechanism to indicate support for
it. If they do, it is possible to build a gateway that will preserve
end-to-end integrity with usage of partial PIDF.
<span class="grey">Lonnfors, et al. Standards Track [Page 12]</span>
<span id="page-13" ></span>
<span class="grey"><a href="./rfc5262">RFC 5262</a> Partial PIDF September 2008</span>
<span class="h2"><a class="selflink" id="section-9" href="#section-9">9</a>. Security Considerations</span>
All security considerations identified for PIDF [<a href="./rfc3863" title=""Presence Information Data Format (PIDF)"">RFC3863</a>] apply
unchanged for this document as presence information may contain
highly sensitive information. Furthermore, the protocol SHOULD
provide authorization policies what presence information can be given
to which watchers, and when, see [<a href="./rfc5025" title=""Presence Authorization Rules"">RFC5025</a>].
<span class="h2"><a class="selflink" id="section-10" href="#section-10">10</a>. Internationalization Considerations</span>
The PIDF [<a href="./rfc3863" title=""Presence Information Data Format (PIDF)"">RFC3863</a>] format is represented in XML that performs all
character processing in terms of the Universal Character Set (UCS).
Conformant XML processors MUST support both UTF-8 and UTF-16
encodings of the UCS. UTF-8 is the RECOMMENDED encoding of this
partial presence format.
If the character set of the initial <pidf-full> document has been
accepted by a receiving application, it MUST continue to accept the
same character set with the subsequent <pidf-diff> documents.
However, it MUST NOT need to accept a possible character set change.
<span class="h2"><a class="selflink" id="section-11" href="#section-11">11</a>. Error Handling</span>
Error conditions MAY be indicated by errors defined in [<a href="./rfc5261" title=""An Extensible Markup Language (XML) Patch Operations Framework Utilizing XML Path Language (XPath) Selectors"">RFC5261</a>].
This document doesn't define any additional error elements. If the
'version' or 'entity' attributes have incorrect content, it MAY be
indicated by the <invalid-attribute-value> error element.
<span class="h2"><a class="selflink" id="section-12" href="#section-12">12</a>. Acknowledgments</span>
The authors would like to thank Jose Costa-Requena, Jyrki Aarnos,
Jonathan Rosenberg, Dean Willis, Miguel Garcia, Krisztian Kiss, Ben
Cambell, Robert Sparks, Anders Kristenssen, Aki Niemi, Jon Peterson,
Gonzalo Camarillo, Lars Eggert, Lakshminath Dondeti, and Chris Newman
for their valuable comments and contributions.
<span class="h2"><a class="selflink" id="section-13" href="#section-13">13</a>. References</span>
<span class="h3"><a class="selflink" id="section-13.1" href="#section-13.1">13.1</a>. Normative references</span>
[<a id="ref-RFC2119">RFC2119</a>] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", <a href="https://www.rfc-editor.org/bcp/bcp14">BCP 14</a>, <a href="./rfc2119">RFC 2119</a>, March 1997.
[<a id="ref-RFC3863">RFC3863</a>] Sugano, H., Fujimoto, S., Klyne, G., Bateman, A., Carr,
W., and J. Peterson, "Presence Information Data Format
(PIDF)", <a href="./rfc3863">RFC 3863</a>, August 2004.
<span class="grey">Lonnfors, et al. Standards Track [Page 13]</span>
<span id="page-14" ></span>
<span class="grey"><a href="./rfc5262">RFC 5262</a> Partial PIDF September 2008</span>
[<a id="ref-RFC2141">RFC2141</a>] Moats, R., "URN Syntax", <a href="./rfc2141">RFC 2141</a>, May 1997.
[<a id="ref-RFC2648">RFC2648</a>] Moats, R., "A URN Namespace for IETF Documents", <a href="./rfc2648">RFC 2648</a>,
August 1999.
[<a id="ref-RFC3688">RFC3688</a>] Mealling, M., "The IETF XML Registry", <a href="https://www.rfc-editor.org/bcp/bcp81">BCP 81</a>, <a href="./rfc3688">RFC 3688</a>,
January 2004.
[<a id="ref-RFC3023">RFC3023</a>] Murata, M., St. Laurent, S., and D. Kohn, "XML Media
Types", <a href="./rfc3023">RFC 3023</a>, January 2001.
[<a id="ref-RFC4288">RFC4288</a>] Freed, N. and J. Klensin, "Media Type Specifications and
Registration Procedures", <a href="https://www.rfc-editor.org/bcp/bcp13">BCP 13</a>, <a href="./rfc4288">RFC 4288</a>, December 2005.
[<a id="ref-RFC4479">RFC4479</a>] Rosenberg, J., "A Data Model for Presence", <a href="./rfc4479">RFC 4479</a>, July
2006.
[<a id="ref-RFC4480">RFC4480</a>] Schulzrinne, H., Gurbani, V., Kyzivat, P., and J.
Rosenberg, "RPID: Rich Presence Extensions to the Presence
Information Data Format (PIDF)", <a href="./rfc4480">RFC 4480</a>, July 2006.
[<a id="ref-RFC4482">RFC4482</a>] Schulzrinne, H., "CIPID: Contact Information for the
Presence Information Data Format", <a href="./rfc4482">RFC 4482</a>, July 2006.
[<a id="ref-RFC5261">RFC5261</a>] Urpalainen, J., "An Extensible Markup Language (XML) Patch
Operations Framework Utilizing XML Path Language (XPath)
Selectors", <a href="./rfc5261">RFC 5261</a>, September 2008.
[<a id="ref-W3C.REC-xmlschema-2-20041028">W3C.REC-xmlschema-2-20041028</a>]
Malhotra, A. and P. Biron, "XML Schema Part 2: Datatypes
Second Edition", World Wide Web Consortium Recommendation
REC-xmlschema-2-20041028, October 2004,
<<a href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028">http://www.w3.org/TR/2004/REC-xmlschema-2-20041028</a>>.
<span class="h3"><a class="selflink" id="section-13.2" href="#section-13.2">13.2</a>. Informative references</span>
[<a id="ref-RFC2778">RFC2778</a>] Day, M., Rosenberg, J., and H. Sugano, "A Model for
Presence and Instant Messaging", <a href="./rfc2778">RFC 2778</a>, February 2000.
[<a id="ref-RFC3265">RFC3265</a>] Roach, A., "Session Initiation Protocol (SIP)-Specific
Event Notification", <a href="./rfc3265">RFC 3265</a>, June 2002.
[<a id="ref-RFC3859">RFC3859</a>] Peterson, J., "Common Profile for Presence (CPP)", <a href="./rfc3859">RFC</a>
<a href="./rfc3859">3859</a>, August 2004.
[<a id="ref-RFC5025">RFC5025</a>] Rosenberg, J., "Presence Authorization Rules", <a href="./rfc5025">RFC 5025</a>,
December 2007.
<span class="grey">Lonnfors, et al. Standards Track [Page 14]</span>
<span id="page-15" ></span>
<span class="grey"><a href="./rfc5262">RFC 5262</a> Partial PIDF September 2008</span>
[<a id="ref-RFC5263">RFC5263</a>] Lonnfors, M., "Session Initiation Protocol (SIP) Extension
for Partial Notification of Presence Information", <a href="./rfc5263">RFC</a>
<a href="./rfc5263">5263</a>, September 2008.
Authors' Addresses
Mikko Lonnfors
Nokia
Itamerenkatu 11-13 00180
Helsinki
Finland
Phone: +358 71 8008000
EMail: [email protected]
Eva Leppanen
Individual
Lempaala
Finland
EMail: [email protected]
Hisham Khartabil
Ericsson Australia
P.O. Box 256c
Melbourne, VIC 3001
Australia
EMail: [email protected]
Jari Urpalainen
Nokia
Itamerenkatu 11-13 00180
Helsinki
Finland
Phone: +358 7180 37686
EMail: [email protected]
<span class="grey">Lonnfors, et al. Standards Track [Page 15]</span>
<span id="page-16" ></span>
<span class="grey"><a href="./rfc5262">RFC 5262</a> Partial PIDF September 2008</span>
Full Copyright Statement
Copyright (C) The IETF Trust (2008).
This document is subject to the rights, licenses and restrictions
contained in <a href="https://www.rfc-editor.org/bcp/bcp78">BCP 78</a>, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
THE INTERNET ENGINEERING TASK FORCE DISCLAIM 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.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in <a href="https://www.rfc-editor.org/bcp/bcp78">BCP 78</a> and <a href="https://www.rfc-editor.org/bcp/bcp79">BCP 79</a>.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
<a href="http://www.ietf.org/ipr">http://www.ietf.org/ipr</a>.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
[email protected].
Lonnfors, et al. Standards Track [Page 16]
Annotations
Select text to annotate