Re: [rtcweb] codec and connection negotiation

"Parthasarathi R (partr)" <partr@cisco.com> Sat, 06 August 2011 09:42 UTC

Return-Path: <partr@cisco.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 F1DAC21F85E3 for <rtcweb@ietfa.amsl.com>; Sat, 6 Aug 2011 02:42:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.174
X-Spam-Level:
X-Spam-Status: No, score=-10.174 tagged_above=-999 required=5 tests=[AWL=0.425, BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Tv6A7odfKppN for <rtcweb@ietfa.amsl.com>; Sat, 6 Aug 2011 02:42:56 -0700 (PDT)
Received: from ams-iport-1.cisco.com (ams-iport-1.cisco.com [144.254.224.140]) by ietfa.amsl.com (Postfix) with ESMTP id E665821F85A7 for <rtcweb@ietf.org>; Sat, 6 Aug 2011 02:42:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=partr@cisco.com; l=3477; q=dns/txt; s=iport; t=1312623796; x=1313833396; h=mime-version:content-transfer-encoding:subject:date: message-id:in-reply-to:references:from:to; bh=qXwIK3Wo6YOoV6zzmrdZsqeWamUnWFzzNDFiPi6vqsA=; b=RdmuVj8Ktcuhs8SulqqnztqWqcWSPERyfJfJNcMsF7ar2269RXL3Gn77 j6QBKN2SsI3EAmA2PIqgjhBIugoBTQCmKprneqhF6ODTm3IofS0boE2G7 agNUE9mtLSkTmpxNfyg0xTY2TpHSuqdhpzdX9wXNgPSd9LnyBhUH9iWYd w=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AuAAAB0MPU5Io8UQ/2dsb2JhbABCmB+PS3eBQAEBAQEDAQEBDwEdCjQXBAIBCBEEAQELBhcBBgEmHwkIAQEEAQoICBqHT6EcAZ4ohWdfBIdakDmLXw
X-IronPort-AV: E=Sophos;i="4.67,328,1309737600"; d="scan'208";a="107465904"
Received: from bgl-core-1.cisco.com ([72.163.197.16]) by ams-iport-1.cisco.com with ESMTP; 06 Aug 2011 09:43:14 +0000
Received: from xbh-bgl-412.cisco.com (xbh-bgl-412.cisco.com [72.163.129.202]) by bgl-core-1.cisco.com (8.14.3/8.14.3) with ESMTP id p769hD3E014276; Sat, 6 Aug 2011 09:43:13 GMT
Received: from xmb-bgl-411.cisco.com ([72.163.129.207]) by xbh-bgl-412.cisco.com with Microsoft SMTPSVC(6.0.3790.4675); Sat, 6 Aug 2011 15:13:13 +0530
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Date: Sat, 06 Aug 2011 15:13:10 +0530
Message-ID: <A11921905DA1564D9BCF64A6430A62390608EBEC@XMB-BGL-411.cisco.com>
In-Reply-To: <4E3C3C2C.4020808@skype.net>
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Thread-Topic: [rtcweb] codec and connection negotiation
Thread-Index: AcxToQQeAa5YTWD3T4GGSscbCc1qGgAefH+A
References: <4E3C377A.5090105@skype.net> <4E3C3C2C.4020808@skype.net>
From: "Parthasarathi R (partr)" <partr@cisco.com>
To: Matthew Kaufman <matthew.kaufman@skype.net>, rtcweb@ietf.org
X-OriginalArrivalTime: 06 Aug 2011 09:43:13.0366 (UTC) FILETIME=[42846760:01CC541D]
Subject: Re: [rtcweb] codec and connection negotiation
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: Sat, 06 Aug 2011 09:42:57 -0000

Matthew,

I'm seeing two aspects here

1) API: Level of control has to be given to the Javascript programmer.
Here, the discussion has to focus on the abstraction by which
application shall be developed easily without much understanding the
protocol intricacies. Even API shall be provided to the extent that
username & destination host (xyz@abc.com) as a input shall trigger the
session creation with default codec.

2) Protocol: The protocol selection has to be based on better interop
with other browsers and other VoIP entity also. I'm not favoring for
creating different island of realtime protocol which has to interop with
"n" of gateways.

Please read inline for more comments.

Thanks
Partha
 

-----Original Message-----
From: rtcweb-bounces@ietf.org [mailto:rtcweb-bounces@ietf.org] On Behalf
Of Matthew Kaufman
Sent: Saturday, August 06, 2011 12:24 AM
To: rtcweb@ietf.org
Subject: Re: [rtcweb] codec and connection negotiation

Now, to follow up on my previous message with a bit of opinion...

I think we should not use SDP as the API,

<partha> It is fine to discuss which level of control has to be
provided. </partha>

 and we should not have the browser implementing SDP offer-answer.
<partha> I could not see the strong reason for not doing so. </partha>

1. If SDP offer-answer is all that is available to the Javascript
programmer (and server programmer), it becomes very difficult to know
what the full capability set is without complex probing. This
significantly complicates the building of future innovative applications
on top of the browser as platform. Many of the current applications that
show off browser capabilities do so by using capabilities that were
already present for other reasons, and we can expect the same innovation
to occur here, if we provide the tools.

2. Using SDP offer-answer has the advantage of reusing all the IETF
standards work that occurs to define SDP when a new codec comes along. 
But it also has the *disadvantage* of having to wait for the IETF to
produce these standards, which may be incomplete, or unable to control
parameters which are necessary for web applications.
<partha> I prefer standard over proprietary mechanism because standard
may delay but proprietary is normal uncontrolled and impossible to
interop with other webservers </partha>

3. Anything that is missing in SDP (example: forcing the Opus codec to
"music" mode for encoding) will still need to be exposed as a Javascript
API on the encoder. Thus we end up with a mix of possibly-conflicting
settings that are adjusted via the explicit API and the opaque SDP API.
<partha> It is possible to integrate unknown SDP attribute & known SDP
attribute using the proper API design. It is the basic requirement in
any SDP stack API today. </partha>

4. Other work in browsers (like recording camera and microphone to disk)
will require the ability to directly control the encoders. If these APIs
exist then there will definitely be conflicting settings. What happens
if you feed in an SDP answer that requires VP8 encoding and then set the
encoder to H.264 mode via the Javascript?
<partha> I'm reading your query as how to priortize the value in case
extra environment change the value. It has to be worked out </partha>


Matthew Kaufman
_______________________________________________
rtcweb mailing list
rtcweb@ietf.org
https://www.ietf.org/mailman/listinfo/rtcweb