Return-Path: <binod.pg@oracle.com>
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 1ED8221F8C7A for <rtcweb@ietfa.amsl.com>;
 Wed, 19 Oct 2011 08:07:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.599
X-Spam-Level: 
X-Spam-Status: No, score=-6.599 tagged_above=-999 required=5
 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
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 gZcMktkqUKDJ for
 <rtcweb@ietfa.amsl.com>; Wed, 19 Oct 2011 08:07:27 -0700 (PDT)
Received: from rcsinet15.oracle.com (rcsinet15.oracle.com [148.87.113.117]) by
 ietfa.amsl.com (Postfix) with ESMTP id 7CFF821F8C69 for <rtcweb@ietf.org>;
 Wed, 19 Oct 2011 08:07:27 -0700 (PDT)
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
 by rcsinet15.oracle.com (Switch-3.4.4/Switch-3.4.4) with ESMTP id
 p9JF7MF5004731 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256
 verify=OK); Wed, 19 Oct 2011 15:07:24 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156]) by
 acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id p9JF7LbZ011301
 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
 Wed, 19 Oct 2011 15:07:22 GMT
Received: from abhmt112.oracle.com (abhmt112.oracle.com [141.146.116.64]) by
 acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id p9JF7GEa003303;
 Wed, 19 Oct 2011 10:07:16 -0500
Received: from [192.168.0.2] (/59.99.99.31) by default (Oracle Beehive Gateway
 v4.0) with ESMTP ; Wed, 19 Oct 2011 08:07:16 -0700
Mime-Version: 1.0 (Apple Message framework v1084)
Content-Type: text/plain; charset=windows-1252
From: Binod PG <binod.pg@oracle.com>
In-Reply-To: <4E9D667A.2040703@alvestrand.no>
Date: Wed, 19 Oct 2011 20:37:10 +0530
Content-Transfer-Encoding: quoted-printable
Message-Id: <36F2FFCB-601B-4C2E-9B60-A2EFF503AC5D@oracle.com>
References: <4E9D667A.2040703@alvestrand.no>
To: Harald Alvestrand <harald@alvestrand.no>
X-Mailer: Apple Mail (2.1084)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
X-Auth-Type: Internal IP
X-CT-RefId: str=0001.0A090209.4E9EE7AC.0256:SCFMA922111,ss=1,re=-4.000,fgs=0
Cc: "rtcweb@ietf.org" <rtcweb@ietf.org>
Subject: Re: [rtcweb] My Opinion: Why I think a negotiating protocol is a Good
 Thing
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, 19 Oct 2011 15:07:28 -0000

>=20
> or even the triangle, where the triangle is formed when the two Web =
severs on top are collapsed into one.
>=20
> A design criterion for RTCWEB has been that it should be possible to =
write applications on top of RTCWEB simply - that is, without deep =
knowledge about the world of codecs, RTP sessions and the like.
> Another design criterion is that interworking should be possible - =
which means that SOMEWHERE in the system, deep knowledge about the world =
of codecs, RTP sessions and the like must be embedded; we can=92t just =
simplify our options until everything=92s simple.
>=20
> There=92s one place in the ecosystem where this knowledge HAS to be - =
and that is within the browser, the component that takes care of =
implementing the codecs, the RTP sessions and the related features. If =
we can avoid requiring embedding it twice, that=92s a feature.
>=20
> It used to be that I was a believer in APIs - that we should make the =
API the =93king=94, and describe the way you generate an RTP session as =
=93you turn this knob, and get this effect=94.
> After looking at the problem of Web applications that don=92t have =
domain knowledge for a while, I=92ve concluded that this doesn=92t work. =
There=92s the need for one browser to communicate with the other =
browser, and if the intermediate components are to have the ability to =
ignore the details, what=92s communicated has to be treated like a blob =
- something passed out of one browser=92s API and into another browser=92s=
 API, unchanged by the application - because the application must be =
able to ignore the details.
>=20
> OK, now we have the API with blobs. We also have to make some =
assumptions about how those blobs are transported, who=92s responsible =
for acting on them, and so on. And we have to make sure different =
browsers implement the blob the same way - that is, it has to be =
standardized.
> What=92s more - we DO want to enable applications that are NOT simple. =
Including gateways, which are not browsers. So applications must be free =
to look inside the blob - break the blob boundary - when they need to. =
So this pulls in the same direction as the need for interoperability - =
the format, semantics and handling rules for these blobs has to be =
specified. In some detail.
>=20
> So we have:
> - a data format
> - a transmission path
> - a set of handling rules, in the form of states, processes and timers
>=20
> This doesn=92t look like an API any more. This looks like a protocol. =
We=92ve got experience in describing protocols - but it becomes much =
easier to apply that experience when we call it a protocol.
>=20
> Let=92s do that.

I think, it is a move in the right direction. Having some sort of =
definition around how the negotiation would look like
is far better than leaving everything to interpretation of the web =
developer. This is especially good for people who
develop gateway libraries, since they will now have something to =
actually translate.

What exactly you mean by defining "transmission path"?

thanks,
Binod.=
