Internet DRAFT - draft-houri-speermint-presence-im-provision
draft-houri-speermint-presence-im-provision
SPEERMINT WG A. Houri
Internet-Draft G. Perzy
Intended status: Informational IBM
Expires: April 30, 2009 E. Aoki
AOL LLC
S. Parameswar
Microsoft Corporation
October 27, 2008
Presence & Instant Messaging Provisioning
draft-houri-speermint-presence-im-provision-00.txt
Status of this Memo
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
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.
This Internet-Draft will expire on April 30, 2009.
Abstract
NOTE: This is still an initial draft of this document
The document defines data for provisioning between two presence and
IM domains and the methods that can be used to convey the data
between the domains.
Houri, et al. Expires April 30, 2009 [Page 1]
Internet-Draft Presence & IM Provisioning October 2008
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Provisioning Parameters . . . . . . . . . . . . . . . . . . . 3
2.1. Connectivity . . . . . . . . . . . . . . . . . . . . . . . 3
2.2. Authorization & Privacy . . . . . . . . . . . . . . . . . 4
2.3. Presence Features . . . . . . . . . . . . . . . . . . . . 4
2.4. Chat Features . . . . . . . . . . . . . . . . . . . . . . 4
2.5. Clearing House Services . . . . . . . . . . . . . . . . . 5
3. XML Schema . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4. XML Schema Examples . . . . . . . . . . . . . . . . . . . . . 6
5. Conveying Protocols . . . . . . . . . . . . . . . . . . . . . 6
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7
7. Security Considerations . . . . . . . . . . . . . . . . . . . 7
8. Informative References . . . . . . . . . . . . . . . . . . . . 8
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 9
Intellectual Property and Copyright Statements . . . . . . . . . . 10
Houri, et al. Expires April 30, 2009 [Page 2]
Internet-Draft Presence & IM Provisioning October 2008
1. Introduction
The document uses the terminology as defined in [6] unless otherwise
stated.
Real Time Collaboration (RTC) services become as prevalent and
essential for users on the Internet as email. While RTC services can
be implemented directly by users in a point-to-point fashion, they
are often provided for or on behalf of a Peer Network of users within
an administrative domain. As the use of these services grows, users
increasingly have the need to communicate with users not only within
their own Peer Network but with those in other Peer Networks as well
(similar to the old Public Switched Telephony Network (PSTN) that
enabled global reachability). In practice, each Peer Network is
controlled by some domain, and so there is a need to provide for
easier establishment of connectivity between Peer Networks, and the
management of the relationships between the Peer Networks. This
document details a set of parameters that may need to be sent between
Peer Network in order to enable better communication and user
experience for presence and IM peering.
The same provisioning parameters can be used also between a client
and server and not necessarily only between servers. When used
between client and a server they can enable the client to discover
the capabilities of the server and for the server to discover the
capabilities of the client.
NOTE: This document does not define a protocol for conveying the
provisioning data but defines the payload (XML) for the
provisioning informaiton.
NOTE: There may be a need to do some negotiation between the Peer
Networks. If there is such a need for some of the provisioning
parameters, the negotiation mechanism will be added to future
versions of this document.
2. Provisioning Parameters
2.1. Connectivity
In order to enable connectivity between two Peer Network it is often
necessary to specify connectivity parameters that the other Peer
Network needs to know in order to connect. The following is an
initial list of such parameters.
Houri, et al. Expires April 30, 2009 [Page 3]
Internet-Draft Presence & IM Provisioning October 2008
o DNS names of the Peer Network - Defines the DNS names that can be
used in order to reach to the presence and IM proxies of the other
Peer Network.
o Usage of SRV records - Indication whether SRV records are used by
the other Peer Network.
o Usage of TLS - Indication whether the other Peer Network assumes
TLS only connectivity.
2.2. Authorization & Privacy
Privacy and authorization considerations can affect the amount of
traffic between Peer Networks considerably. If no optimizations are
enabled for privacy or authorization then there is a need to create a
subscription for each user that subscribes to another user and get
notifications for each subscription. Several optimizations are being
defined in order to enable optimized communication while adhering to
the privacy and authorization requirements.
The following parameter define what optimization is supported.
o view-sharing support - Indicates whether the [9] is supported and
what mode of the view sharing levels is supported.
2.3. Presence Features
o PIDF extensions - List of PIDF [3] extensions that are supported
by the Peer Network.
o PIDF mapping - Mapping between standardized PIDF extensions and
special PIDF attributes that are used in the Peer Network.
o Support for list subscription - Indicates whether the Peer Network
will accept list subscriptions [4] from users at the other Peer
Network
2.4. Chat Features
Sending instant messages between Peer Networks can be done in several
variants and have several associated features that may be supported
or not. The following parameters are parameters that can be either
supported or not and it is necessary for the other Peer domain to
know if they are supported.
o Logging indication - Indicates whether the chat that is coming to
the Peer Network form other Peer Networks is being logged. This
indication will allow the Peer Network that receives this
indication to display an alert to their users once they are to be
engaged in a chat with a user from the logging Peer Network.
Houri, et al. Expires April 30, 2009 [Page 4]
Internet-Draft Presence & IM Provisioning October 2008
o IM mode - Indicates what type of IM messaging is supported:
o
* Page Mode IM - In this use case a user from one Peer Network
sends a page mode [2] IM to a user on another Peer Network.
* Session Based IM - In this use case a user from one Peer
Network creates a Message Session Relay Protocol (MSRP) [5]
session with a user from another Peer Network. Another
alternative for session based IM is indicated in section 2 [2].
o Is typing indicator - Indicates whether RFC 3934 (Indication of
Message Composition for Instant Messaging) is supported by the
Peer Network.
o Rich Text support - Indicates if rich text chat is supported by
the Peer Network. If rich text is supported then a list of the
HTML formats that are supported should be also provided.
o Emoticons support - Indicates if textual emoticons are supported
by the Peer Network. If emoticons are supported then there will
be a mapping of common emoticons text to their meaning.
o Image support - Indicates if sending animated images inside a chat
is enabled and what types of images are supported
o N-way chat - Indicates whether multi-participant textual chat
([7]) is enabled.
o File transfer - Indicated whether sending files from a user in one
Peer Network to a user in another Peer Network is enabled. See
[8] for more details.
2.5. Clearing House Services
A Federation as defined in [6] enables peering between multiple Peer
Networks. A federation may be implemented by means of a central
service providing a hub for the Peer Networks or, alternatively, Peer
Networks may connect to each other in a peer-to-peer fashion. One of
the most important services that this type of federation should
provide is authorized interconnection that enables each Peering
Network to securely identify other Peering Networks. Other services
that might be provided include an N-way chat server, lawful
interception, logging and more. This type of federation is also
known as a "Clearing House".
As non-VoIP services are usually text-based and consume less
bandwidth, they may benefit from having a central service that will
do central services such as logging for them. For example, instead
of requiring each Peer Network to log all messages that are being
sent to the other Peer-Network, this service can be done by the
Clearing House.
When a Peer Network will connect to a Clearing house it will provide
and be provisioned with parameters as if when connecting to a normal
Peer Network. The following parameters are additional parameters
Houri, et al. Expires April 30, 2009 [Page 5]
Internet-Draft Presence & IM Provisioning October 2008
that are important when connecting to Clearing House:
o Peer Network Privacy - Indication if all other Peer Networks in
the clearing house should be able to see and interact with this
Peer Network. if the Peer Network indicates that it does not wish
to be seen, then a list of the other Peer Networks that should see
this Peer Network should be provided.
3. XML Schema
The XML schema for provisioning for presence and IM defines the
various attributes that will be sent from the provisioning Peer
Network to the requesting Peer Network. The XML scheme will be added
to the document later based on feedback regarding the required
provisioning parameters.
4. XML Schema Examples
TODO: provide XML examples
5. Conveying Protocols
There are several options for querying and conveying the provisioning
paremeters.
The SIP OPTIONS method is described in [1] section 11. It enables on
UA to query the capabilities of another user agent. The intention
here is that there will be a well known address and port from which
the provisioning can be queried using the OPTION method. The may be
a need to create a mutual TLS when connecting to the proxy that
provides the OPTIONS reply as the Peer Network may want to send
different replies according to the Peer Network that is asking.
It is also possible to use the SIP config framework [10] in order to
provide configuration parameters between Peer Networks. However, It
may be that in most cases the config framework may be much more then
what is really needed and only subset of the functionality provided
in the framework will be needed..
Retrieving the provisioning data can also be done using HTTP GET
request to a well known URL (e.g. domain/pres-im-provisioning).
Using HTTP may be simpler then using the SIP OPTIONS method but in
cases where there is a need to send different provisioning
information to different Peer Networks the will be a need to
authenticate the requestor of the provisioning data via HTTP.
Houri, et al. Expires April 30, 2009 [Page 6]
Internet-Draft Presence & IM Provisioning October 2008
XEP 115 (Entity Capabilities -
http://www.xmpp.org/extensions/xep-0115.html) defines a way to
distribute capabilities of an entity in XMPP. The same mechanism can
be adapted to discover capabilities between servers also.
6. IANA Considerations
This document has no actions for IANA.
7. Security Considerations
When Peer Network A peers with Peer Network B, there are several
security issues that the administrator of each Peer Network will need
mechanisms to verify:
o All communication channels between Peer Network and between each
Peer Network and the clearing house have their authenticity and
confidentiality protected.
o The other Peer Network is really the Peering Network that it
claims to be.
o The other Peer Network is secure and trustful such that
information that is passed to it, will not reach a third party.
This includes information about specific users as well as
information about the authorization policies associated with user
information.
o The other Peer Network is secure and trustful such that it will
not modify or falsify data that it presents to its users except as
required by the authorization policy provided.
o If there is a third party (e.g. a clearing house) involved in the
connection between the two Peering Networks that element is also
verified to be secure.
The same issues of security are even more important from the point of
view of the users of the Peer Networks. Users will have the concern
on how their privacy is being adhered to when their presence
information is being sent to the other Peer Network. Users today are
concerned about providing their email address to a third party when
they register to a domain; Presence contains much more sensitive
information and the concern of users here will be even deeper.
The privacy issue is even harder if we take into account that in
order to enable scalable peering between big Peer Networks there are
some optimizations that may require migration of the privacy
definitions of users between Peer Network. We can imagine the fiasco
if a user of one Peer Network will be able to see the privacy
information and will learn he/she are listed in a block list of a
Houri, et al. Expires April 30, 2009 [Page 7]
Internet-Draft Presence & IM Provisioning October 2008
close friend.
8. Informative References
[1] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A.,
Peterson, J., Sparks, R., Handley, M., and E. Schooler, "SIP:
Session Initiation Protocol", RFC 3261, June 2002.
[2] Campbell, B., Rosenberg, J., Schulzrinne, H., Huitema, C., and
D. Gurle, "Session Initiation Protocol (SIP) Extension for
Instant Messaging", RFC 3428, December 2002.
[3] Sugano, H., Fujimoto, S., Klyne, G., Bateman, A., Carr, W., and
J. Peterson, "Presence Information Data Format (PIDF)",
RFC 3863, August 2004.
[4] Roach, A., Campbell, B., and J. Rosenberg, "A Session
Initiation Protocol (SIP) Event Notification Extension for
Resource Lists", RFC 4662, August 2006.
[5] Campbell, B., Mahy, R., and C. Jennings, "The Message Session
Relay Protocol (MSRP)", RFC 4975, September 2007.
[6] Malas, D. and D. Meyer, "SPEERMINT Terminology",
draft-ietf-speermint-terminology-16 (work in progress),
February 2008.
[7] Niemi, A., Garcia-Martin, M., and G. Sandbakken, "Multi-party
Instant Message (IM) Sessions Using the Message Session Relay
Protocol (MSRP)", draft-ietf-simple-chat-02 (work in progress),
February 2008.
[8] Garcia-Martin, M., Isomaki, M., Camarillo, G., Loreto, S., and
P. Kyzivat, "A Session Description Protocol (SDP) Offer/Answer
Mechanism to Enable File Transfer",
draft-ietf-mmusic-file-transfer-mech-08 (work in progress),
May 2008.
[9] Rosenberg, J., Donovan, S., and K. McMurry, "Optimizing
Federated Presence with View Sharing",
draft-ietf-simple-view-sharing-01 (work in progress),
July 2008.
[10] Channabasappa, S., "A Framework for Session Initiation Protocol
User Agent Profile Delivery",
draft-ietf-sipping-config-framework-15 (work in progress),
February 2008.
Houri, et al. Expires April 30, 2009 [Page 8]
Internet-Draft Presence & IM Provisioning October 2008
Authors' Addresses
Avshalom Houri
IBM
Science Park
Rehovot,
Israel
Email: avshalom@il.ibm.com
Gil Perzy
IBM
Science Park
Rehovot,
Israel
Email: gilper@il.ibm.com
Edwin Aoki
AOL LLC
401 Ellis St.
Mountain View, CA 94043
USA
Email: aoki@aol.net
Sriram Parameswar
Microsoft Corporation
One Microsoft Way
Redmond, WA 98052
USA
Email: Sriram.Parameswar@microsoft.com
Houri, et al. Expires April 30, 2009 [Page 9]
Internet-Draft Presence & IM Provisioning October 2008
Full Copyright Statement
Copyright (C) The IETF Trust (2008).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, 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 BCP 78 and BCP 79.
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
http://www.ietf.org/ipr.
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
ietf-ipr@ietf.org.
Houri, et al. Expires April 30, 2009 [Page 10]