[rtcweb] JSEP Question: Receipt of an offer requesting sending of simulcast

Bernard Aboba <bernard.aboba@gmail.com> Sun, 04 November 2018 19:30 UTC

Return-Path: <bernard.aboba@gmail.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 69728130DC0 for <rtcweb@ietfa.amsl.com>; Sun, 4 Nov 2018 11:30:37 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, 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=gmail.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 pvI08QS7Jmtl for <rtcweb@ietfa.amsl.com>; Sun, 4 Nov 2018 11:30:35 -0800 (PST)
Received: from mail-vs1-xe33.google.com (mail-vs1-xe33.google.com [IPv6:2607:f8b0:4864:20::e33]) (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 630A412D7F8 for <rtcweb@ietf.org>; Sun, 4 Nov 2018 11:30:35 -0800 (PST)
Received: by mail-vs1-xe33.google.com with SMTP id 124so3873446vsp.12 for <rtcweb@ietf.org>; Sun, 04 Nov 2018 11:30:35 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=oDC2aHdEu9EY058GNKj2uiSgmsRja/aJylhnRmY/qV8=; b=JiiYLh9x42zKQGhSsLNEaiAAy1K+yhbXq7x/DcWJd2XFTmqNsDSX9/aQP6mAkWjqCd /wLotw6HGqHV2GgHlLQbiEG5cupHGT+ENrThi4xOmY5y5NKItvaqol5hGXrb0dUjfd/e s763Y3Wp3Z23I1h2u1d4RX6ztDjYNl8sEcxLPn4O/Q5QB2RJ81rRSMabdHpNcnlUfv/b YGqkjsS7E9LoWJEbAk15Le1/Lb9Yq5gF5sMs/6haI0c5cHLS+Ci+pb+VA+eX5wwkTjpN giv8LbnNGhXh1Ir025LcIDV8jyFtiFrAIJjyx2gvI0seJHw+iAFD+oWutZAXn7EkoNd+ DvOQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=oDC2aHdEu9EY058GNKj2uiSgmsRja/aJylhnRmY/qV8=; b=WKrnY224oujFOeOiYZHZKDAoqJRUolS97rnZ776dG/th2ewdUa45diVhPxxMVlaK5N 0dyaJfJYGMjP1ADDnhJKpqC1ZP6vF9DzhYtwUq7zzaYj4HoD4it4ggiE5jnHzG720/e9 05J13PQuCd6d1yrUOxEuJvaRe4yno99W01Bewj2HHRdc389gjaiazQ4bWtZzWylz+b1j Qak7wFZ7XHEWVhzfBxQFrKK7S+syizoZRMfKH4laNlNkFzpuG/onRO6VAHhjxGF5tsir PmlxmozL78EPP6SF/a8YwMIDleV4AZ1Y0YwVxKRnALhOpfUbWDOWypCLKLaDKX6QDw3q r9GA==
X-Gm-Message-State: AGRZ1gIJskueo+uPZF+K5lYj7bvOmGFO4qfeg8JmztoaZ1uC0WPZF2om zTsWMo4EUKFBitlrpa6tCCrm9ZqTUkVzLkndY5bFwLPX
X-Google-Smtp-Source: AJdET5eGfbMbsgi533HvbWMYn8fYCxbiRXSKQlCji4XwlaLKpq0YSJUPKZjwKubh1/bCFiQQ7n7Ktd1BEQz++ALWepM=
X-Received: by 2002:a67:4d4f:: with SMTP id a76mr4720599vsb.167.1541359833986; Sun, 04 Nov 2018 11:30:33 -0800 (PST)
MIME-Version: 1.0
From: Bernard Aboba <bernard.aboba@gmail.com>
Date: Sun, 04 Nov 2018 14:30:23 -0500
Message-ID: <CAOW+2dt9wd7NqhaFL97qoBx5toyw_WOFxesk=WGVTZEgJcLX1w@mail.gmail.com>
To: RTCWeb IETF <rtcweb@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000603ca80579dbcda5"
Archived-At: <https://mailarchive.ietf.org/arch/msg/rtcweb/TlQtj-y6-T0DMdrhsUKmFPDlra8>
Subject: [rtcweb] JSEP Question: Receipt of an offer requesting sending of simulcast
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 19:30:37 -0000

In a conferencing scenario, typically the conference server will send an
Offer to the browser, since it alone knows how many conference participants
there are, and therefore how many m-lines to include.  In such a scenario
it is also common for the conference server to receive simulcast from the
browser.

Therefore in order to make such a scenario work, it is necessary for the
browser to be able to receive an Offer from the conference server
indicating the desire for the browser to send simulcast, and for the
browser to generate an appropriate Answer to the conference server.

A WPT test for this scenario has been suggested (see:
https://github.com/web-platform-tests/wpt/pull/13902 ) and in developing
the test, it would be helpful to understand how things are supposed to
work, exactly.

JSEP Section 3.7 currently states:

   In addition, JSEP does not provide a mechanism to handle an incoming
   offer requesting simulcast from the JSEP endpoint.  This means that
   setting up simulcast in the case where the JSEP endpoint receives the

   initial offer requires out-of-band signaling or SDP inspection.
   However, in the case where the JSEP endpoint sets up simulcast in its
   in initial offer, any established simulcast streams will continue to
   work upon receipt of an incoming re-offer.  Future versions of this
   specification may add additional APIs to handle the incoming initial
   offer scenario.


draft-ietf-mmusic-simulcast makes it clear how a conferencing server can
request that the browser send simulcast, namely by including a=rid:X recv
lines, so there does seem to be a mechanism, but the boundaries of what it
supports and does not support is somewhat fuzzy.

For example, it is not currently clear (at least to me) exactly how much of
the SDP in the Offer is reflected in the encoding parameters that manifest
on the Answering side.  I would expect the number of encodings and the rids
to show up in transceiver.sender.getParameters().  But should anything else
be expected?  For example, if the SDP in the Offer contains max-fr, will
this be reflected in values of the maxFramerate attribute of the encodings
on the Answering side?  Is there any circumstance in which the Answerer
will find other encoding parameters set, such as maxBitrate or
resolutionScaleDownBy?