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]