< draft-ietf-simple-simple-08.txt   draft-ietf-simple-simple-09.txt >
SIMPLE J. Rosenberg SIMPLE J. Rosenberg
Internet-Draft jdrosen.net Internet-Draft jdrosen.net
Intended status: Informational January 29, 2013 Intended status: Informational February 16, 2013
Expires: August 2, 2013 Expires: August 20, 2013
SIMPLE made Simple: An Overview of the IETF Specifications for Instant SIMPLE made Simple: An Overview of the IETF Specifications for Instant
Messaging and Presence using the Session Initiation Protocol (SIP) Messaging and Presence using the Session Initiation Protocol (SIP)
draft-ietf-simple-simple-08 draft-ietf-simple-simple-09
Abstract Abstract
The IETF has produced many specifications related to Presence and The IETF has produced many specifications related to Presence and
Instant Messaging with the Session Initiation Protocol (SIP). Instant Messaging with the Session Initiation Protocol (SIP).
Collectively, these specifications are known as SIMPLE - SIP for Collectively, these specifications are known as SIMPLE - SIP for
Instant Messaging and Presence Leveraging Extensions. This document Instant Messaging and Presence Leveraging Extensions. This document
serves as a guide to the SIMPLE suite of specifications. It breaks serves as a guide to the SIMPLE suite of specifications. It
them up into categories and explains what each is for and how they categorizes the specifications and explains what each is for and how
relate to each other. they relate to each other.
Status of this Memo Status of this Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on August 2, 2013. This Internet-Draft will expire on August 20, 2013.
Copyright Notice Copyright Notice
Copyright (c) 2013 IETF Trust and the persons identified as the Copyright (c) 2013 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 25 skipping to change at page 2, line 25
2.4. Provisioning . . . . . . . . . . . . . . . . . . . . . . . 7 2.4. Provisioning . . . . . . . . . . . . . . . . . . . . . . . 7
2.5. Federation . . . . . . . . . . . . . . . . . . . . . . . . 8 2.5. Federation . . . . . . . . . . . . . . . . . . . . . . . . 8
2.6. Optimizations . . . . . . . . . . . . . . . . . . . . . . 8 2.6. Optimizations . . . . . . . . . . . . . . . . . . . . . . 8
3. Instant Messaging . . . . . . . . . . . . . . . . . . . . . . 9 3. Instant Messaging . . . . . . . . . . . . . . . . . . . . . . 9
3.1. Page Mode . . . . . . . . . . . . . . . . . . . . . . . . 9 3.1. Page Mode . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2. Session Mode . . . . . . . . . . . . . . . . . . . . . . . 10 3.2. Session Mode . . . . . . . . . . . . . . . . . . . . . . . 10
3.3. IM Chat Rooms . . . . . . . . . . . . . . . . . . . . . . 10 3.3. IM Chat Rooms . . . . . . . . . . . . . . . . . . . . . . 10
3.4. IM Features . . . . . . . . . . . . . . . . . . . . . . . 11 3.4. IM Features . . . . . . . . . . . . . . . . . . . . . . . 11
4. Security Considerations . . . . . . . . . . . . . . . . . . . 11 4. Security Considerations . . . . . . . . . . . . . . . . . . . 11
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11
6. Informative References . . . . . . . . . . . . . . . . . . . . 11 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 11
7. Informative References . . . . . . . . . . . . . . . . . . . . 11
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 15 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 15
1. Introduction 1. Introduction
The IETF has produced many specifications related to Presence and The IETF has produced many specifications related to Presence and
Instant Messaging with the Session Initiation Protocol (SIP) Instant Messaging with the Session Initiation Protocol (SIP)
[RFC3261]. Collectively, these specifications are known as SIMPLE - [RFC3261]. Collectively, these specifications are known as SIMPLE -
SIP for Instant Messaging and Presence Leveraging Extensions. These SIP for Instant Messaging and Presence Leveraging Extensions. These
specifications cover topics ranging from protocols for subscription specifications cover topics ranging from protocols for subscription
and publication, to presence document formats, to protocols for and publication, to presence document formats, to protocols for
skipping to change at page 4, line 19 skipping to change at page 4, line 19
o Provisioning, which describes how users manage their privacy o Provisioning, which describes how users manage their privacy
policies, buddy lists and other pieces of information required for policies, buddy lists and other pieces of information required for
SIMPLE presence to work SIMPLE presence to work
o Optimizations, which are improvements in the core protocol o Optimizations, which are improvements in the core protocol
machinery that were defined to improve the performance of SIMPLE, machinery that were defined to improve the performance of SIMPLE,
particularly on wireless links particularly on wireless links
2.1. Core Protocol Machinery 2.1. Core Protocol Machinery
RFC 3265, SIP-Specific Event Notification (S): RFC 3265 [RFC3265] RFC 6665, SIP-Specific Event Notification (S): RFC 6665 [RFC6665]
defines the SUBSCRIBE and NOTIFY methods for SIP, forming the core defines the SUBSCRIBE and NOTIFY methods for SIP, forming the core
of the SIP event notification framework. To actually use the of the SIP event notification framework. To actually use the
framework, extensions need to be defined for specific event framework, extensions need to be defined for specific event
packages. Presence is defined as an event package within this packages. Presence is defined as an event package [RFC3856]
framework. Packages exist for other, non-presence related within this framework. Packages exist for other, non-presence
functions, such as message waiting indicators and dialog state related functions, such as message waiting indicators and dialog
changes. state changes.
RFC 3856, A Presence Event Package for SIP (S): RFC 3856 [RFC3856] RFC 3856, A Presence Event Package for SIP (S): RFC 3856 [RFC3856]
defines an event package for indicating user presence through SIP. defines an event package for indicating user presence through SIP.
Through this package, a SIP user agent can ask to be notified of Through this package, a SIP user agent can ask to be notified of
the presence state of a presentity (presence entity). The content the presence state of a presentity (presence entity). The content
of the NOTIFY messages in this package are presence documents, of the NOTIFY messages in this package are presence documents,
discussed in Section 2.2 discussed in Section 2.2, below.
RFC 4662, A Session Initiation Protocol (SIP) Event Notification RFC 4662, A Session Initiation Protocol (SIP) Event Notification
Extension for Resource Lists (S): RFC 4662 [RFC4662] defines an Extension for Resource Lists (S): RFC 4662 [RFC4662] defines an
extension to RFC 3265 that allows a client to subscribe to a list extension to RFC 6665 that allows a client to subscribe to a list
of resources using a single subscription. The server, called a of resources using a single subscription. The server, called a
Resource List Server (RLS) will "expand" the subscription and Resource List Server (RLS) will "expand" the subscription and
subscribe to each individual member of the list. Its primary subscribe to each individual member of the list. Its primary
usage with presence is to allow subscriptions to "buddy lists". usage with presence is to allow subscriptions to "buddy lists".
Without RFC 4662, a UA would need to subscribe to each presentity Without RFC 4662, a UA would need to subscribe to each presentity
individually. With RFC 4662, they can have a single subscription individually. With RFC 4662, they can have a single subscription
to all buddies. A user can manage the entries in their buddy list to all buddies. A user can manage the entries in their buddy list
using the provisioning mechanisms in Section 2.4. using the provisioning mechanisms in Section 2.4, below.
RFC 5367, Subscriptions to Request-Contained Resource Lists in the RFC 5367, Subscriptions to Request-Contained Resource Lists in the
Session Initiation Protocol (SIP) (S): [RFC5367] is very similar to Session Initiation Protocol (SIP) (S): [RFC5367] is very similar to
RFC 4662. It allows a client to subscribe to a list of resources RFC 4662. It allows a client to subscribe to a list of resources
using a single subscription. However, with this mechanism, the using a single subscription. However, with this mechanism, the
list is included within the body of the SUBSCRIBE request. In RFC list is included within the body of the SUBSCRIBE request. In RFC
4662, it is provisioned ahead of time on the server. 4662, it is provisioned ahead of time on the server.
RFC 3903, SIP Extension for Event State Publication (S): RFC 3903 RFC 3903, SIP Extension for Event State Publication (S): RFC 3903
[RFC3903] defines the PUBLISH method. With this method, a user [RFC3903] defines the PUBLISH method. With this method, a user
skipping to change at page 9, line 25 skipping to change at page 9, line 25
[RFC5261] defines an XML structure for representing changes in XML [RFC5261] defines an XML structure for representing changes in XML
documents. It is a form of "diff", but specifically for XML documents. It is a form of "diff", but specifically for XML
documents. It is used by several of the optimization mechanisms documents. It is used by several of the optimization mechanisms
defined for SIMPLE. defined for SIMPLE.
RFC 5112, The Presence-Specific Static Dictionary for Signaling RFC 5112, The Presence-Specific Static Dictionary for Signaling
Compression (Sigcomp) (S): [RFC5112] defines a dictionary for usage Compression (Sigcomp) (S): [RFC5112] defines a dictionary for usage
with Signaling Compression (Sigcomp) [RFC3320] to improve the with Signaling Compression (Sigcomp) [RFC3320] to improve the
compressability of presence documents. compressability of presence documents.
RFC 6446, Session Initiation Protocol (SIP) Event Notification
Extension for Notification Rate Control (S): [RFC6446] This document
specifies mechanisms for adjusting the rate of SIP event
notifications. These mechanisms can be applied in subscriptions
to all SIP event packages.
3. Instant Messaging 3. Instant Messaging
SIMPLE defines two modes of instant messaging. These are page mode SIMPLE defines two modes of instant messaging. These are page mode
and session mode. In page mode, instant messages are sent by sending and session mode. In page mode, instant messages are sent by sending
a SIP request that contains the contents of the instant message. In a SIP request that contains the contents of the instant message. In
session mode, IM is viewed as another media type - along with audio session mode, IM is viewed as another media type - along with audio
and video - and an INVITE request is used to set up a session that and video - and an INVITE request is used to set up a session that
includes IM as a media type. While page mode is more efficient for includes IM as a media type. While page mode is more efficient for
one or two message conversations, session mode is more efficient for one or two message conversations, session mode is more efficient for
longer conversations since the messages are not sent through the SIP longer conversations since the messages are not sent through the SIP
skipping to change at page 10, line 9 skipping to change at page 10, line 16
Initiation Protocol (SIP) (S): [RFC5365] defines a mechanism whereby Initiation Protocol (SIP) (S): [RFC5365] defines a mechanism whereby
a client can send a single SIP MESSAGE to multiple recipients. a client can send a single SIP MESSAGE to multiple recipients.
This is accomplished by including the list of recipients as an This is accomplished by including the list of recipients as an
object in the body, and having a network server send a copy to object in the body, and having a network server send a copy to
each recipient. each recipient.
3.2. Session Mode 3.2. Session Mode
RFC 4975, The Message Session Relay Protocol (MSRP) (S): [RFC4975] RFC 4975, The Message Session Relay Protocol (MSRP) (S): [RFC4975]
defines a small text-based protocol for exchanging arbitrarily defines a small text-based protocol for exchanging arbitrarily
sized content of any time between users. An MSRP session is set sized content of any kind between users. An MSRP session is set
up by exchanging certain information, such as an MSRP URI, within up by exchanging certain information, such as an MSRP URI, within
SIP and SDP signaling. SIP and SDP signaling.
RFC 3862, Common Presence and Instant Messaging (CPIM): Message RFC 3862, Common Presence and Instant Messaging (CPIM): Message
Format (S): [RFC3862] defines a wrapper around instant message Format (S): [RFC3862] defines a wrapper around instant message
content, providing meta-data such as the sender and recipient content, providing meta-data such as the sender and recipient
identity. The CPIM format is carried in MSRP. identity. The CPIM format is carried in MSRP.
RFC 4976, Relay Extensions for the Message Sessions Relay Protocol RFC 4976, Relay Extensions for the Message Sessions Relay Protocol
(MSRP) (S): [RFC4976] adds support for relays to MSRP. These relay (MSRP) (S): [RFC4976] adds support for relays to MSRP. These relay
skipping to change at page 11, line 37 skipping to change at page 11, line 39
4. Security Considerations 4. Security Considerations
This specification is an overview of existing specifications, and This specification is an overview of existing specifications, and
does not introduce any security considerations on its own. does not introduce any security considerations on its own.
5. IANA Considerations 5. IANA Considerations
None. None.
6. Informative References 6. Acknowledgements
Thanks to Vijay Gurbani, Barry Leiba, Stephen Hanna, and Salvatore
Loreto for their review and comments.
7. Informative References
[RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
A., Peterson, J., Sparks, R., Handley, M., and E. A., Peterson, J., Sparks, R., Handley, M., and E.
Schooler, "SIP: Session Initiation Protocol", RFC 3261, Schooler, "SIP: Session Initiation Protocol", RFC 3261,
June 2002. June 2002.
[RFC3265] Roach, A., "Session Initiation Protocol (SIP)-Specific [RFC6665] Roach, A., "SIP-Specific Event Notification", RFC 6665,
Event Notification", RFC 3265, June 2002. July 2012.
[RFC3856] Rosenberg, J., "A Presence Event Package for the Session [RFC3856] Rosenberg, J., "A Presence Event Package for the Session
Initiation Protocol (SIP)", RFC 3856, August 2004. Initiation Protocol (SIP)", RFC 3856, August 2004.
[RFC4662] Roach, A., Campbell, B., and J. Rosenberg, "A Session [RFC4662] Roach, A., Campbell, B., and J. Rosenberg, "A Session
Initiation Protocol (SIP) Event Notification Extension for Initiation Protocol (SIP) Event Notification Extension for
Resource Lists", RFC 4662, August 2006. Resource Lists", RFC 4662, August 2006.
[RFC3903] Niemi, A., "Session Initiation Protocol (SIP) Extension [RFC3903] Niemi, A., "Session Initiation Protocol (SIP) Extension
for Event State Publication", RFC 3903, October 2004. for Event State Publication", RFC 3903, October 2004.
skipping to change at page 15, line 13 skipping to change at page 15, line 23
Session Relay Protocol (MSRP)", RFC 6714, August 2012. Session Relay Protocol (MSRP)", RFC 6714, August 2012.
[RFC5367] Camarillo, G., Roach, A., and O. Levin, "Subscriptions to [RFC5367] Camarillo, G., Roach, A., and O. Levin, "Subscriptions to
Request-Contained Resource Lists in the Session Initiation Request-Contained Resource Lists in the Session Initiation
Protocol (SIP)", RFC 5367, October 2008. Protocol (SIP)", RFC 5367, October 2008.
[RFC6135] Holmberg, C. and S. Blau, "An Alternative Connection Model [RFC6135] Holmberg, C. and S. Blau, "An Alternative Connection Model
for the Message Session Relay Protocol (MSRP)", RFC 6135, for the Message Session Relay Protocol (MSRP)", RFC 6135,
February 2011. February 2011.
[RFC6446] Niemi, A., Kiss, K., and S. Loreto, "Session Initiation
Protocol (SIP) Event Notification Extension for
Notification Rate Control", RFC 6446, January 2012.
Author's Address Author's Address
Jonathan Rosenberg Jonathan Rosenberg
jdrosen.net jdrosen.net
Email: jdrosen@jdrosen.net Email: jdrosen@jdrosen.net
URI: http://www.jdrosen.net URI: http://www.jdrosen.net
 End of changes. 16 change blocks. 
20 lines changed or deleted 37 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/