Re: [rtcweb] Processing multiple remote offers

Taylor Brandstetter <deadbeef@google.com> Tue, 17 October 2017 17:03 UTC

Return-Path: <deadbeef@google.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 A0BD8133020 for <rtcweb@ietfa.amsl.com>; Tue, 17 Oct 2017 10:03:51 -0700 (PDT)
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, 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=google.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 COzcC7SJiaCh for <rtcweb@ietfa.amsl.com>; Tue, 17 Oct 2017 10:03:49 -0700 (PDT)
Received: from mail-ua0-x232.google.com (mail-ua0-x232.google.com [IPv6:2607:f8b0:400c:c08::232]) (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 74C2813207A for <rtcweb@ietf.org>; Tue, 17 Oct 2017 10:03:49 -0700 (PDT)
Received: by mail-ua0-x232.google.com with SMTP id i35so1661822uah.9 for <rtcweb@ietf.org>; Tue, 17 Oct 2017 10:03:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=uqb8rh7Wb+Nv2EJcRFnN6UrFr2uR9ISihhzkFqGa7cc=; b=PiG2VBPdvzXC00B6GUm78s6Q+SIBt4l0cc0dWPbOusMLU0LJSbhpOkJMm2HAGl2UNJ bnNC8TuJO81EhTD1E/iJjQbUgehm/vEt7O3pwRPgJ3Y8aZAg9V5DBufZfIyL/ZduOUyU V+Jlrx3k4LbzimBS/sm4DuJ9GbsH66jtUUQudz8YFsHvLtRiEvm6Amqgb9VdfD9FqxBh 3VJJotG/5AyMW06hV6kyH5T+wyWpKg0d2FQ5YOHSFkC4E7RkEWZly+8ES/TDhgNdDqj0 dDCNRa6zp83B1jMYwnXlgGAU+Pfa4omRxahkkeZZsTuP85tuLurjX+pZFPfNtO+gJYee hQEA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=uqb8rh7Wb+Nv2EJcRFnN6UrFr2uR9ISihhzkFqGa7cc=; b=tlgkH29AfZn9Qvw8qRdufH6Hec4FAj1TlSpS+potnT+/8SqJhV0HoaVJXmtnTnwA8b V+z3MNeX6XOXtIrzTYVPTAenHHlPsfd0jUNK1H0wr4yYtP63Ns8upUqcYxo7b4hF+0y5 f/LCte6KQ8Aw7wqzulSMgYkWWtnj+hD7LqGqzlQO23ZGVL/qnBLTakliDTlxASQE3jx/ wJrYgqpJy2Jgj8KpRkJ5jWUzR//Fts1zP0vVF40a9CcTdJ5TuRWQ83tX8fgh4+d6vKkH cRlgRksx8JRaUVefFjd5E+3NoZy1iFxyqMQSMWk+ABo8PIeJzzgcvHWDpbjbVVqAeYew ENJw==
X-Gm-Message-State: AMCzsaXc4JYbJXltsHD5q0Gahcji7ODCWmRq0mdZzUqrmHrkyrsYbn+I hbeP7vN05ZJz/QKOj2kcfEDIG3Tcg8u2jCaoc0+E3FNw
X-Google-Smtp-Source: AOwi7QDIwBtdcCMofGJlrUPcSsSBBNwNAGJxYyzsrkaGGQTh6isgRjHUKtv7rsu177LygIyKdQupX2Y99dG/HTN8jeI=
X-Received: by 10.176.81.132 with SMTP id g4mr10516458uaa.60.1508259828274; Tue, 17 Oct 2017 10:03:48 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.31.169.130 with HTTP; Tue, 17 Oct 2017 10:03:47 -0700 (PDT)
In-Reply-To: <624deabb-0fa2-4ae2-4661-f71b3ee322ae@alvestrand.no>
References: <CAK35n0ZDYBmSpf7BPS+kABj9x8ZbwtMHPr794E8G5fVKqqndUg@mail.gmail.com> <624deabb-0fa2-4ae2-4661-f71b3ee322ae@alvestrand.no>
From: Taylor Brandstetter <deadbeef@google.com>
Date: Tue, 17 Oct 2017 10:03:47 -0700
Message-ID: <CAK35n0YFu_UBVZnMNb4=ehF4B29Agb-JR51rUW2t2aXogLS04w@mail.gmail.com>
To: Harald Alvestrand <harald@alvestrand.no>
Cc: RTCWeb IETF <rtcweb@ietf.org>
Content-Type: multipart/alternative; boundary="94eb2c1922704b6f8b055bc11b89"
Archived-At: <https://mailarchive.ietf.org/arch/msg/rtcweb/4HqDZAMKysuqQzwOG3CRRjE9uuo>
Subject: Re: [rtcweb] Processing multiple remote offers
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.22
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: Tue, 17 Oct 2017 17:03:52 -0000

I think it would be simple to allow *adding* m= sections (transceivers);
that would satisfy the use case you describe. It's mostly removing them,
reordering them, or choosing different MIDs that would introduce
complexity. In short, anything that's impossible to do on the local side
(by calling createOffer again after setLocalDescription).

But specifying "apply new remote offer" as "do the steps of a rollback
followed by the steps of applying a fresh offer" would probably work. I
can't think of any potential problems at the moment.

On Tue, Oct 17, 2017 at 7:50 AM, Harald Alvestrand <harald@alvestrand.no>
wrote:

> Den 17. okt. 2017 01:12, skrev Taylor Brandstetter:
> > JSEP allows a remote offer to be applied while in the
> > "have-remote-offer" state. Meaning that, in addition to supporting
> > multiple answers (via pr-answers), JSEP also supports multiple offers.
> >
> > However, I don't see any text that calls out what (if anything) must be
> > the same between these offers. Should we assume that they can be
> > /completely/ different? Or do they at least need to contain the same m=
> > sections (same type, MID and order)? For example: is it legal to apply
> > an audio-only remote offer, then apply a video-only remote offer? Is it
> > legal to apply an audio-only offer, then an audio+video offer?
>
> Offhand, I can't think of a scenario where multiple offers in have-offer
> state is useful. Most of these convolutions were justified by 3PCC
> cases, which I don't understand fully.
>
> A contrived one is where the remote party sends an audio-only offer,
> adds a video track, and then wishes to re-offer with both audio and
> video before the answerer picks up. This only makes sense if the
> answerer is waiting for the human response before sending the answer.
>
> > This affects WebRTC 1.0, because depending on which direction this goes,
> > we may need to address a situation where an RTCRtpTransceiver is created
> > by applying a remote offer, then invalidated by the next remote offer.
> > Does it go away or exist in limbo state?
> >
> > Of course, another solution would be to say "this isn't supported, do a
> > rollback if you need this."
>
> Or we could specify the effect of applying a new remote offer as being
> identical to rollback + apply the new offer. Is that the simplest spec
> change we can make?
>
>
> >
> >
> > _______________________________________________
> > rtcweb mailing list
> > rtcweb@ietf.org
> > https://www.ietf.org/mailman/listinfo/rtcweb
> >
>
>