Internet Draft
Internet Engineering Task Force                                  IMPP WG
Internet Draft                                        Jonathan Rosenberg
                                                             Dean Willis
                                                           Robert Sparks
                                                            Ben Campbell
                                                             dynamicsoft

                                                     Henning Schulzrinne
                                                         Jonathan Lennox
                                                             Columbia U.

                                                           Bernard Aboba
                                                       Christian Huitema
                                                             David Gurle
                                                               Microsoft
draft-rosenberg-impp-lpidf-00.txt
June 15, 2000
Expires: December, 2000


           A Lightweight Presence Information Format (LPIDF)

STATUS OF THIS MEMO

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of RFC2026.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet- Drafts as reference
   material or to cite them other than as work in progress.

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.


Abstract

   This document describes a data format, the Lightweight Presence
   Information Data Format (LPIDF) for conveying presence information.
   The format is based on RFC822 encoding of presence data. In fact,
   this encoding is exactly identical to the encoding used by the
   Session Initiation Protocol (SIP) in its registration messages. This
   simplifies the process of parsing and processing presence data in
   clients which use SIP for presence or communications services. LPIDF
   is one instantiation of an abstract presence data model also
   described here.


1 Introduction

   Presence is (indirectly) defined in RFC2778 [1] as subscription to
   and notification of changes in the communications state of a user.



Rosenberg et. al.                                             [Page 1]

Internet Draft                   LPIDF                     June 15, 2000


   This communications state consists of the set of communications
   means, communications address, and status of that user. A presence
   document is a computer readable piece of data that contains this
   presence information. Presence documents are conveyed by a presence
   protocol [2], but may also be conveyed out of bands. The presence
   documents are useful and complete in and of themselves, and do not
   rely on information conveyed by their transfer means in order to be
   useful.

   It is fundamental to our notion of presence that a single presentity
   is represented by a multitude of presence user agents (PUAs), each of
   which generates presence information for a particular subset of the
   overall presence state of a presentity. This results in the
   requirement of a definition of an abstract presence data model, which
   defines how these presence components are combined to yield a
   complete presence document. This data model is, in fact, independent
   of the presence data format itself. An alternative presence data
   format, the Presence Information Data Format (PIDF) [3], defines this
   abstract data model.

   LPIDF is based on an RFC822 encoding of presence data. This encoding
   is identical to the way the data is carried in the Session Initiation
   Protocol (SIP) [4] REGISTER messages, used for communications
   establishment and for presence [2]. This makes parsing and processing
   of this data easier, as the tools for doing so are already part of
   the device performing the processing.

2 LPIDF Format

   In SIP REGISTER messages, the Contact header is used to contain
   information on the current location of a user. In addition, the SIP
   extension for caller preferences and callee capabilities [5] contains
   additional parameters that can be added to the Contact header to
   further qualify the status and capabilities of that location. For
   example, an address can be defined as mobile, or as a business
   address. Preferences can also be assigned using a priority value.
   Notes can also be attached to URLs, conveying textual messages for
   display.

   Furthermore, SIP REGISTER messages convey the identity of the user
   for whom these Contact addresses pertain. That identity is carried in
   the To field of the request. We note that this identity is the
   identity of the presentity.

   As such, we define LPIDF simply as a document that contains the To
   and Contact addresses from a SIP registration. We can express this in
   BNF as follows:




Rosenberg et. al.                                             [Page 2]

Internet Draft                   LPIDF                     June 15, 2000


   LPIDF = To CRLF *(Contact CRLF)



   where To and Contact are defined in Sections 6.37 and 6.13 of RFC2543
   [4] respectively. The Contact BNF is extended by the one defined in
   [5].

   Note that the caller preferences specification defines a parameter,
   q, which represents a relative priority for using an address. A value
   of 0 means the address should not be used. Therefore, we can support
   the OPEN status, defined in [1] through a q value that is not zero,
   and CLOSED through a zero q value.

   An LPIDF document is identified by the MIME type text/lpidf.

3 Example

   The following is an example of a valid LPIDF document:


   To: sip:presentity@example.com
   Contact: sip:presentity@example.com;methods="INVITE,BYE,OPTIONS";
     mobility=fixed;features="voicemail"
   Contact: mailto:presentity@example.com
   Contact: http://www.example.com



4 Mapping to the model

   PIDF [3] contains a description of a model for presence data,
   independent of the particular encoding. This section discusses how we
   map this data format to the model.

   Each Contact address is a separate atom. The ID for the atom is
   computed as an MD5 hash over the URI. Expirations can be conveyed
   using the expires Contact parameter.

   So, to combine two presence documents for the same presentity (i.e.,
   the To values are the same), you simply merge the set of Contacts
   from each presence document, discarding ones with the same URI.

   For example, if presence document A looks like:


   To: sip:presentity@example.com
   Contact: sip:presentity@example.com;methods="INVITE,BYE,OPTIONS";



Rosenberg et. al.                                             [Page 3]

Internet Draft                   LPIDF                     June 15, 2000


     mobility=fixed;features="voicemail"
   Contact: mailto:presentity@example.com



   and presence document B looks like:


   To: sip:presentity@example.com
   Contact: http://www.example.com



   The merged document is the example given in Section 3.

5 Transfer in a presence protocol

   The presence protocol [2] provides sequencing of notifications,
   through the CSeq header. When two notifications come from the same
   source (the To, From, and Call-ID are the same), the presence data
   MAY be ordered based on the CSeq ordering. If the notifications come
   from different sources, the temporal order of delivery is used to
   determine ordering.

6 Evaluation against Requirements

   The following section indicates how this proposal meets the
   requirements outlined in RFC2779 [6].

        Requirement 3.1.2: The common presence format MUST include a
             means to uniquely identify the PRESENTITY whose PRESENCE
             INFORMATION is reported. This is supported through the To
             header in LPIDF.


        Requirement 3.1.3: The common presence format MUST include a
             means to encapsulate contact information for the
             PRESENTITY's PRINCIPAL (if applicable), such as email
             address, telephone number, postal address, or the like.
             This is supported through the Contact headers in LPIDF.


        Requirement 3.1.4: There MUST be a means of extending the common
             presence format to represent additional information not
             included in the common format, without undermining or
             rendering invalid the fields of the common format This is
             supported through the standard extension mechanisms defined
             for the SIP Contact header.



Rosenberg et. al.                                             [Page 4]

Internet Draft                   LPIDF                     June 15, 2000


        Requirement 3.1.5: The working group must define the extension
             and registration mechanisms for presence information
             schema, including new STATUS conditions and new forms for
             OTHER PRESENCE MARKUP. This is readily accomplished,
             although not specified in this version of the document.


        Requirement 3.1.6: The presence format SHOULD be based on IETF
             standards such as vCard [RFC 2426] if possible. The format
             is based on SIP, IETF proposed standard RFC2543 [4], which
             in turn is based on HTTP [7] and email [8].


        Requirement 4.4.1: The common presence format MUST define a
             minimum standard presence schema suitable for INSTANT
             MESSAGE SERVICES. This is supported through a URL
             corresponding to an instant message. This URL, as proposed
             in [9] is of the form sip:user@host;method=SUBSCRIBE. This
             URL is then included in a Contact header.


        Requirement 4.4.2: When used in a system supporting INSTANT
             MESSAGES, the common presence format MUST include a means
             to represent the STATUS conditions OPEN and CLOSED. Open is
             represented by a non-zero value of the q parameter (which
             specifies preference). Closed is represented by a zero
             value of the q parameter.


        Requirement 4.4.3: The STATUS conditions OPEN and CLOSED may
             also be applied to messaging or communication modes other
             than INSTANT MESSAGE SERVICES. The presence document here
             applies the q value to any communications means. IM is not
             treated differently than any other.

7 Authors Addresses


   Jonathan Rosenberg
   dynamicsoft
   200 Executive Drive
   Suite 120
   West Orange, NJ 07052
   email: jdrosen@dynamicsoft.com

   Dean Willis
   dynamicsoft
   200 Executive Drive



Rosenberg et. al.                                             [Page 5]

Internet Draft                   LPIDF                     June 15, 2000


   Suite 120
   West Orange, NJ 07052
   email: dwillis@dynamicsoft.com

   Robert Sparks
   dynamicsoft
   200 Executive Drive
   Suite 120
   West Orange, NJ 07052
   email: rsparks@dynamicsoft.com

   Ben Campbell
   dynamicsoft
   200 Executive Drive
   Suite 120
   West Orange, NJ 07052
   email: bcampbell@dynamicsoft.com

   Henning Schulzrinne
   Columbia University
   M/S 0401
   1214 Amsterdam Ave.
   New York, NY 10027-7003
   email: schulzrinne@cs.columbia.edu

   Jonathan Lennox
   Columbia University
   M/S 0401
   1214 Amsterdam Ave.
   New York, NY 10027-7003
   email: lennox@cs.columbia.edu

   Christian Huitema
   Microsoft Corporation
   One Microsoft Way
   Redmond, WA 98052-6399
   email: huitema@microsoft.com

   Bernard Aboba
   Microsoft Corporation
   One Microsoft Way
   Redmond, WA 98052-6399
   email: bernarda@microsoft.com

   David Gurle
   Microsoft Corporation
   One Microsoft Way
   Redmond, WA 98052-6399



Rosenberg et. al.                                             [Page 6]

Internet Draft                   LPIDF                     June 15, 2000


   email: dgurle@microsoft.com




8 Bibliography

   [1] M. Day, J. Rosenberg, and H. Sugano, "A model for presence and
   instant messaging," Request for Comments 2778, Internet Engineering
   Task Force, Feb.  2000.

   [2] J. Rosenberg, R. Sparks, D. Willis, B. Campbell, H. Schulzrinne,
   J. Lennox, C. Huitema, B. Aboba, and D. Gurle, "SIP extensions for
   presence," Internet Draft, Internet Engineering Task Force, June
   2000.  Work in progress.

   [3] J. Rosenberg, R. Sparks, D. Willis, B. Campbell, H. Schulzrinne,
   J. Lennox, C. Huitema, B. Aboba, and D. Gurle, "A data format for
   presence using XML," Internet Draft, Internet Engineering Task Force,
   June 2000.  Work in progress.

   [4] M. Handley, H. Schulzrinne, E. Schooler, and J. Rosenberg, "SIP:
   session initiation protocol," Request for Comments 2543, Internet
   Engineering Task Force, Mar. 1999.

   [5] H. Schulzrinne and J. Rosenberg, "SIP caller preferences and
   callee capabilities," Internet Draft, Internet Engineering Task
   Force, Mar. 2000.  Work in progress.

   [6] M. Day, S. Aggarwal, G. Mohr, and J. Vincent, "Instant messaging
   / presence protocol requirements," Request for Comments 2779,
   Internet Engineering Task Force, Feb. 2000.

   [7] J. Franks, P. Hallam-Baker, J. Hostetler, S. Lawrence, P. Leach,
   A. Luotonen, and L. Stewart, "HTTP authentication: Basic and digest
   access authentication," Request for Comments 2617, Internet
   Engineering Task Force, June 1999.

   [8] D. Crocker, "Standard for the format of ARPA internet text
   messages," Request for Comments 822, Internet Engineering Task Force,
   Aug. 1982.

   [9] J. Rosenberg, R. Sparks, D. Willis, B. Campbell, H. Schulzrinne,
   J. Lennox, C. Huitema, B. Aboba, and D. Gurle, "SIP extensions for
   instant messaging," Internet Draft, Internet Engineering Task Force,
   June 2000.  Work in progress.





Rosenberg et. al.                                             [Page 7]