Re: [rtcweb] Additional requirement - audio-only communication

Justin Uberti <juberti@google.com> Fri, 26 August 2011 04:47 UTC

Return-Path: <juberti@google.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 9132221F87C9 for <rtcweb@ietfa.amsl.com>; Thu, 25 Aug 2011 21:47:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -104.856
X-Spam-Level:
X-Spam-Status: No, score=-104.856 tagged_above=-999 required=5 tests=[AWL=-0.546, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4, SARE_HTML_USL_OBFU=1.666, USER_IN_WHITELIST=-100]
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 S9DRXgUJMipS for <rtcweb@ietfa.amsl.com>; Thu, 25 Aug 2011 21:47:18 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by ietfa.amsl.com (Postfix) with ESMTP id EF20A21F886F for <rtcweb@ietf.org>; Thu, 25 Aug 2011 21:47:17 -0700 (PDT)
Received: from hpaq3.eem.corp.google.com (hpaq3.eem.corp.google.com [172.25.149.3]) by smtp-out.google.com with ESMTP id p7Q4mWMh029702 for <rtcweb@ietf.org>; Thu, 25 Aug 2011 21:48:32 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1314334112; bh=ho0jqz8O9/inPBC7JnVDXqBQJU4=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=XDJP/YEfR446VXf08E0zJzyG+qvtizn9H1gzEXi7ahIB0eOQ0U8weiDBMw7IYOrXj b7nOT82Wm50lXZJb/mPjQ==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=dkim-signature:mime-version:in-reply-to:references:from:date: message-id:subject:to:cc:content-type:x-system-of-record; b=NmHO/U+bUUMVr1Llcl7nS0KaXAXXTXnR70KMlFt7VcYvevGkJbrnSlgnhRNMgigDO SZo24EPGApi0FBFgihgSw==
Received: from gwb1 (gwb1.prod.google.com [10.200.2.1]) by hpaq3.eem.corp.google.com with ESMTP id p7Q4mAUX011795 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT) for <rtcweb@ietf.org>; Thu, 25 Aug 2011 21:48:30 -0700
Received: by gwb1 with SMTP id 1so2845416gwb.36 for <rtcweb@ietf.org>; Thu, 25 Aug 2011 21:48:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=beta; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=wBzHnmsmmdOF+ONVI3soqBjzbWIi1dmNroM81I1gJK4=; b=xV87ygoQpp04PbUXuBpF/TFV3WTuG0Uo2dkoDHkbEB2u3fqVvLW6vBnK5C+chkBUvD hB//NDkqPbBaGjJy32Jw==
Received: by 10.42.245.5 with SMTP id ls5mr630402icb.149.1314334108915; Thu, 25 Aug 2011 21:48:28 -0700 (PDT)
Received: by 10.42.245.5 with SMTP id ls5mr630391icb.149.1314334108689; Thu, 25 Aug 2011 21:48:28 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.231.32.133 with HTTP; Thu, 25 Aug 2011 21:48:08 -0700 (PDT)
In-Reply-To: <4E56E264.8000600@mozilla.com>
References: <4E539A1F.109@alvestrand.no> <4E53B80C.20304@ericsson.com> <4E53E0C8.6010304@alvestrand.no> <BBF498F2D030E84AB1179E24D1AC41D61C1BCA7F62@ESESSCMS0362.eemea.ericsson.se> <4E54ADC7.8030407@jesup.org> <4E54CC05.1040705@alvestrand.no> <4E54CE29.2060605@ericsson.com> <4E54D867.4060706@alvestrand.no> <4E54D9C2.6000205@ericsson.com> <4E54DE8E.9080207@alvestrand.no> <4E54DFCF.4000805@ericsson.com> <4E54E24F.7060906@alvestrand.no> <4E56707B.104@skype.net> <4E567737.6020101@jesup.org> <4E5680B0.6070702@skype.net> <CAOJ7v-0DnVKYD2gd4os3R-LuzN1mu4qZqjndDEJcJXwY7U-FnA@mail.gmail.com> <4E56E264.8000600@mozilla.com>
From: Justin Uberti <juberti@google.com>
Date: Fri, 26 Aug 2011 00:48:08 -0400
Message-ID: <CAOJ7v-2kEByX3mq7dRFuo7wEqaEGz597aWuFpEZK9zE_eS6U4A@mail.gmail.com>
To: "Timothy B. Terriberry" <tterriberry@mozilla.com>
Content-Type: multipart/alternative; boundary="90e6ba5bc137aa23fb04ab6141f6"
X-System-Of-Record: true
Cc: "rtcweb@ietf.org" <rtcweb@ietf.org>, public-webrtc@w3.org
Subject: Re: [rtcweb] Additional requirement - audio-only communication
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: Fri, 26 Aug 2011 04:47:19 -0000

On Thu, Aug 25, 2011 at 8:01 PM, Timothy B. Terriberry <
tterriberry@mozilla.com> wrote:

> Justin Uberti wrote:
>
>> I think it makes sense for the browser to emit capabilities, which could
>>
>
> I agree there's clearly some gaps here that need to be filled.
>
>
>  then be used by the web app to generate a SDP offer or answer. This
>>
>
>  The original problem that started this email is one specific example -
>> if the callee application wants to only receive audio, the application
>> can generate an audio-only SDP based on the offer, the browser
>>
>
> I think the Harald's original problem was the other way around: the
> _caller_ wants to only receive audio, and needs to generate an SDP _offer_
> that says that, even if the browser is capable of receiving video. I don't
> think that invalidates your point, though.
>
>
>  capabilities, and the desired app behavior - without any new APIs in the
>> browser.
>>
>
> But I'm not sure what you mean by "without any new APIs"... in your
> approach, something has to be able to enumerate the capabilities in
> sufficient detail for the webapp to generate SDP by itself. I don't think
> there are any existing APIs that go that far.
>

I meant, without specific APIs for that specific use case (i.e. "create an
audio-only offer"). We would need some sort of GetCapabilities API that
returned a blob of all the session description options the browser
supported, which probably could be formatted as a uber SDP offer if that
made parsing simplest.

>
> You also need an API to tell the browser what to actually do. The current
> PeerConnection approach is passing in the offer or the answer. If you're
> generating the answer, you need some way to tell your browser what you
> answered. For the "please don't send me video" case this is not an issue...
> it'll simply never arrive. If you want to change what the local browser is
> sending out, however, then it is.
>

Yes, you need a "HandleLocalDescription" and "HandleRemoteDescription" API,
instead of just a single OnSignalingMessage API. The deviation from the
current flow is fairly minor, you just have 2 additional states in the state
machine.

>
> I do agree it eliminates the need for an API to tell the browser what kind
> of SDP to generate, but it also seems like it imposes a pretty big burden on
> application developers: even if you keep the currently-proposed
> PeerConnection ability to generate SDP as the "simple API", the moment you
> want to do something slightly more complex, you have to add code to generate
> the appropriate SDP, which necessarily involves figuring out all the
> capabilities of the various browsers on various platforms. Maybe I'm naive
> in thinking that seems like an awful lot of work just to say, "Please don't
> send me video."


It's a fair point, there is more complexity involved in generating the
offer, but in our experience it is manageable. I suppose it depends on how
many APIs we decide we need to control the generation of SDP  (i.e. use
cases other than no-video). If we decide we need to control crypto,
resolution preference, codec preference, we may find this approach simpler.

>
> ______________________________**_________________
> rtcweb mailing list
> rtcweb@ietf.org
> https://www.ietf.org/mailman/**listinfo/rtcweb<https://www.ietf.org/mailman/listinfo/rtcweb>
>