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]