Re: [rtcweb] JSEP question: How to set up simulcast for server-originated calls?

Iñaki Baz Castillo <ibc@aliax.net> Sun, 04 November 2018 22:03 UTC

Return-Path: <ibc@aliax.net>
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 ABFA0128CB7 for <rtcweb@ietfa.amsl.com>; Sun, 4 Nov 2018 14:03:35 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=aliax-net.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id LtRbXyJ3Dct5 for <rtcweb@ietfa.amsl.com>; Sun, 4 Nov 2018 14:03:33 -0800 (PST)
Received: from mail-ua1-x92d.google.com (mail-ua1-x92d.google.com [IPv6:2607:f8b0:4864:20::92d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 56CBE12872C for <rtcweb@ietf.org>; Sun, 4 Nov 2018 14:03:33 -0800 (PST)
Received: by mail-ua1-x92d.google.com with SMTP id v24so2485111uap.13 for <rtcweb@ietf.org>; Sun, 04 Nov 2018 14:03:33 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aliax-net.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=3IUulZZKjC7ZpQ/cS/1GdDnuMqTpR55FnryIha+wnSI=; b=yxXc9PXXqw5NDYz9EyCWWpyy7V8DXm+RuVPe2jhj0LUfy9ZGJevwTUqW5ozNkysHpM rZNTomooV2NENydmuQaJp4xmdaqkpaY0oRgN1Jxjge9lHTcx8Cz5cvw8gQ45qSlpUYD/ W+zaEpq8gXoYSHOugaG4Su6UL3KWTC9agZo3z9p8owLhuF4FVsTHjsXnEMuFZJRShfDA wx1m5aK2MZjByQ2QdIhMgHzwcm/RZt8NjiFGXJpSpETsL4O/3mVeFqNzgg+MDVdsRFn2 iC3s6bDhveq4zZJvsB3QI8hH3r2AoUIBDi19Yrlt0V9NepE1E9Cd3PYZu7vuftCbKSoX uAjw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=3IUulZZKjC7ZpQ/cS/1GdDnuMqTpR55FnryIha+wnSI=; b=gi15MmekS+2XAM8svXECGxLvI6z5Z5VKtaIO6mLG9dZtTUMlEJl1j2ly15FkM2pVDf uflSPq3Bq8gYYqMp1Gknj4zPsCOSxiMULN7X0QrschPgeA+xzBdwOx6EFICewtlYJy+j qFbT0licYWG4NKVrcSboIPAJHcrbjeIBnPtFOjqGU/HmU2W+qbV7CHNSYXv6rqvPEYuz 6deLuhMz9HG2AmOqmASchtd+DUwXO00wD1f39qaYT9AJ4c8H8372BEk7Ajj08e9YesMd 07QFCX7uYf89hc9KEcr2EvT4tLbaq5OZNQGcUYrxryM/uLVwyTp0wmXhpS9pvd9lTN7A 6SkA==
X-Gm-Message-State: AGRZ1gL7JPapr3bQVqRI4O0a0rh7F8yHWnpUhKYlzZi8qO/TEeSneS0+ v7HRRJplDOSMqFqXg5BzB/rkw3+b2DMwEyi/qUosZQSS
X-Google-Smtp-Source: AJdET5fLnnjY8vziK7v3SA7F0R2pVK/sIp3DxG6BYk0oQKk2Q3EmTYNJTKfR0EbtkjASdoZWyyTmiahcd4MMehUV168=
X-Received: by 2002:ab0:526:: with SMTP id 35mr8514609uax.84.1541369012335; Sun, 04 Nov 2018 14:03:32 -0800 (PST)
MIME-Version: 1.0
References: <185c8d1d-3971-ad09-eee0-a26bed446a96@alvestrand.no>
In-Reply-To: <185c8d1d-3971-ad09-eee0-a26bed446a96@alvestrand.no>
From: Iñaki Baz Castillo <ibc@aliax.net>
Date: Sun, 04 Nov 2018 23:03:20 +0100
Message-ID: <CALiegfmbghnBtDt=wfCAbOWi5SDFTi2qPgDOuXHRazKSvvCKNQ@mail.gmail.com>
To: Harald Alvestrand <harald@alvestrand.no>
Cc: rtcweb@ietf.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/rtcweb/0K1pNcBa5YhFf0lotVlhqG2cjHc>
Subject: Re: [rtcweb] JSEP question: How to set up simulcast for server-originated calls?
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.29
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: <https://mailarchive.ietf.org/arch/browse/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: Sun, 04 Nov 2018 22:03:36 -0000

On Sun, 4 Nov 2018 at 09:13, Harald Alvestrand <harald@alvestrand.no> wrote:
> In WEBRTC, we have been grappling with the problem of simulcast setup,
> and it seems that we have no obvious API surface that can be used for
> this purpose - creating transceivers (as we do for outgoing) doesn't fit
> the bill, because incoming SDP causes transceivers to be created wihout
> interacting with the API surface.

That's the exact problem: the fact that media parameters are given to
the other party by sharing a blob that the receiver must consume
before it even knows what it contains and, once consumed, it must rely
on "events" fired out of context (cannot correlate the received SDP
blob and peerconnection/stream events generated after consuming it).

And worse, once such a SDP blob is received and blindly consumed,
"things" happen without app knowledge or consent. For example and as
said by Nils, Firefox can conform to simulcast settings on receipt of
a remote SDP offer, but if we think about it, it means that the remote
decides in behalf of us (we cannot decide how to send simulcast but,
instead, the remote can force us to send simulcast as it wishes (and
not how we wish) by just sending us a blob reoffer.

The problem is the SDP as "API surface" as it's been always. IMHO we
shouldn't waste more energies adding more hacks to the current API to
fight the SDP O/A nature and, instead, we should move to a SDP-less
specification ASAP in which the remote party cannot blindly mandate
the local peer what to send at any time.

-- 
Iñaki Baz Castillo
<ibc@aliax.net>