Re: [Wish] WHIP enhancements
Sergio Garcia Murillo <sergio.garcia.murillo@gmail.com> Thu, 25 February 2021 08:53 UTC
Return-Path: <sergio.garcia.murillo@gmail.com>
X-Original-To: wish@ietfa.amsl.com
Delivered-To: wish@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1])
by ietfa.amsl.com (Postfix) with ESMTP id C47D33A15F1
for <wish@ietfa.amsl.com>; Thu, 25 Feb 2021 00:53:13 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 tagged_above=-999 required=5
tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1,
DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001,
HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, 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=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 YC2MBlL7p7th for <wish@ietfa.amsl.com>;
Thu, 25 Feb 2021 00:53:11 -0800 (PST)
Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com
[IPv6:2a00:1450:4864:20::42e])
(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 9B2043A15EE
for <wish@ietf.org>; Thu, 25 Feb 2021 00:53:10 -0800 (PST)
Received: by mail-wr1-x42e.google.com with SMTP id b3so4401603wrj.5
for <wish@ietf.org>; Thu, 25 Feb 2021 00:53:10 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
h=mime-version:references:in-reply-to:from:date:message-id:subject:to
:cc; bh=LkMbWd7B5OislGDY7vRQbGwRt9VVzI8rVd9CpiIFzHg=;
b=Ir04kp5ceQYq3XXO6N/Uucx0xUr/hg1nyqUXQMMKnBR8Afx60kcWUiplocoMIY3WOd
U1jdQe/SHlxtnGxux1hMvU6hDnFarqYv3KsVAuG3j9tfgU7/6Wd8/jfwum9Jdgz2zRTj
fPZdEOiOWjCuTo3oaL3uw7s0H+AfyOq332pKtfP4mxqD1mVfbb+dXbNor+RQA6Ud5zrE
SHbSv1dj+uruJdApHiKNIB2Lc7MwSRLj/ca3hpwSauTYzcp1Pz2PNzU56Q/NBYFz8VzF
aDNxA9ao2ffhQ+EATMoOl4qANm3n7O9CFZB91mievaR4QwP+vhSt3N0CQMNNPzKjO9hq
xNxg==
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;
bh=LkMbWd7B5OislGDY7vRQbGwRt9VVzI8rVd9CpiIFzHg=;
b=f64+TvXsBoBKB4R8r2332G1Gkx6F2wm7D2zW3rYHBQE5VPlSguq5oGoMHzqmoZXt+/
/TV1Fxr9d8Zut0gbqBQ96P6aOoUG8gr336quEUn3UBcSjqbzGoFqhq1TLHJLBSf37Gmr
07DPkp/n5B3zZsgkenY90tLA0JGtrYlE+0dvMz9cbL5SkTKWLCQqIvHC5UlCulLyldqF
9qkG56l0U1qpqO50r4nwTDU6VembERbbvz+39xz+7+H0bQB2JCpeq+qnPN6QOWdQSzvv
X8t/2datvMdxQSOgBJxL6jfkzaWIAJvfRizbnQcD50BayGHvHl4RXE60Hj0PPMXKtJuO
7IUg==
X-Gm-Message-State: AOAM530U1Cxs5m+/ULdWOCNxfAMIRHVQAQoojhnQcsamtbBUq9eLxCDW
hOlI6CZGtQSOUSWGQOKKdVFi6Hs6Ghe7McfmmGs=
X-Google-Smtp-Source: ABdhPJwZG9ShTCAF6jtDoJGJJ1IpfrApISGDz/ruBbdgZeaH6d7kcltbK9s2x+J2M/f++0DDwJzL9zlo8Akou0KVgfk=
X-Received: by 2002:a5d:544a:: with SMTP id w10mr2323560wrv.149.1614243188960;
Thu, 25 Feb 2021 00:53:08 -0800 (PST)
MIME-Version: 1.0
References: <92fd1a3f-06a3-3197-dde0-18270b62410c@nostrum.com>
<CA+ag07Y0pZJ5YHtin1Y6X0bOGkYqGOanCaNiM42VFYwXYB6iSQ@mail.gmail.com>
<a6184cd1-361d-f9aa-acd4-7586c6ed9006@nostrum.com>
In-Reply-To: <a6184cd1-361d-f9aa-acd4-7586c6ed9006@nostrum.com>
From: Sergio Garcia Murillo <sergio.garcia.murillo@gmail.com>
Date: Thu, 25 Feb 2021 09:52:58 +0100
Message-ID: <CA+ag07a-LCvGbs+8iOyrwCXhoWigoaBiDhnK-Taad7bcYFZgHg@mail.gmail.com>
To: Adam Roach <adam@nostrum.com>
Cc: "wish@ietf.org" <wish@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000dbf16905bc25473b"
Archived-At: <https://mailarchive.ietf.org/arch/msg/wish/IH9kGh2tYnQJiEtxEaHHRzEPomQ>
Subject: Re: [Wish] WHIP enhancements
X-BeenThere: wish@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: WebRTC Ingest Signaling over HTTPS <wish.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/wish>,
<mailto:wish-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/wish/>
List-Post: <mailto:wish@ietf.org>
List-Help: <mailto:wish-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/wish>,
<mailto:wish-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 25 Feb 2021 08:53:14 -0000
Hi Adam, Comments inline El jue, 25 feb 2021 a las 0:25, Adam Roach (<adam@nostrum.com>) escribió: > Thanks for the quick review of my proposal! Comments inline below. > > > On 2/24/21 02:14, Sergio Garcia Murillo wrote: > > The need for a way to explicitly terminate the session was already by > > several people, so I think we should definitely include it. > > > > https://github.com/murillo128/webrtc-http-ingest-protocol/issues/2 > > > > However, I would be against optionalities, as it makes the testing and > > interoperability much more difficult. > > > The scheme I'm looking for here is one of a very small set of core > functions, plus optional fields that are ignored if an implementation > doesn't understand them. To test interop, all that would be necessary is > to check the proper functioning of the core functions (along with, I > suppose, cursory checks that unknown fields are correctly ignored). > My main concern about this is that most people will only implement the core package and don't do the optional part. So I would prefer to have as less optionality as possible, especially if the optional functionality is something that may be required by some people in order to make it work. > > In that regard, I am against including the trickle option as the > > server should be accessible to the publisher, and the only case where > > it could make sense is if the WHIP server is on a public server but > > the media servers are behind NATed network without port forwarding. > > > > Also, I am not sure what would be the benefits of the ice restart > > (especially if it is optional) compared to just restarting the whole > > publishing session again, which is something that the service has to > > implementa anyway. > > > I'm definitely okay leaving both trickle ice and ice restart functions > off for now, as long as we have some kind of extensibility mechanism. > What I'm trying to avoid is some kind of future situation where RT-CDNs > are hosted behind application load balancers, and the processing nodes > themselves lack v4 unique addresses (and are therefore natted). I don't > see it being an issue right now, but depending on how quickly we can > rely on 100% IPv6 deployment to end users, it may become an issue in the > future. I don't want to be painted into a corner when/if this happens. > That may be an interesting use case to support in order to be future proof and would be easy to implement server side (just ignore the client updated candidates). So my proposal would be either to not support it, or include it on the core package. > > On a last note, I would prefer to make the process less json-like and > > more http-like, reusing HTTP headers and methods as much as possible. > > > I'm certainly not caught up on JSON as a syntax here, although it does > make things considerably easier in most modern development environments. > I'm open to other options. > > Regarding our use of HTTP, I'd very much like to make sure we stay > strictly within the bounds of BCP 56 (and, after discussions with the > Area Directors, I'm fairly certain that publication of the > post-last-call > https://tools.ietf.org/html/draft-ietf-httpbis-bcp56bis-09 will be > happening in fairly short order, so that's the reference we should be > using). So re-using existing HTTP header fields to mean exactly what > they're defined to mean is perfectly fine; but for any new information, > I think we need to stay with the recommendations of BCP 56bis §4.7. > Definitely, we should follow BCP 56. > > > My initial thoughts about how to implement it were that the POST > > request to start the publication returned a 201 created response with > > a Location header indicating the URI to the entity representing the > > publication. > > I don't have any objection in principle to using HTTP header fields for > pointing to a created resource, as long as we can make this work for all > of our use cases. > > > > And then allow the following methods on the request > > > > - GET for retrieving information about the state of the publication > (TBD). > > - OPTIONS for keep alive > > - UPDATE for updating the session (we would need to specify what would > > we actually allow to be updated) > > - DELETE for terminating the session > > > Here's where things get a bit dicey. The observation in BCP 56bis §5.4.2 > that OPTIONS is not widely supported is highly relevant: as CDN ingest > nodes are frequently behind application load balancers, requiring the > support of OPTIONS can lead to significant operational headaches if the > load balancers don't support OPTIONS natively. There's also a bit of a > philosophical mismatch in that "OPTIONS" doesn't *really* mean "PING," > and if the notion is that we're using HTTP methods as our semantic > operation point, we really want things that are good semantic matches. > > UPDATE is even more problematic, as HTTP doesn't have an UPDATE method, > and the process of adding new methods to HTTP is politically difficult > in the best circumstances (e.g., creating a method that has broad > applicability to all resource types -- see the difficulty and insanely > long timeline getting PATCH defined for an example). > > My bad, too much time working on SIP. Obviously defining any new http methods or headers is something we should not do. > So while I'm not married to any of the aspects of my proposal, I think > we need a more explicit way of indicating what operations we need than > HTTP methods; and, at the same time, I'm seriously concerned about the > future and the viability of a protocol that has no extension points. Can > we work to find common ground on those two points? > > > Best regards Sergio
- [Wish] WHIP enhancements Adam Roach
- Re: [Wish] WHIP enhancements Sergio Garcia Murillo
- Re: [Wish] WHIP enhancements Lorenzo Miniero
- Re: [Wish] WHIP enhancements Adam Roach
- Re: [Wish] WHIP enhancements Adam Roach
- Re: [Wish] WHIP enhancements Adam Roach
- Re: [Wish] WHIP enhancements Sergio Garcia Murillo
- Re: [Wish] WHIP enhancements Adam Roach