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

Dzonatas Sol <> Thu, 25 August 2011 17:17 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 5F49721F8B9F for <>; Thu, 25 Aug 2011 10:17:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -4.138
X-Spam-Status: No, score=-4.138 tagged_above=-999 required=5 tests=[AWL=-0.539, BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id Jcs91seL+Vxm for <>; Thu, 25 Aug 2011 10:17:46 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 32F1C21F8B2F for <>; Thu, 25 Aug 2011 10:17:45 -0700 (PDT)
Received: by gxk19 with SMTP id 19so2277738gxk.31 for <>; Thu, 25 Aug 2011 10:18:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=gamma; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=QVDOTuorL8ANgnEUXsSCF/4odEeNGDpv/DxnIDmFTV0=; b=kZh8vu4QotwvlpbG5HN2WQeFg/UfeNiN426iP0hv1z73bd2oH2dWdSme1E6Tvt0QLt D5oH8YF0XSSSbh6TEBKmeJWOdjTV2TkwokbuuqZJM0yT7CTQOS8lbDNFQsHLBBzJUNik qkMjdTWTeSaAzRNW/LRxrEl9QBDTyWCkLPQ7I=
Received: by with SMTP id f7mr13193528ibl.90.1314292739623; Thu, 25 Aug 2011 10:18:59 -0700 (PDT)
Received: from [] ( []) by with ESMTPS id b6sm379019ibg.65.2011. (version=TLSv1/SSLv3 cipher=OTHER); Thu, 25 Aug 2011 10:18:58 -0700 (PDT)
Message-ID: <>
Date: Thu, 25 Aug 2011 10:20:25 -0700
From: Dzonatas Sol <>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv: Gecko/20110505 Icedove/3.0.11
MIME-Version: 1.0
References: <> <>, <> <> <> <> <> <> <> <> <> <> <> <>
In-Reply-To: <>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Subject: Re: [rtcweb] Additional requirement - audio-only communication
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 25 Aug 2011 17:17:47 -0000

On 08/25/2011 09:24 AM, Randell Jesup wrote:
> On 8/25/2011 11:55 AM, Matthew Kaufman wrote:
>> On 8/24/2011 4:36 AM, Harald Alvestrand wrote:
> Re: negotiate offer/answer separately in each direction
>>> I think that:
>>> a) this doesn't make sense - it's a completely new SDP/RTP practice,
>>> and we should not depart from established practice without a good
>>> reason; it also flies against the "keep the number of RTP sessions as
>>> low as we can" conclusion that came out of all the discussions about 
>>> ICE.
>>> b) it's not consistent with section 4.1.2 step 7.
>>> I think step 16 of section 4:
>>> "If connection's ICE started flag is still false, start the
>>> PeerConnection ICE Agent and send the initial offer. The initial offer
>>> must include a media description for the PeerConnection data UDP media
>>> stream, marked as "sendrecv", and for all the streams in localStreams
>>> (marked as "sendonly")."
>>> is neither correct nor complete.
>> I agree that "this doesn't make sense" and it is just yet another reason
>> that I think SDP offer-answer is entirely inappropriate for WEBRTC.
>> The web user agent should do what the web site's HTML and cooperating
>> Javascript tell it to do. It should not be engaged in direct negotiation
>> with the far end such that the outcome is either indeterminate or even
>> unexpected, except where direct negotiation is explicitly required to
>> meet a security requirement (the initial ICE handshake to determine that
>> it is permitted to send data to that endpoint).
>> Note that any perceived gains by doing this negotiation (like "what if
>> my browser is on a slow connection and only wants to receive audio") are
>> immediately negated the moment the site changes the SDP enroute to add
>> "wants HD-resolution video" for you.
> Ok, so that's a bad web-app - don't use it.
> Are you really suggesting "send video to someone who doesn't want it 
> anyways"?

"Streaming ads" already exist, so there is this more common usage.

> "perceived gains" - sending me video at (say) 500K or more plus audio 
> at<50K,
> when I'm on a 128K link will kill my connection until I can somehow 
> get the
> other side to back off.  Horrid user experience.  Remember people without
> broadband or with limited broadband will be using this.  What if I 
> have 768
> down, 128 up - but Johnny in the his bedroom is watching youtube 
> videos or
> downloading torrents, etc?

If we redirect the discussion back to web-browsers (and not composition 
over the network) then we can merely point out the activity of multiple 
tabs, or why should each tab have equal bandwidth, and why should tabs 
not actively-viewed have more bandwidth than those actively viewed.

Magic solution would be uPNP negotiates frame rate.

>> In addition, because the spec is currently written with offer-answer, a
>> wide array of use cases that would be possible if capabilities were
>> instead exposed via Javascript become impossible. As an example, it
>> should be possible for me as a web site developer to create a page that
>> can determine, without prompting you to use your camera, whether or not
>> a camera is available and if so what codecs it supports. That way I can
>> put "I see you have a high-resolution camera and can encode H.264
>> video... click here to call a live agent who can help you find the exact
>> replacement part" for users who have that, and not if they don't have a
>> codec that works with my call center or a camera with sufficient
>> resolution to examine the parts I sell.
> In what way is that use-case blocked by offer-answer?  Access to the 
> video
> needs user confirmation; access to capabilities info shouldn't.  And 
> so the
> page can generate an offer with audio and video, or just audio if they 
> have
> no camera.  A user declining to send video doesn't necessarily mean you
> don't negotiate it - they advertise receive-only for video (if the web 
> app
> wants to).
> You state above there are major possibilities blocked by offer-answer 
> (I can
> think of some minor issues that with O-A require a second O-A pass) - 
> can you
> detail some use-cases so we can see the benefit and not just the 
> assertion?
> Then we could balance that against the advantage of O-A being 
> well-speced and
> known and implemented.  (And the issues surrounding how well and how
> interoperably web-app developers can implement their own capability
> negotiations/etc)

--- ---
Web Development, Software Engineering
Ag-Biotech, Virtual Reality, Consultant