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

Sergio Garcia Murillo <sergio.garcia.murillo@gmail.com> Mon, 05 November 2018 13:03 UTC

Return-Path: <sergio.garcia.murillo@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 9835E1298C5 for <rtcweb@ietfa.amsl.com>; Mon, 5 Nov 2018 05:03:52 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 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, 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 1SRCOj23JCjM for <rtcweb@ietfa.amsl.com>; Mon, 5 Nov 2018 05:03:50 -0800 (PST)
Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com [IPv6:2a00:1450:4864:20::333]) (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 52A17129C6A for <rtcweb@ietf.org>; Mon, 5 Nov 2018 05:03:50 -0800 (PST)
Received: by mail-wm1-x333.google.com with SMTP id p2-v6so7956906wmc.2 for <rtcweb@ietf.org>; Mon, 05 Nov 2018 05:03:50 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding:content-language; bh=iTkQ6Jb4WrLeAgUr+Vf/sozFeJu+MQffDjogyjmLZS8=; b=vBe+pcZvtt10rab86l6xfCZvz7ySsWKAX4q2exIFJ+6jJcUJUpKZGMy4hlINSV0Obl CyqJGjiTZhdebm9flhMXmI/Zix+4Y273zMLBIM8TsSp6gmiyi5/XWcfe5Lzs9q6HNKgs w2ZdezkJgfzB5fCHihoNgbwNVuAnZqzB85oswPJ8i9c8WR4SYua7lNcUXmurK9Wz7VhK p9tLUAdZwnG1Cuu1bCditee5fQ/JJHqqGN+lBUfzjkEONvY2Cf+B2aTDsMetQjVq+PvC dpIehhxxxoxsweajjK80+RE1FczU+IVB+ZANoc9m/D0zMYsBkqPBV6M0fWkF8/zoE1Pz CDJQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=iTkQ6Jb4WrLeAgUr+Vf/sozFeJu+MQffDjogyjmLZS8=; b=EtXN7ykjL/irAfkwr83u6yGoVeaOPPBaLjxs9iX6OyM13xFzRehiG1q9rPLmosKd4b VACZHMblSXqVa4Mmy3ZMgH+FpUmU2xZq6ZzyIhQTd9umSK851yKzCt8USzjdywI4m4yL 62gut7tFGXCk17+pX2v5+/cZu2KTOVzmwDBZUPoK/5OuJyxVNJ8MS0B/8DMLYGynDs3o ZhsQr4u9XLVGXT5hlp9TwQV+WXiNBdgXEzplguc/HcQbRuP9hTBIHTXf56z++aUuq3KK pT9w9Ino9t6HTgeJ095lm05+oMwGUXHlIRlmsn7XXCM4PzkQ25ppuOrd83Neo+zJ11RN uEPQ==
X-Gm-Message-State: AGRZ1gJxZyWXuBpL4It0RQ9BpzP6xVDCUa++YH6zjYryWiHzxqIqTDeB igFsClMoO2qasJRvtt2hlb3rhWgC
X-Google-Smtp-Source: AJdET5eU4clxScarTq9rfWfrPC/kxBg0woeu8KQdzLCYbxLWh6FVnuGMeaSVjpsU+5SrljzzapEFmA==
X-Received: by 2002:a1c:7d8e:: with SMTP id y136-v6mr6057522wmc.140.1541423028596; Mon, 05 Nov 2018 05:03:48 -0800 (PST)
Received: from [192.168.0.111] (37.red-80-28-109.staticip.rima-tde.net. [80.28.109.37]) by smtp.googlemail.com with ESMTPSA id y2-v6sm6849158wrh.53.2018.11.05.05.03.47 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 05 Nov 2018 05:03:47 -0800 (PST)
To: Harald Alvestrand <harald@alvestrand.no>
Cc: Iñaki Baz Castillo <ibc@aliax.net>, RTCWeb IETF <rtcweb@ietf.org>
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>
From: Sergio Garcia Murillo <sergio.garcia.murillo@gmail.com>
Message-ID: <db90e287-145b-5ffe-18c0-f38faed76c07@gmail.com>
Date: Mon, 05 Nov 2018 14:07:07 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1
MIME-Version: 1.0
In-Reply-To: <5db76ada-b896-7eba-b42e-85b2e239dc42@alvestrand.no>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/rtcweb/Zc-oJO26qqE6HUBHmYtQbVT40Gs>
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 13:03:53 -0000

On 05/11/2018 12:45, Harald Alvestrand wrote:
> I do fear that simulcast will continue to affect parts of the spec that
> we don't expect it to. But we don't have the luxury of specifying it
> halfway; either we rip it out altogether, or we specify it in enough
> detail for interoperable implementation.

I agree to that. If we are able to find an "easy" (i.e. not introducing 
too many changes) I would not have any issues adding support to that.

Something like:

- Browser adds a track via addTrack

- Browser call SRD with a recv simulcast m-line offer

- The transceiver is created with one send encoding per rid offered by 
the SFU with default values and all send encodings except first one with 
active=false (this would be the only required change)

----- browser encodes/sends a single rtp stream, same as if the remote 
offer was a non simulcast stream--

-Browser calls sender.getParameters(), modifies the desired send 
encoding parameters ( scaleResolutionDownBy,  maxFramerate, maxBitrate, 
etc) and enables them by setting active=true

Would this approach fulfill the requirements?

Best regards

Sergio