< draft-rosenberg-simple-messaging-requirements-00.txt   draft-rosenberg-simple-messaging-requirements-01.txt >
SIMPLE J. Rosenberg SIMPLE J. Rosenberg
Internet-Draft dynamicsoft Internet-Draft dynamicsoft
Expires: June 17, 2003 December 17, 2002 Expires: August 12, 2004 February 12, 2004
Advanced Instant Messaging Requirements for the Session Initiation Advanced Instant Messaging Requirements for the Session Initiation
Protocol (SIP) Protocol (SIP)
draft-rosenberg-simple-messaging-requirements-00 draft-rosenberg-simple-messaging-requirements-01
Status of this Memo Status of this Memo
This document is an Internet-Draft and is in full conformance with This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026. all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that other
other groups may also distribute working documents as groups may also distribute working documents as Internet-Drafts.
Internet-Drafts.
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."
The list of current Internet-Drafts can be accessed at http:// The list of current Internet-Drafts can be accessed at http://
www.ietf.org/ietf/1id-abstracts.txt. www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on June 17, 2003. This Internet-Draft will expire on August 12, 2004.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2002). All Rights Reserved. Copyright (C) The Internet Society (2004). All Rights Reserved.
Abstract Abstract
This specification defines a set of requirements for new capabilities This specification defines a set of requirements for new capabilities
for instant messaging and presence in SIP-based systems. for instant messaging in SIP-based systems.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Delivery Status Reporting . . . . . . . . . . . . . . . . . . 4 2. Delivery Status Reporting . . . . . . . . . . . . . . . . . . 4
3. Is-Composing . . . . . . . . . . . . . . . . . . . . . . . . . 7 3. Is-Composing . . . . . . . . . . . . . . . . . . . . . . . . . 7
4. Content Capabilities . . . . . . . . . . . . . . . . . . . . . 9 4. Content Capabilities . . . . . . . . . . . . . . . . . . . . . 9
5. Page-Mode Groups . . . . . . . . . . . . . . . . . . . . . . . 10 5. Page-Mode Groups . . . . . . . . . . . . . . . . . . . . . . . 10
5.1 Invitations to Non-Real-Time Sessions . . . . . . . . . . . . 10 5.1 Invitations to Non-Real-Time Sessions . . . . . . . . . . . . 10
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12
7. Security Considerations . . . . . . . . . . . . . . . . . . . 13 7. Security Considerations . . . . . . . . . . . . . . . . . . . 13
8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 14 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 14
Informative References . . . . . . . . . . . . . . . . . . . . 15 Informative References . . . . . . . . . . . . . . . . . . . . 15
Author's Address . . . . . . . . . . . . . . . . . . . . . . . 16 Author's Address . . . . . . . . . . . . . . . . . . . . . . . 16
Intellectual Property and Copyright Statements . . . . . . . . 17 Intellectual Property and Copyright Statements . . . . . . . . 17
1. Introduction 1. Introduction
The Session Initiation Protocol (SIP) defines several specifications The Session Initiation Protocol (SIP) defines several specifications
that support Instant Messaging (IM). The SIP MESSAGE method [2] that support Instant Messaging (IM). The SIP MESSAGE method [2]
allows for "page-mode" messaging, offering a service similar to Short allows for "page-mode" messaging, offering a service similar to Short
Message Service (SMS) in wireless networks. A more advanced Message Service (SMS) in wireless networks. A more advanced
capability, called session mode messaging, uses the SIP INVITE method capability, called session mode messaging, uses the SIP INVITE method
to establish a session whose media type is messaging [8][9]. This to establish a session whose media type is messaging [8]. This allows
allows for many SIP capabilities to be directly applied to instant for many SIP capabilities to be directly applied to instant
messaging, such as conferencing [10]. messaging, such as conferencing [9].
However, there are many additional features that exist in current, However, there are many additional features that exist in current,
proprietary IM systems. Some of these features do not require proprietary IM systems. Some of these features do not require
protocol extensions in order to be deployed (IM message archival, for protocol extensions in order to be deployed (IM message archival, for
example). However, others do. example). However, others do.
This specification provides requirements for a number of advanced IM This specification provides requirements for a number of advanced IM
features which require additional standardization activity to features which require additional standardization activity to
support. It does not cover features which can be achieved with support. It does not cover features which can be achieved with
existing protocols and specifications. It is also limited to instant existing protocols and specifications. It is also limited to instant
messaging only, and does not consider presence [5]. messaging only, and does not consider presence [5].
2. Delivery Status Reporting 2. Delivery Status Reporting
In most cases, an IM is delivered immediately to the recipient. In most cases, an IM is delivered immediately to the recipient.
Indeed, this is the principal motivation behind the "Instant" in Indeed, this is the principal motivation behind the "Instant" in
"Instant Messaging". However, in many systems, and instant message "Instant Messaging". However, in many systems, and instant message
can be sent even when the recipient is not available. Indeed, even can be sent even when the recipient is not available. Indeed, even if
if they are available when the message is sent, the user may log off they are available when the message is sent, the user may log off
before the message can be delivered. before the message can be delivered.
Typically, this is dealt with through a combination of two features. Typically, this is dealt with through a combination of two features.
The first is message archival and retrieval. These features allow The first is message archival and retrieval. These features allow the
the intended recipient to retrieve their messages at a later time. intended recipient to retrieve their messages at a later time. To
To support this, the receiving domain stores the content of the IM, support this, the receiving domain stores the content of the IM,
allowing the user to fetch it later. In this regard, it is very allowing the user to fetch it later. In this regard, it is very
similar to existing email systems. Existing protocols, such as IMAP4 similar to existing email systems. Existing protocols, such as IMAP4
[7], can be used for the retrieval functions of IM [[Note - is there [7], can be used for the retrieval functions of IM [[Note - is there
any need for an "IM" profile for IMAP, similar to the "voice" profile any need for an "IM" profile for IMAP, similar to the "voice" profile
for IMAP as specified in RFC 2421 [6]?]]. for IMAP as specified in RFC 2421 [6]?]].
The second feature is message delivery confirmation. This feature The second feature is message delivery confirmation. This feature
allows the sender to know that the receiver has received the message. allows the sender to know that the receiver has received the message.
This feature exists in SMS and in email [12]. A similar function is This feature exists in SMS and in email [10]. A similar function is
needed for IP-based instant messaging. Indeed, it is provided in needed for IP-based instant messaging. Indeed, it is provided in
several commercial IM systems, including Wireless Village. several commercial IM systems, including Wireless Village.
It is important to note that, while delivery status notifications are
needed to support storage-and-retrieval of IM, the notifications are
needed even for real-time interactive conversations. Specifically,
they are needed to support several of the requirements for IM
outlined in RFC 2779 [4]. Specifically, requirement 4.2.1 calls out
for delivery success and/or failure notifications. While SIP itself
provides this basic function for immediately delivered page-mode
messages, in session mode, an application layer mechanism is needed.
Furthermore, in both page and session modes, group IM will require
delivery status notifications in order for the sender to know which,
if any, of the recipients got the message.
[[EDITORS NOTE: The major open issue is the scope. IM is not email;
how many features do we really need here? The only clear ones are the
ones in the paragraph above which are needed even when the IM is not
stored. Perhaps we can support two mechanisms; one, restricted to
immediate deliveries, and the other, providing the full delivery
status notifications ala [12].]]
Certainly, much of the email specifications for message delivery Certainly, much of the email specifications for message delivery
confirmation can be reused for IM. However, much of it is confirmation can be reused for IM. However, much of it is
email-specific, and IM introduces some new requirements. The email-specific, and IM introduces some new requirements. The
following requirements apply to IM delivery status notifications: following requirements apply to IM delivery status notifications:
REQ-DELNOT-1: It MUST be possible for the sender of an IM to REQ-DELNOT-1: It MUST be possible for the sender of an IM to
request a delivery notification. request a delivery notification.
REQ-DELNOT-2: It MUST be possible for the sender of an IM to learn REQ-DELNOT-2: It MUST be possible for the sender of an IM to learn
immediately that a delivery notification will, or will not, be immediately that a delivery notification will, or will not, be
sent. sent.
REQ-DELNOT-3: It MUST be possible for the delivery notification to REQ-DELNOT-3: It MUST be possible for the delivery notification to
skipping to change at page 5, line 30 skipping to change at page 5, line 11
whether, when it was delivered, the recipient genreated an error. whether, when it was delivered, the recipient genreated an error.
It MUST be possible for the sender to learn the specific error It MUST be possible for the sender to learn the specific error
condition. condition.
REQ-DELNOT-6: The delivery notification MUST indicate the time of REQ-DELNOT-6: The delivery notification MUST indicate the time of
message delivery. message delivery.
REQ-DELNOT-7: The delivery notification MUST indicate the specific REQ-DELNOT-7: The delivery notification MUST indicate the specific
message which was delivered. message which was delivered.
REQ-DELNOT-8: Delivery notifications MUST operate for both page
mode and session mode.
REQ-DELNOT-9: In order to support interaction conversations where REQ-DELNOT-9: In order to support interaction conversations where
the sender can re-type their message if it is not received, the the sender can re-type their message if it is not received, the
delivery notifications MUST be sent rapidly when the message can delivery notifications MUST be sent rapidly when the message can
be immediately delivered. In this case, rapidly is loosely be immediately delivered. In this case, rapidly is loosely
defined, but generally, fast enough to support an interactive defined, but generally, fast enough to support an interactive
conversation. conversation.
REQ-DELNOT-10: It MUST be possible for the message sender (the REQ-DELNOT-10: It MUST be possible for the message sender (the
recipient of the notification) to authenticate the sender of the recipient of the notification) to authenticate the sender of the
notification. There is no explicit requirement for confidentialy notification. There is no explicit requirement for confidentialy
of the notification. of the notification.
REQ-DELNOT-11: As it is anticipated that this mechanism will be REQ-DELNOT-11: As it is anticipated that this mechanism will be
used frequently from wireless devices, it SHOULD keep overhead to used frequently from wireless devices, it SHOULD keep overhead to
a minimum, and in particular, SHOULD NOT provide extraneous a minimum, and in particular, SHOULD NOT provide extraneous
information not relevant to the above requirements. information not relevant to the above requirements.
REQ-DELNOT-12: When an IM is sent to a group, there MUST be REQ-DELNOT-12: When an IM is sent to a group, there MUST be
delivery notifications generated about the delivery of the IM to delivery notifications generated about the delivery of the IM to
each group participant. each group participant.
REQ-DELNOT-13: REQ-DELNOT-12 MUST support recursive groups. REQ-DELNOT-13: REQ-DELNOT-12 MUST support recursive groups.
REQ-DELNOT-14: The identity of the ultimate recipient MUST be made REQ-DELNOT-14: The identity of the ultimate recipient MUST be made
known to the message sender. known to the message sender.
REQ-DELNOT-15: The notification MAY contain the content of the
original IM [[EDITORS NOTE: is this really needed for IM?]]
REQ-DELNOT-16: Any error condition reported by the notification REQ-DELNOT-16: Any error condition reported by the notification
MAY contain a textual description of the error meant for human MAY contain a textual description of the error meant for human
consumption [[EDITORS NOTE: Do we need this?]] consumption [[EDITORS NOTE: Do we need this?]]
REQ-DELNOT-17: If an IM is being relayed through a gateway, for REQ-DELNOT-17: If an IM is being relayed through a gateway, for
example, to SMS, the delivery report SHOULD indicate such a example, to SMS, the delivery report SHOULD indicate such a
condition [[EDITORS NOTE: Do we need this?]] condition [[EDITORS NOTE: Do we need this?]]
REQ-DELNOT-18: The delivery notification MUST indicate the REQ-DELNOT-18: The delivery notification MUST indicate the
Content-Type of the message that was delivered. Content-Type of the message that was delivered.
skipping to change at page 7, line 8 skipping to change at page 7, line 8
REQ-DELNOT-20: The delivery notification MUST indicate the To REQ-DELNOT-20: The delivery notification MUST indicate the To
header field from the message that was delivered. header field from the message that was delivered.
REQ-DELNOT-21: The delivery notification MUST indicate the Expires REQ-DELNOT-21: The delivery notification MUST indicate the Expires
header field of the message that was delivered. header field of the message that was delivered.
3. Is-Composing 3. Is-Composing
Many commercial instant messaging and presence systems provide a Many commercial instant messaging and presence systems provide a
feature generally referred to as "is-typing". This feature is used feature generally referred to as "is-typing". This feature is used
during instant messaging chat sessions. Whenever one user is in the during instant messaging chat sessions. Whenever one user is in the
process of typing a message to another user, the recipient-to-be can process of typing a message to another user, the recipient-to-be can
see that a message is in progress. This avoids a common problem see that a message is in progress. This avoids a common problem where
where both participants are typing replies at the same time, so that both participants are typing replies at the same time, so that the
the resulting stream of converation is not well synchronized. resulting stream of converation is not well synchronized.
Generalizing this concept, the idea is really to allow one Generalizing this concept, the idea is really to allow one
participant to inform another participant that they are composing a participant to inform another participant that they are composing a
message of some type. By conveying a type, a broader set of features message of some type. By conveying a type, a broader set of features
can be enabled. For example, if one user indicates that they are can be enabled. For example, if one user indicates that they are
composing a message of type audio/basic, the other user will know composing a message of type audio/basic, the other user will know
that a voice IM is coming. that a voice IM is coming.
REQ-COMP-1: The is-composing feature must work with instant REQ-COMP-1: The is-composing feature must work with instant
messaging sessions [8]. messaging sessions [8].
REQ-COMP-2: Either side in the session should be able to indicate REQ-COMP-2: Either side in the session should be able to indicate
that they can receive the indicators. The indicators must not be that they can receive the indicators. The indicators must not be
sent from A to B if B does not explicitly indicate that they can sent from A to B if B does not explicitly indicate that they can
receive them. receive them.
REQ-COMP-3: It must be possible for indicators to be sent in only REQ-COMP-3: It must be possible for indicators to be sent in only
one direction, i.e., A sends them to B, but B does not send them one direction, i.e., A sends them to B, but B does not send them
to A. to A.
REQ-COMP-4: It must be possible for usage of the indicators to be REQ-COMP-4: It must be possible for usage of the indicators to be
added or removed to any IM session after the session has begun. added or removed to any IM session after the session has begun.
REQ-COMP-5: The indicator must be able to inform the recipient REQ-COMP-5: The indicator must be able to inform the recipient
that the sender has begun composing a message. that the sender has begun composing a message.
REQ-COMP-6: The indicator must be able to inform the recipient REQ-COMP-6: The indicator must be able to inform the recipient
that the sender has stopped composing a message. that the sender has stopped composing a message.
REQ-COMP-7: The indicator must be able to convey the MIME type of REQ-COMP-7: The indicator must be able to convey the MIME type of
the message that is being composed. the message that is being composed.
REQ-COMP-8: The indicator must be able to convey the REQ-COMP-8: The indicator must be able to convey the
content-disposition of the message that is being composed. [Do we content-disposition of the message that is being composed. [Do we
want this requirement?] want this requirement?]
REQ-COMP-9: The indicator must be synchrnonized with the message REQ-COMP-9: The indicator must be synchrnonized with the message
stream itself. That is, if a recipient gets an indicator that a stream itself. That is, if a recipient gets an indicator that a
user has stopped composing a message, and they also get a message, user has stopped composing a message, and they also get a message,
the recipient must be able to know which came first. the recipient must be able to know which came first.
REQ-COMP-10: It must be possible to provide end-to-end message REQ-COMP-10: It must be possible to provide end-to-end message
integrity and authentication over the indicators. integrity and authentication over the indicators.
REQ-COMP-11: It must be possible to associate the is-composing REQ-COMP-11: It must be possible to associate the is-composing
indicator with a particular instant messaging session. indicator with a particular instant messaging session.
REQ-COMP-12: It should be possible to interwork is-composing REQ-COMP-12: It should be possible to interwork is-composing
indicators between CPIM compliant systems, possibly with some loss indicators between CPIM compliant systems, possibly with some loss
of functionality, but with integrity and authentication in tact. of functionality, but with integrity and authentication in tact.
REQ-COMP-13: It should be possible for is-composing indicators to REQ-COMP-13: It should be possible for is-composing indicators to
work, possibly with loss of functionality, in page mode. [Do we work, possibly with loss of functionality, in page mode. [Do we
want this requirement?] want this requirement?]
REQ-COMP-14: The is-composing indicator should not result in an REQ-COMP-14: The is-composing indicator should not result in an
increase on the load of proxies. increase on the load of proxies.
REQ-COMP-15: It must be possible to receive delivery confirmation REQ-COMP-15: It must be possible to receive delivery confirmation
reports for is-composing indicators [Do we need this requirement?] reports for is-composing indicators [Do we need this requirement?]
REQ-COMP-16: The overhead of the indicators should be minimal. REQ-COMP-16: The overhead of the indicators should be minimal.
4. Content Capabilities 4. Content Capabilities
Although traditionally used with text, an IM can contain any kind of Although traditionally used with text, an IM can contain any kind of
content. There is an increasing trend to send multimedia content, content. There is an increasing trend to send multimedia content,
including audio, video, and even applications, over IM. However, including audio, video, and even applications, over IM. However,
recipients may not wish to receive content that they do not recipients may not wish to receive content that they do not
understand, or is over a particular size limit. understand, or is over a particular size limit.
Handling these "content capabilities" is done differently for page Handling these "content capabilities" is done differently for page
mode and session mode. In session mode, the initial offer/answer mode and session mode. In session mode, the initial offer/answer
exchange [3] can be used to convey content capabilities. Indeed, the exchange [3] can be used to convey content capabilities. Indeed, the
messaging sessions mechanism allows for negotiation of supported messaging sessions mechanism allows for negotiation of supported
content types. However, some additional aspects of negotiation are content types. However, some additional aspects of negotiation are
required: required:
REQ-CONTENT-1: A UA MUST be able to indicate the maximum message REQ-CONTENT-1: A UA MUST be able to indicate the maximum message
size it is willing to receive. size it is willing to receive.
In page mode messaging, a 413 response can be sent if a MESSAGE In page mode messaging, a 413 response can be sent if a MESSAGE
request is too large. However, there is no way to indicate what the request is too large. However, there is no way to indicate what the
largest allowed size is: largest allowed size is:
REQ-CONTENT-2: A 413 response MUST be capable of indicating the REQ-CONTENT-2: A 413 response MUST be capable of indicating the
maximum allowed message size. maximum allowed message size.
Note that, there is no requirement to support transcoding of content Note that, there is no requirement to support transcoding of content
at an intermediary in order to reduce the size of a sent message to at an intermediary in order to reduce the size of a sent message to
match that of a recipient. match that of a recipient.
5. Page-Mode Groups 5. Page-Mode Groups
There is no explicit support for groups in page mode. Supporting There is no explicit support for groups in page mode. Supporting
groups in session mode is trivial, and is completely handled through groups in session mode is trivial, and is completely handled through
the SIP conferencing specifications [10]. While there is no the SIP conferencing specifications [9]. While there is no
expectations that the same level of features will be available in expectations that the same level of features will be available in
page mode conferencing as session mode, some minimal features are page mode conferencing as session mode, some minimal features are
desirable. desirable.
REQ-GROUP-1: It MUST be possible to address a page-mode IM to a REQ-GROUP-1: It MUST be possible to address a page-mode IM to a
group. group.
REQ-GROUP-2: Each recipient of a group page IM MUST be capable of REQ-GROUP-2: Each recipient of a group page IM MUST be capable of
determining the set of other recipients that got the request. determining the set of other recipients that got the request.
REQ-GROUP-3: It MUST be possible for a user to send to an ad-hoc REQ-GROUP-3: It MUST be possible for a user to send to an ad-hoc
group, where the identities of the recipients are carried in the group, where the identities of the recipients are carried in the
message itself. message itself.
REQ-GROUP-4: It MUST be possible for the recipient of a group IM REQ-GROUP-4: It MUST be possible for the recipient of a group IM
to send a message to all other participants that received the same to send a message to all other participants that received the same
group IM (i.e., Reply-To-All). group IM (i.e., Reply-To-All).
[[Editors NOTE: It is not clear at all that we want to support any of [[Editors NOTE: It is not clear at all that we want to support any of
this. Session mode provides a much more comprehensive conferencing this. Session mode provides a much more comprehensive conferencing
story. Do we really want to add features for page mode??]] story. Do we really want to add features for page mode??]]
5.1 Invitations to Non-Real-Time Sessions 5.1 Invitations to Non-Real-Time Sessions
SIP fundamentally deals with real-time sessions. That is, it allows SIP fundamentally deals with real-time sessions. That is, it allows
users to invite other users to communicate using some kind of users to invite other users to communicate using some kind of
interactive media. However, there are many other types of interactive media. However, there are many other types of "sessions",
"sessions", in the broad sense of the word, that one can be invited in the broad sense of the word, that one can be invited to. As an
to. As an example, one user could invite another user to join an example, one user could invite another user to join an email mailing
email mailing list, to join a conference call occuring next week, or list, to join a conference call occuring next week, or to view a web
to view a web site. site.
Specific desired capabilities are: Specific desired capabilities are:
REQ-NRT-1: It MUST be possible to send a user a message requesting REQ-NRT-1: It MUST be possible to send a user a message requesting
that they perform some specific action. that they perform some specific action.
REQ-NRT-2: The set of possible actions MUST include the ability to REQ-NRT-2: The set of possible actions MUST include the ability to
request that a user add another user to their buddy list. request that a user add another user to their buddy list.
REQ-NRT-3: The set of possible actions MUST include the ability to REQ-NRT-3: The set of possible actions MUST include the ability to
skipping to change at page 11, line 16 skipping to change at page 11, line 16
request the user to view a certain URL. request the user to view a certain URL.
REQ-NRT-5: The set of possible actions MUST include the ability to REQ-NRT-5: The set of possible actions MUST include the ability to
request the user to join a specific group (such as a page-mode request the user to join a specific group (such as a page-mode
group IM list). group IM list).
REQ-NRT-6: The set of actions MUST be easily extensible. REQ-NRT-6: The set of actions MUST be easily extensible.
REQ-NRT-7: It MUST be possible for the sender to cancel the REQ-NRT-7: It MUST be possible for the sender to cancel the
request, i.e., ask that the user not bother to perform the request, i.e., ask that the user not bother to perform the
previous requested action. Of course, there is no expectation previous requested action. Of course, there is no expectation that
that the request is honored, and no way to enforce it. The only the request is honored, and no way to enforce it. The only
requirement is the ability to convey this desire. requirement is the ability to convey this desire.
REQ-NRT-8: It MUST be possible for the sender to learn when the REQ-NRT-8: It MUST be possible for the sender to learn when the
recipient has performed the desired action. recipient has performed the desired action.
REQ-NRT-9: It MUST be possible for the sender to learn that the REQ-NRT-9: It MUST be possible for the sender to learn that the
recipient has received the request to perform the desired action. recipient has received the request to perform the desired action.
REQ-NRT-10: It MUST be possible for the recipient to indicate that REQ-NRT-10: It MUST be possible for the recipient to indicate that
they accept the invitation, reject it, or will defer it (consider they accept the invitation, reject it, or will defer it (consider
it later). it later).
REQ-NRT-11: It MUST be possible for REQ-NRT-10, REQ-NRT-9 and REQ-NRT-11: It MUST be possible for REQ-NRT-10, REQ-NRT-9 and
REQ-NRT-8 to occur at an arbitrarily long period of time after the REQ-NRT-8 to occur at an arbitrarily long period of time after the
invitation was issued. invitation was issued.
REQ-NRT-12: The set of actions MUST include the ability to ask a
user to initiate a Push-To-Talk session.
This capability is a hybrid between a traditional SIP INVITE and a This capability is a hybrid between a traditional SIP INVITE and a
SIP MESSAGE. It is like INVITE in that it is accepted or rejected, SIP MESSAGE. It is like INVITE in that it is accepted or rejected,
and can be cancelled. It is not like INVITE in that the acceptances and can be cancelled. It is not like INVITE in that the acceptances
or rejections can come at any time, even days after the invitation. or rejections can come at any time, even days after the invitation.
In that sense, it is more like a MESSAGE. In that sense, it is more like a MESSAGE.
One solution to these requirements is to use IM, and for the content
to indicate an invitation of sorts. As an example, an invitation to
a meeting can be done using an iCal object [11] carried in a MESSAGE
request. However, cancelling the invitation, and indicating
acceptances, would all be specified using iCal specific parameters.
They would not be reusable for other invitation types.
As such, an alternative solution is to define several general
primitives for this operation.
[[EDITORS NOTE: It is far from clear that we want to do any standards
work here. This section was included because this feature is
supported in one of the commercial systems.]]
6. IANA Considerations 6. IANA Considerations
There are no IANA Considerations associated with this specification. There are no IANA Considerations associated with this specification.
7. Security Considerations 7. Security Considerations
Security requirements are discussed above where relevant. Security requirements are discussed above where relevant.
8. Acknowledgments 8. Acknowledgments
This draft includes requirements contributed by Aki Niemi [13]. This draft includes requirements contributed by Aki Niemi [11].
Informative References Informative References
[1] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., [1] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A.,
Peterson, J., Sparks, R., Handley, M. and E. Schooler, "SIP: Peterson, J., Sparks, R., Handley, M. and E. Schooler, "SIP:
Session Initiation Protocol", RFC 3261, June 2002. Session Initiation Protocol", RFC 3261, June 2002.
[2] Campbell, B., Rosenberg, J., Schulzrinne, H., Huitema, C. and [2] Campbell, B., Rosenberg, J., Schulzrinne, H., Huitema, C. and
D. Gurle, "Session Initiation Protocol (SIP) Extension for D. Gurle, "Session Initiation Protocol (SIP) Extension for
Instant Messaging", RFC 3428, December 2002. Instant Messaging", RFC 3428, December 2002.
[3] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model with [3] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model with
Session Description Protocol (SDP)", RFC 3264, June 2002. Session Description Protocol (SDP)", RFC 3264, June 2002.
[4] Day, M., Aggarwal, S. and J. Vincent, "Instant Messaging / [4] Day, M., Aggarwal, S., Mohr, G. and J. Vincent, "Instant
Presence Protocol Requirements", RFC 2779, February 2000. Messaging / Presence Protocol Requirements", RFC 2779, February
2000.
[5] Day, M., Rosenberg, J. and H. Sugano, "A Model for Presence and [5] Day, M., Rosenberg, J. and H. Sugano, "A Model for Presence and
Instant Messaging", RFC 2778, February 2000. Instant Messaging", RFC 2778, February 2000.
[6] Vaudreuil, G. and G. Parsons, "Voice Profile for Internet Mail [6] Vaudreuil, G. and G. Parsons, "Voice Profile for Internet Mail
- version 2", RFC 2421, September 1998. - version 2", RFC 2421, September 1998.
[7] Crispin, M., "Internet Message Access Protocol - Version [7] Crispin, M., "Internet Message Access Protocol - Version
4rev1", RFC 2060, December 1996. 4rev1", RFC 2060, December 1996.
[8] Rosenberg, J. and B. Campbell, "Instant Message Sessions in [8] Campbell, B., "Instant Message Sessions in SIMPLE",
SIMPLE", draft-campbell-simple-im-sessions-00 (work in draft-ietf-simple-message-sessions-03 (work in progress),
progress), October 2002. January 2004.
[9] Campbell, B., "Instant Message Transport Sessions using the
CPIM Message Format", draft-campbell-simple-cpimmsg-sessions-00
(work in progress), October 2002.
[10] Rosenberg, J., "A Framework for Conferencing with the Session [9] Rosenberg, J., "A Framework for Conferencing with the Session
Initiation Protocol", Initiation Protocol",
draft-rosenberg-sipping-conferencing-framework-00 (work in draft-ietf-sipping-conferencing-framework-01 (work in
progress), November 2002. progress), October 2003.
[11] Pessi, P. and N. Melam, "iCalendar SIP-Based Interoperability
Protocol", draft-pessi-calsch-isip-00 (work in progress),
October 2002.
[12] Moore, K. and G. Vaudreuil, "An Extensible Message Format for [10] Moore, K. and G. Vaudreuil, "An Extensible Message Format for
Delivery Status Notifications", draft-vaudreuil-1894bis-02 Delivery Status Notifications", RFC 3464, January 2003.
(work in progress), August 2002.
[13] Niemi, A., "Requirements for Instant Messaging in 3GPP Wireless [11] Niemi, A., "Requirements for Instant Messaging in 3GPP Wireless
Systems", draft-niemi-simple-im-wireless-reqs-00 (work in Systems", draft-niemi-simple-im-wireless-reqs-02 (work in
progress), October 2002. progress), October 2003.
Author's Address Author's Address
Jonathan Rosenberg Jonathan Rosenberg
dynamicsoft dynamicsoft
72 Eagle Rock Avenue 600 Lanidex Plaza
East Hanover, NJ 07936 Parsippany, NJ 07054
US US
Phone: +1 973 952-5000 Phone: +1 973 952-5000
EMail: jdrosen@dynamicsoft.com EMail: jdrosen@dynamicsoft.com
URI: http://www.jdrosen.net URI: http://www.jdrosen.net
Intellectual Property Statement Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any The IETF takes no position regarding the validity or scope of any
intellectual property or other rights that might be claimed to intellectual property or other rights that might be claimed to
pertain to the implementation or use of the technology described in pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights this document or the extent to which any license under such rights
might or might not be available; neither does it represent that it might or might not be available; neither does it represent that it
has made any effort to identify any such rights. Information on the has made any effort to identify any such rights. Information on the
IETF's procedures with respect to rights in standards-track and IETF's procedures with respect to rights in standards-track and
standards-related documentation can be found in BCP-11. Copies of standards-related documentation can be found in BCP-11. Copies of
claims of rights made available for publication and any assurances of claims of rights made available for publication and any assurances of
licenses to be made available, or the result of an attempt made to licenses to be made available, or the result of an attempt made to
obtain a general license or permission for the use of such obtain a general license or permission for the use of such
proprietary rights by implementors or users of this specification can proprietary rights by implementors or users of this specification can
be obtained from the IETF Secretariat. be obtained from the IETF Secretariat.
The IETF invites any interested party to bring to its attention any The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary copyrights, patents or patent applications, or other proprietary
rights which may cover technology that may be required to practice rights which may cover technology that may be required to practice
this standard. Please address the information to the IETF Executive this standard. Please address the information to the IETF Executive
Director. Director.
Full Copyright Statement Full Copyright Statement
Copyright (C) The Internet Society (2002). All Rights Reserved. Copyright (C) The Internet Society (2004). All Rights Reserved.
This document and translations of it may be copied and furnished to This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than followed, or as required to translate it into languages other than
English. English.
The limited permissions granted above are perpetual and will not be The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assignees. revoked by the Internet Society or its successors or assignees.
This document and the information contained herein is provided on an This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Acknowledgement Acknowledgment
Funding for the RFC Editor function is currently provided by the Funding for the RFC Editor function is currently provided by the
Internet Society. Internet Society.
 End of changes. 57 change blocks. 
134 lines changed or deleted 89 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/