Internet Engineering Task Force Internet Draft Wu/Schulzrinne draft-wu-sipping-webshare-00.txt Columbia University November 14, 2001 Expires: May 2002 Use SIP MESSAGE method for shared web browsing STATUS OF THIS MEMO This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress". The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt To view the list Internet-Draft Shadow Directories, see http://www.ietf.org/shadow.html. Abstract Shared web browsing allows a group of people to visit the same web sites. Participants announce a list of URLs, which the recipients may then choose to visit. We choose to use the SIP MESSAGE method to convey the information. 1 Introduction In shared web browsing, a "leader" conveys a list of URLs to the "followers". The leader may generate the list simply by browsing web pages, by running a timed script, e.g., for a presentation, or by explicitly entering URLs. The "follower" receives these requests and can, with appropriate authentication and/or approval, visit these same URLs. The same entity can function simultaneously as a leader and as a follower. It is useful to integrate this capability with Wu/Schulzrinne [Page 1] Internet Draft SIP-MESSAGE-Webshare November 14, 2001 other media types, for example within a conference. Current browsers do not offer this capability. Thus, a browser controller needs to be used to communicate between the participants of the conference and to control the web browser. The browser controller needs to handle three tasks, namely to detect when the leader browser changes URLs, to control the web browser and to exchange the URLs. For the first two tasks, different browser may use different mechanisms. For example, we may use ActiveX [1] to communicate with the Internet Explorer and use DDE [2] to communicate with the Netscape. For communicating URLs, using TCP to connect multiple browser controllers is an option but is not flexible. We observe that the SIP MESSAGE method [3] already provides a mechanism to exchange text. Using SIP MESSAGE method with the content of the MIME type text/uri-list [4] offers a simple and low-bandwidth solution for exchanging URLs. 1.1 Conventions of This Document In this document, the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALLNOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" are to be interpreted as described in RFC 2119 [5] and indicate requirement levels for compliant CPL implementations. 2 Architecture +-------+ +-------+ |browser| |browser| +---+---+ +---+---+ | | | | +---+------+ +---+------+ |browser | +------+ SIP +------+ |browser | |controller+-------+SIP UA+--MESSAGE--+SIP UA+-------+controller| +----------+ +------+ +------+ +----------+ Figure 1: Architecture of shared web browsing Figure 1 shows the architecture of the shared web browsing that uses the SIP MESSAGE request to exchange URLs. In this architecture, the SIP UA communicates with the browser controller by function call or TCP socket. The browser controller uses ActiveX, DDE or some other mechanisms to control the web browser. Wu/Schulzrinne [Page 2] Internet Draft SIP-MESSAGE-Webshare November 14, 2001 3 Use SIP MESSAGE method to exchange URLs The Content-Type for the MESSAGE request is text/url-list (RFC 2483 [4]). It contains a list of URIs, one per line. When a SIP UA receives a MESSAGE request with the Content-Type header as text/uri- list, the SIP UA sends the URLs in the content to the browser controller. 4 Shared web browsing session The SIP Instant Message Sessions document [6] has defined a way to establish an instant message session. The same approach can be used to establish a shared web browsing session. The shared web browsing session uses 'webshare' as the media type in the SDP [7] 'm' line. The SDP 'm' line for shared web browsing could be: m=webshare 5060 sip sip:foo@foo.com 5 Security consideration Implementations SHOULD provide users with the ability to approve each URL to be visited. Users SHOULD use appropriate authentication to ensure that MESSAGE requests originate from trusted parties. Other SIP security consideraions apply [8]. 6 Example usage Example of messages are shown as Figure 2. MESSAGE sip:test@128.59.19.27:5060 SIP/2.0 Via: SIP/2.0/UDP 128.59.19.251:5060 CSeq: 4 MESSAGE Contact: sip:xiaotaow@128.59.19.251:5060 From: sip:xiaotaow@cs.columbia.edu Call-Info: http://www.cs.columbia.edu/~xiaotaow Date: Fri, 19 Oct 2001 17:26:53 GMT Content-Type: text/uri-list Call-ID: 344413855@128.59.19.251 To: sip:test@ind.cs.columbia.edu Content-Length: 21 http://www.google.com Figure 2: Example messages Wu/Schulzrinne [Page 3] Internet Draft SIP-MESSAGE-Webshare November 14, 2001 7 Use SIP NOTIFY method to exchange URLs The SIP NOTIFY method is another option for conveying URLs. Compared with using the SIP MESSAGE method, which considers the URL exchanges as a media stream inside a session, using the SIP NOTIFY method considers the URL changes as events. Using the SIP NOTIFY method seems a better fit for the centralized conference model or when a browser wants to be notified when a web page has changed. For peer- to-peer exchanges as part of a session, using the SIP MESSAGE method seems a better fit. 8 Authors' Addresses Xiaotao Wu Dept. of Computer Science Columbia University 1214 Amsterdam Avenue, MC 0401 New York, NY 10027 USA electronic mail: xiaotaow@cs.columbia.edu Henning Schulzrinne Dept. of Computer Science Columbia University 1214 Amsterdam Avenue, MC 0401 New York, NY 10027 USA electronic mail: schulzrinne@cs.columbia.edu 9 Bibliography [1] Microsoft, "Reusing the webbrowser control." http://msdn.microsoft.com/workshop/browser/webbrowser/WebBrowser.asp. [2] Netscape, "Ncapi faq." http://developer.netscape.com/support/faqs/ncapi/ncapi.html. [3] J. Rosenberg et al. , "SIP extensions for instant messaging," Internet Draft, Internet Engineering Task Force, July 2001. Work in progress. [4] M. Mealling and R. Daniel, "URI resolution services necessary for URN resolution," Request for Comments 2483, Internet Engineering Task Force, Jan. 1999. [5] S. Bradner, "Key words for use in RFCs to indicate requirement levels," Request for Comments 2119, Internet Engineering Task Force, Mar. 1997. Wu/Schulzrinne [Page 4] Internet Draft SIP-MESSAGE-Webshare November 14, 2001 [6] B. Campbell and J. Rosenberg, "SIP instant message sessions," Internet Draft, Internet Engineering Task Force, July 2001. Work in progress. [7] R. W. Watson, "NIC view of standard host names," Request for Comments 237, Internet Engineering Task Force, Oct. 1971. [8] M. Handley, H. Schulzrinne, E. Schooler, and J. Rosenberg, "SIP: session initiation protocol," Request for Comments 2543, Internet Engineering Task Force, Mar. 1999. Full Copyright Statement Copyright (c) The Internet Society (2001). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS 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. Table of Contents 1 Introduction ........................................ 1 Wu/Schulzrinne [Page 5] Internet Draft SIP-MESSAGE-Webshare November 14, 2001 1.1 Conventions of This Document ........................ 2 2 Architecture ........................................ 2 3 Use SIP MESSAGE method to exchange URLs ............. 3 4 Shared web browsing session ......................... 3 5 Security consideration .............................. 3 6 Example usage ....................................... 3 7 Use SIP NOTIFY method to exchange URLs .............. 4 8 Authors' Addresses .................................. 4 9 Bibliography ........................................ 4 Wu/Schulzrinne [Page 6]