Re: [rtcweb] SIP MUST NOT be used in browser?[was RE: Remoterecording - RTC-Web client acting as SIPREC session recordingclient]

Randell Jesup <randell-ietf@jesup.org> Wed, 07 September 2011 19:21 UTC

Return-Path: <randell-ietf@jesup.org>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 21C3521F8B16 for <rtcweb@ietfa.amsl.com>; Wed, 7 Sep 2011 12:21:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[AWL=0.000, BAYES_00=-2.599]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NXSMc1Rc7G9B for <rtcweb@ietfa.amsl.com>; Wed, 7 Sep 2011 12:21:19 -0700 (PDT)
Received: from r2-chicago.webserversystems.com (r2-chicago.webserversystems.com [173.236.101.58]) by ietfa.amsl.com (Postfix) with ESMTP id 9D01121F8B13 for <rtcweb@ietf.org>; Wed, 7 Sep 2011 12:21:17 -0700 (PDT)
Received: from pool-173-49-141-165.phlapa.fios.verizon.net ([173.49.141.165] helo=[192.168.1.12]) by r2-chicago.webserversystems.com with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.69) (envelope-from <randell-ietf@jesup.org>) id 1R1NiF-0007OT-La for rtcweb@ietf.org; Wed, 07 Sep 2011 14:23:07 -0500
Message-ID: <4E67C3EE.50707@jesup.org>
Date: Wed, 07 Sep 2011 15:20:14 -0400
From: Randell Jesup <randell-ietf@jesup.org>
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:6.0.1) Gecko/20110830 Thunderbird/6.0.1
MIME-Version: 1.0
To: rtcweb@ietf.org
References: <A444A0F8084434499206E78C106220CA0B00FDB08B@MCHP058A.global-ad.net> <89177AB2-F721-47E4-8471-2180EDA10615@voxeo.com> <A444A0F8084434499206E78C106220CA0B00FDB34D@MCHP058A.global-ad.net> <496EE152-41F2-49AB-A136-05735FE5A9F9@voxeo.com><101C6067BEC68246B0C3F6843BCCC1E31018BF6BE2@MCHP058A.global-ad.net> <4E540FE2.7020605@alcatel-lucent.com> <2E239D6FCD033C4BAF15F386A979BF5106423F@sonusinmail02.sonusnet.com> <4E6595E7.7060503@skype.net> <4E661C83.5000103@alcatel-lucent.com> <2E239D6FCD033C4BAF15F386A979BF510F086B@sonusinmail02.sonusnet.com> <4E666926.8050705@skype.net> <43A0D702-1D1F-4B4E-B8E6-C9F1A06E3F8A@edvina.net> <033458F56EC2A64E8D2D7B759FA3E7E7020E64DC@sonusmail04.sonusnet.com> <E4EC1B17-0CC4-4F79-96DD-84E589FCC4F0@edvina.net>
In-Reply-To: <E4EC1B17-0CC4-4F79-96DD-84E589FCC4F0@edvina.net>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - r2-chicago.webserversystems.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - jesup.org
X-Source:
X-Source-Args:
X-Source-Dir:
Subject: Re: [rtcweb] SIP MUST NOT be used in browser?[was RE: Remoterecording - RTC-Web client acting as SIPREC session recordingclient]
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <rtcweb.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtcweb>
List-Post: <mailto:rtcweb@ietf.org>
List-Help: <mailto:rtcweb-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Sep 2011 19:21:20 -0000

On 9/7/2011 3:07 AM, Olle E. Johansson wrote:
> 6 sep 2011 kl. 21:24 skrev Asveren, Tolga:
>
>> What about semantics (adding just a X-header won't help there) or how much SIP would be left anyhow if all semantical control is exposed through the API?
>>
>> I think bridged line appearance is a good test to run against different models.
>>
> Well, I tried to stay neutral but examples likes this makes me not want SIP in the browser. DTMF, Early Media, bridge line apperances and other PSTN legacy will make the implementation too focused on classical telephony and we'll spend too much time implementing features that are application specific and we can implement in controlling applications, client or server-side.
>
> Cullen tried to make a draft with "limited" SIP (maybe "SIP Lite") but it will be hard to protect that from the myriad of extensions that add PSTN functionality that's not really needed to set up multimedia calls between two browser users. It may be needed for gatewaying to legacy systems, but if we don't "stop Olle in the gate" - verbatim translation of a Swedish saying that propably doesn't mean much to most people on the list - I think we will never be done.
>
> Of course, being a SIP developer, I started off with thinking that SIP in the browser was the default route. I am beginning to understand that the browser is the user interface part we all need, the media handler. We all have different requirements on how to control that media GUI and to get anywhere I am beginning to think the logic for signalling to set up rendevouz points and manage sessions has to move "somewhere else" where we can implement SIP, XMPP or some other protocol that fulfills the need of our respective application.

I also started from the same point - assume SIP.  SIP gives you all the 
things that the zillions of hours and emails to define it and define 
extensions and secure it provides, without having to reinvent all those 
wheels (or ask app developers to reinvent them).  Why go through the 
horrible pain of choosing something else, or why throw the app 
developers to the wolves to fend for themselves?

However...

Two things have swayed me.  The primary one is the suggestion of 
Offer/Answer in the browser.  This breaks out the important negotiation 
piece that almost any application would need, and while not perfect, SDP 
O/A is a zillion times simpler than SIP with all the extensions one 
could use.

The other thing that swayed me was thinking about federation and the 
apps that will be built with this.  A webrtc app talks to its 
(web)server, other webrtc clients running the app that talk to the 
server, and to other webrtc applications/networks that federate with it 
(and their clients).

Federation is in the same hands as the person who provides/wrote the 
app.  If they have no interest in federation you can't force it, and 
they may have no use for all the fancy SIP standards.

On the other hand, if they *want* to either provide access to the wider 
communication net that is the PSTN network, now or in the future, or 
they want easy federation with other networks, it behooves them to use 
SIP or something very close to it or equivalent/convertible (at a basic 
level at least) to it.

So what conclusions do I draw from this?

1) O/A via SDP in the browser simplifies a lot of things (including 
handling new codecs, etc).  It doesn't extremely limit an application, 
though we should think about how an application can interact with the 
fmtp/etc parameters used.

2) SIP as a *separate* item that can be cleanly and easily *added* to a 
webrtc app to handle the call setup/etc is a good idea.

This means a webrtc app could use something else, or roll its own.  Many 
would use SIP.

This would require (limited) SIP to be available as part of webrtc in 
the browser - but as an option, not as a mandate.  An application could 
use an extended SIP client via JS or other mechanism.  Basic SIP would 
need to be in all webrtc implementations so the apps could rely on 
having the option.

This would make building apps & services that can (optionally) call PSTN 
phones easy (very easy perhaps), while not limiting the ability of app 
developers to innovate.  It also makes it easier to build servers to 
handle webrtc apps.

-- 
Randell Jesup
randell-ietf@jesup.org