Proposed CPIM Subscription Data Format
[email protected] (John D. Ramsdell)
| Newsgroups | gmane.ietf.impp |
|---|---|
| Message-ID | <[email protected]> |
I liberally took text from the CPIM-PIDF draft to rapidly produce the
following description of the proposed CPIM Subscription Data Format.
John
-----------------------------------------------------------
* Introduction
The Common Profile for Instant Messaging (CPIM) specifications define
a set of common operations and various formats to achieve
interoperability between different Instant Messaging and Presence
protocols which meet RFC 2779 [RFC2779]. The CPIM core specification
[CPIM] defines a set of common operations and their parameters to be
supported by interworking Presence and IM protocols in order to allow
straightforward gatewaying between them. The work on CPIM Message
Format [CPIM-MSG] defines a common format for instant messages, which
enables secure end-to-end IM exchange through the gateways.
This memo further defines the CPIM Subscription Data Format (SDF) as a
common subscription data format for CPIM-compliant presence protocols.
The significance of the common subscription format primarily resides
in the fact that it provides a presences server means of identifying
and authenticating the subscriber that is requesting presence service
using digital signatures. The use of both digital signatures and the
Subscription Data Format allows a protocol to meet the requirement for
authentication stated in [RFC2779, Section 5.1.12]. Without such a
common subscription data format, the signed content of a subscription
request that traverses a gateway would not be able to be validated.
* The SUBSCRIBE Method
The SUBSCRIBE method is used to request that a server deliver presence
information as specified in [CPIM]. As a side effect of a successful
SUBSCRIBE request, a presence server will initiate a NOTIFY request
that delivers the current presence information contained by the
presence entity targeted by the SUBSCRIBE request.
If the SUBSCRIBE request specifies a subscription duration, a
successful response will include the duration of the subscription
granted by the server, and an identifier used to extend or cancel the
subscription. As long as the subscription has not lapsed, when the
presence information changes, the presence server will initiate a
NOTIFY request that delivers the new presence information to the
subscriber.
A subscription can be canceled with a SUBSCRIBE request that specifies
the subscription's identifier and a duration of zero seconds. A
subscriber cannot hold more than one subscription. A subscription is
canceled when the subscriber issues a SUBSCRIBE request with a
non-zero duration that does not contain the original subscription's
identifier.
Presence information can always be fetched by issuing a SUBSCRIBE
request with a zero duration and no subscription identifier.
* The 'application/cpim-subscription' Content Type
This memo defines a new content type, "application/cpim-subscription",
to encode subscription request specific data. The content is the
duration in seconds of the requested subscription, followed by an
optional subscription identifier.
subscription-content = 1*DIGIT [ SP 1*DIGIT ] [ CR ] [ LF ]
A number contained in subscription-content must never exceed
2147483647.
* Wrapping 'application/cpim-subscription' Data with 'Message/CPIM'
CPIM message format is used to carry a signable subscription
request. To do so, the CPIM message must contain content of type
"application/cpim-subscription". Any mechanism used to sign an
instant message in Message/CPIM format may be used to sign a
subscription request in Message/CPIM format.
* Examples
A subscription request might look like:
Content-type: Message/CPIM
To: <pres:[email protected]>
From: <pres:[email protected]>
DataTime: 2002-04-04T13:40:00-08:00
Content-type: application/cpim-subscribe
3600
If the identifier returned with the response to above subscription
request is 99, the subscription can be extend with:
Content-type: Message/CPIM
To: <pres:[email protected]>
From: <pres:[email protected]>
DataTime: 2002-04-04T14:20:00-08:00
Content-type: application/cpim-subscribe
1800 99
Even while subscription 99 is being held, presence information can be
fetched with:
Content-type: Message/CPIM
To: <pres:[email protected]>
From: <pres:[email protected]>
DataTime: 2002-04-04T14:10:00-08:00
Content-type: application/cpim-subscribe
0
[reminder: [email protected] for non-technical discussions, please]