<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    On 01/30/11 22:50, Bernard Aboba wrote:
    <blockquote cite="mid:BLU152-ds1581E888DAE43D287D3FB393E20@phx.gbl"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=ISO-8859-1">
      <meta name="Generator" content="Microsoft Word 14 (filtered
        medium)">
      <style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.EmailStyle19
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
span.EmailStyle22
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:947732665;
        mso-list-type:hybrid;
        mso-list-template-ids:-452156152 1616558070 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
        {mso-level-start-at:0;
        mso-level-number-format:bullet;
        mso-level-text:-;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:.75in;
        text-indent:-.25in;
        font-family:"Calibri","sans-serif";
        mso-fareast-font-family:Calibri;
        mso-bidi-font-family:"Times New Roman";}
@list l0:level2
        {mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level3
        {mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level4
        {mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level5
        {mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level6
        {mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level7
        {mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level8
        {mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level9
        {mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
      <div class="WordSection1">
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            "Calibri","sans-serif"; color: rgb(31,
            73, 125);">One approach is to tunnel the signaling protocol
            over HTTP.   This requires support for bi-directional
            communications, such as can be provided by BOSH, or
            Websockets.   In these architectures the web client
            communicates via HTTP with a “Connection Manager”  which
             encapsulates/decapsulates the signaling messages and routes
            them appropriately on the backend. </span></p>
      </div>
    </blockquote>
    I think that no matter what we define (or not) as the signalling
    protocol, it will be carried in a fashion that looks like HTTP or
    HTTPS (most probably HTTPS) to intermediaries and firewalls.<br>
    Not using WebSockets (if it's done yet) seems like a strange choice;
    if WebSockets are usable for anything, they should be usable for
    this application.<br>
    <blockquote cite="mid:BLU152-ds1581E888DAE43D287D3FB393E20@phx.gbl"
      type="cite">
      <div class="WordSection1">
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            "Calibri","sans-serif"; color: rgb(31,
            73, 125);"><o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            "Calibri","sans-serif"; color: rgb(31,
            73, 125);"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            "Calibri","sans-serif"; color: rgb(31,
            73, 125);">To provide interoperability, specifications for
            encapsulation of signaling messages within HTTP are
            required.  Examples include:<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            "Calibri","sans-serif"; color: rgb(31,
            73, 125);"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            "Calibri","sans-serif"; color: rgb(31,
            73, 125);"><a moz-do-not-send="true"
              href="http://xmpp.org/extensions/xep-0124.html">XEP-0124</a>:
            Bidirectional-streams Over Synchronous HTTP (BOSH)<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            "Calibri","sans-serif"; color: rgb(31,
            73, 125);"><a moz-do-not-send="true"
              href="http://xmpp.org/extensions/xep-0206.html">XEP-0206</a>: 
            XMPP over BOSH<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            "Calibri","sans-serif"; color: rgb(31,
            73, 125);"><a moz-do-not-send="true"
              href="http://tools.ietf.org/html/draft-moffitt-xmpp-over-websocket">An
              XMPP Sub-protocol for Websocket</a><o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            "Calibri","sans-serif"; color: rgb(31,
            73, 125);"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            "Calibri","sans-serif"; color: rgb(31,
            73, 125);">Information on BOSH implementations can be found
            here:<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            "Calibri","sans-serif"; color: rgb(31,
            73, 125);"><a moz-do-not-send="true"
              href="http://xmpp.org/about-xmpp/technology-overview/bosh/#impl">http://xmpp.org/about-xmpp/technology-overview/bosh/#impl</a><o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            "Calibri","sans-serif"; color: rgb(31,
            73, 125);"><o:p> </o:p></span></p>
        <div>
          <div style="border-right: medium none; border-width: 1pt
            medium medium; border-style: solid none none; border-color:
            rgb(181, 196, 223) -moz-use-text-color -moz-use-text-color;
            padding: 3pt 0in 0in;">
            <p class="MsoNormal"><b><span style="font-size: 10pt;
                  font-family:
                  "Tahoma","sans-serif";">From:</span></b><span
                style="font-size: 10pt; font-family:
                "Tahoma","sans-serif";">
                <a class="moz-txt-link-abbreviated" href="mailto:rtc-web-bounces@alvestrand.no">rtc-web-bounces@alvestrand.no</a>
                [<a class="moz-txt-link-freetext" href="mailto:rtc-web-bounces@alvestrand.no">mailto:rtc-web-bounces@alvestrand.no</a>] <b>On Behalf Of
                </b><a class="moz-txt-link-abbreviated" href="mailto:Markus.Isomaki@nokia.com">Markus.Isomaki@nokia.com</a><br>
                <b>Sent:</b> Sunday, January 30, 2011 2:45 PM<br>
                <b>To:</b> <a class="moz-txt-link-abbreviated" href="mailto:bernard_aboba@hotmail.com">bernard_aboba@hotmail.com</a>;
                <a class="moz-txt-link-abbreviated" href="mailto:richard@shockey.us">richard@shockey.us</a>; <a class="moz-txt-link-abbreviated" href="mailto:erik@hookflash.com">erik@hookflash.com</a>;
                <a class="moz-txt-link-abbreviated" href="mailto:jonathan.rosenberg@skype.net">jonathan.rosenberg@skype.net</a><br>
                <b>Cc:</b> <a class="moz-txt-link-abbreviated" href="mailto:rtc-web@alvestrand.no">rtc-web@alvestrand.no</a>; <a class="moz-txt-link-abbreviated" href="mailto:dispatch@ietf.org">dispatch@ietf.org</a><br>
                <b>Subject:</b> Re: [RTW] [dispatch] Does RTC-WEB need
                to pick a signaling protocol?<o:p></o:p></span></p>
          </div>
        </div>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            "Calibri","sans-serif"; color: rgb(31,
            73, 125);">Hi,<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            "Calibri","sans-serif"; color: rgb(31,
            73, 125);"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            "Calibri","sans-serif"; color: rgb(31,
            73, 125);">I pretty much agree with what Bernard and
            Johathan Rosenberg have said.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            "Calibri","sans-serif"; color: rgb(31,
            73, 125);"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            "Calibri","sans-serif"; color: rgb(31,
            73, 125);">There are just a couple of issues I would like to
            understand better:<o:p></o:p></span></p>
        <p class="MsoListParagraph" style="margin-left: 0.75in;
          text-indent: -0.25in;"><!--[if !supportLists]--><span
            style="font-size: 11pt; font-family:
            "Calibri","sans-serif"; color: rgb(31,
            73, 125);"><span style="">-<span style="font: 7pt
                "Times New Roman";">          </span></span></span><!--[endif]--><span
            style="font-size: 11pt; font-family:
            "Calibri","sans-serif"; color: rgb(31,
            73, 125);">I suppose these Javascript libraries can be
            cached on the browser and need not be downloaded every time
            the application/site is accessed? (These are probably a
            common practices in Javascript and Browsers but are good to
            clarify in this discussion.)<o:p></o:p></span></p>
        <p class="MsoListParagraph" style="margin-left: 0.75in;
          text-indent: -0.25in;"><!--[if !supportLists]--><span
            style="font-size: 11pt; font-family:
            "Calibri","sans-serif"; color: rgb(31,
            73, 125);"><span style="">-<span style="font: 7pt
                "Times New Roman";">          </span></span></span><!--[endif]--><span
            style="font-size: 11pt; font-family:
            "Calibri","sans-serif"; color: rgb(31,
            73, 125);">It may be easy for a web developer to use the
            client side Javascript library, but I believe the challenge
            may be bigger on the server side, where scalability etc.
            become issues. How about the server side, is there something
            ready-made for that? I suppose the Javascript on the browser
            can’t necessarily connect to vanilla SIP or XMPP servers but
            some HTTP/WebSocket/TLS tunneling and connection management
            magic is needed, especially when dealing with HTTP
            intermediaries. (But presumably the same issues would be
            faced if we “picked” SIP or XMPP.)<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            "Calibri","sans-serif"; color: rgb(31,
            73, 125);"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            "Calibri","sans-serif"; color: rgb(31,
            73, 125);">Markus<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            "Calibri","sans-serif"; color: rgb(31,
            73, 125);"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            "Calibri","sans-serif"; color: rgb(31,
            73, 125);"><o:p> </o:p></span></p>
        <div style="border-width: medium medium medium 1.5pt;
          border-style: none none none solid; border-color:
          -moz-use-text-color -moz-use-text-color -moz-use-text-color
          blue; padding: 0in 0in 0in 4pt;">
          <div>
            <div style="border-right: medium none; border-width: 1pt
              medium medium; border-style: solid none none;
              border-color: rgb(181, 196, 223) -moz-use-text-color
              -moz-use-text-color; padding: 3pt 0in 0in;">
              <p class="MsoNormal"><b><span style="font-size: 10pt;
                    font-family:
                    "Tahoma","sans-serif";">From:</span></b><span
                  style="font-size: 10pt; font-family:
                  "Tahoma","sans-serif";">
                  <a class="moz-txt-link-abbreviated" href="mailto:rtc-web-bounces@alvestrand.no">rtc-web-bounces@alvestrand.no</a>
                  [<a class="moz-txt-link-freetext" href="mailto:rtc-web-bounces@alvestrand.no">mailto:rtc-web-bounces@alvestrand.no</a>] <b>On Behalf
                    Of </b>ext Bernard Aboba<br>
                  <b>Sent:</b> 30 January, 2011 07:35<br>
                  <b>To:</b> Richard Shockey; <a class="moz-txt-link-abbreviated" href="mailto:erik@hookflash.com">erik@hookflash.com</a>;
                  <a class="moz-txt-link-abbreviated" href="mailto:jonathan.rosenberg@skype.net">jonathan.rosenberg@skype.net</a><br>
                  <b>Cc:</b> <a class="moz-txt-link-abbreviated" href="mailto:rtc-web@alvestrand.no">rtc-web@alvestrand.no</a>; <a class="moz-txt-link-abbreviated" href="mailto:dispatch@ietf.org">dispatch@ietf.org</a><br>
                  <b>Subject:</b> Re: [RTW] [dispatch] Does RTC-WEB need
                  to pick a signaling protocol?<o:p></o:p></span></p>
            </div>
          </div>
          <p class="MsoNormal"><o:p> </o:p></p>
          <p class="MsoNormal" style="margin-bottom: 12pt;"><span
              style="font-size: 10pt; font-family:
              "Tahoma","sans-serif";">> Duh ...
              what are we abandoning 10 years of work?<br>
              <br>
              The web is a "generative" platform that supports not just
              protocols, but also execution of code.   This enables the
              platform to be extended in a virtually infinite number of
              ways, including the development of Javascript signaling
              APIs, without needing to add yet more core code to the
              browser.  This is the preferred approach unless it can be
              shown that something *absolutely* must be natively
              supported (as was discussed at the workshop, STUN/TURN
              authorization for peer-to-peer media is probably an
              example of something that *does* need to be native). <br>
              <br>
              As an example of what is possible, there is an excellent
              Javascript library for XMPP (strophe, see <a
                moz-do-not-send="true"
                href="http://code.stanziq.com/strophe/">http://code.stanziq.com/strophe/</a>).  
              Poking around, it would appear that there are a number of
              Javascript libraries that claim to provide support for SIP
              (such as <a moz-do-not-send="true"
                href="http://phono.com/">http://phono.com/</a>),
              although I have no idea of their usefulness. <br>
              <br>
              Given the generality and power of the web platform and the
              ease with which sophisticated signaling libraries can be
              implemented today, the bar for getting additional code
              into any browser is going to be quite high.  If you doubt
              this,  ask the build-master of your favorite browser for
              the requirements for checkin of a complete SIP stack :) <o:p></o:p></span></p>
        </div>
      </div>
      <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
RTC-Web mailing list
<a class="moz-txt-link-abbreviated" href="mailto:RTC-Web@alvestrand.no">RTC-Web@alvestrand.no</a>
<a class="moz-txt-link-freetext" href="http://www.alvestrand.no/mailman/listinfo/rtc-web">http://www.alvestrand.no/mailman/listinfo/rtc-web</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>