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

Iñaki Baz Castillo <ibc@aliax.net> Mon, 05 November 2018 14:33 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 25CD9128BCC for <rtcweb@ietfa.amsl.com>; Mon, 5 Nov 2018 06:33:41 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.902
X-Spam-Level:
X-Spam-Status: No, score=-1.902 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] 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 UhpIyLZJMfat for <rtcweb@ietfa.amsl.com>; Mon, 5 Nov 2018 06:33:39 -0800 (PST)
Received: from mail-vk1-xa43.google.com (mail-vk1-xa43.google.com [IPv6:2607:f8b0:4864:20::a43]) (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 5EEA31277BB for <rtcweb@ietf.org>; Mon, 5 Nov 2018 06:33:39 -0800 (PST)
Received: by mail-vk1-xa43.google.com with SMTP id l186so2057808vke.0 for <rtcweb@ietf.org>; Mon, 05 Nov 2018 06:33:39 -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=wCGSSi3EIAaH+QKaPTDH5kiDAWQPK+TvliOTUn9TxPI=; b=nPa6gk7qrhxxYdfEinckgboS9UcNdw3rLsiYW/mmI1aSuIEynGq5NJY9uTCv6WIWP6 VBuONOrbyG9jgOwmV++gcNba//NRTlNlYpDkClOSYMtQI45X56SemMIHOkuOwyEfQVXF FJMgyaIMAg8xSCXZwVkOPclB15z1OXvrjYsHnqbXc9Tyx0Oa+aVLvmY3NIJKRgbMJsnR o9cBwhgT4Vm9uLzahTGWVif3iwYcwxkvnd9VAlYd6fkqxp228UNh9DKBazBLGLOshbu4 fznq2KCzljXmNj4RLDLbbQwAOGfL1+oeqPKxuxly06ItP8bWIFtSb3wFKCwOwpxosN7J ecJQ==
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=wCGSSi3EIAaH+QKaPTDH5kiDAWQPK+TvliOTUn9TxPI=; b=K++mguGjAlXS+VwqDhfL6DPjBDWoY+Iq7npfpquFJtksorBNoJMFflMfwIWU8MtgQR W1xRw5EirLysaW39/2oE7rmVg2HGApEgmQuezv3qvgKTDkoQ7ULCTSZ8mxXq6T1qhIGm Hmgk9e5alxewlu/gzV+rejBEpp6gmCEdn2+xYlQrcWrUsa26nPXqTqacGml1d5+sJ0t6 2ldn9tZnoonQuGFGruRhtYCQEUMQQPEko1gD+UCKvSnkpyFMkGVDCXjOzZOpUBvrAnxG ERSsHb1ajoRmF8HpTKCsv26H9phhcgIOaFEcTrkpafX3CDKgXDIl7+9oICaQVqneFpDV y9yA==
X-Gm-Message-State: AGRZ1gKXESqPTWboBmbarBhL7xAwFXEt0eQOvaawNsVpOnU6DiLHVqKZ JhucxN+/lyxgYBubSuX24VcaowmWln3cUUb77HLNAw==
X-Google-Smtp-Source: AJdET5fuUFvfntS/gm+gr6UtYmPzugtNnrYyd/tTxQuP/Z9wBOeWoBmASQxW0lbLSmbZOs2cqFn4rpMKJjP/KKZZ2cg=
X-Received: by 2002:a1f:accf:: with SMTP id v198-v6mr9761892vke.3.1541428418083; Mon, 05 Nov 2018 06:33:38 -0800 (PST)
MIME-Version: 1.0
References: <185c8d1d-3971-ad09-eee0-a26bed446a96@alvestrand.no> <CALiegfmbghnBtDt=wfCAbOWi5SDFTi2qPgDOuXHRazKSvvCKNQ@mail.gmail.com> <CA+ag07YD3oSuL=R=h-28waha4b7xf7haU+-oWuNbzO_sBY4MQw@mail.gmail.com> <e567832e-1918-d51c-6f00-a732547c0a8e@alvestrand.no> <CA+ag07byo1vReeo2uMKxmF1tnzW+4CJSMPLaJO79H0s9j0PO0g@mail.gmail.com> <31fb92c1-2934-c33f-a3cf-552f027eacda@alvestrand.no> <bb7f863b-510c-f460-c9b0-843d500784b8@gmail.com> <5db76ada-b896-7eba-b42e-85b2e239dc42@alvestrand.no> <db90e287-145b-5ffe-18c0-f38faed76c07@gmail.com> <CALiegf=7yJJEbGT9SrbcEBBo9cnBbPimDP_oaTzJL63hrnXGoQ@mail.gmail.com> <CA+ag07ZuGYBhr=djPP=nLXLX96Yp2O4H8rJT2z8RVvNTiky2qw@mail.gmail.com> <CALiegfmOsLgeO-jkj20qKa0=w-xwHJdKD12Py_Dvades8Jjnrw@mail.gmail.com> <fe3e1b27-ba9f-4403-6835-8e7faebb4362@gmail.com>
In-Reply-To: <fe3e1b27-ba9f-4403-6835-8e7faebb4362@gmail.com>
From: Iñaki Baz Castillo <ibc@aliax.net>
Date: Mon, 05 Nov 2018 15:33:26 +0100
Message-ID: <CALiegf=o6z-HpU+Dr=KbJJss6pYenEnKo620gEyvkJ6PubvWRA@mail.gmail.com>
To: Sergio Garcia Murillo <sergio.garcia.murillo@gmail.com>
Cc: Harald Alvestrand <harald@alvestrand.no>, rtcweb@ietf.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/rtcweb/piMo0nx2BNXYaJvxaYL9mlTtlZ4>
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: Mon, 05 Nov 2018 14:33:41 -0000

On Mon, 5 Nov 2018 at 15:21, Sergio Garcia Murillo
<sergio.garcia.murillo@gmail.com> wrote:
>
> By the way, according to the simulcast draft that should not be a problem at all:
>
>    An answerer that receives an offer with simulcast that lists a number
>    of simulcast streams, MAY reduce the number of simulcast streams in
>    the answer, but MUST NOT add simulcast streams.

Not sure if that also covers "recv" simulcast items in the offer.
Probably yes, so ok.

However still useless IMHO. Imagine an SFU that wants to receive, at
least those bitrates (because somehow it knows that all devices can
handle at least 3 simulcast streams):

- 150kbps
- 400kbps
- 1000kbps

Imagine there are also some devices supporting up to 5 streams, so the
SFU produces this simulcast settings in the offer for receiving:

- 150kbps
- 120kbps
- 400kbps
- 750kbps
- 1000kbps

If a device that just supports 3 simulcast streams receives such an
offer, it would discard 2. Which ones? ok, the SDP can include info
about the desired max-bitrate per rid, and we may think: oh, we can
get the list of rids and bitrates  after pc.setRemoteDescription() by
calling pc.getTransceivers()[1].receiver.getParameters().encodings, so
the app can decide which ones to enable.

But that's not true since receiver.getParameters() should not contain
more rids than those supported by the device. Well, this constraint is
really about sender.getParameters(). So you may say: ok we somehow
read the maximum simulcast streams that our browser/device can send
and then choose the appropriate ones from the receiver can call
transceiver.sender.setParameters() with them.. Error! there is no API
for knowing the max number of simulcast streams the browser can
produce.

Too many assumptions and non existing features in this text to make
this scenario really possible.

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