Re: [Wish] 2nd WG Last Call for draft-ietf-wish-whip: PATCH and trickle ICE

Sergio Garcia Murillo <sergio.garcia.murillo@gmail.com> Thu, 18 January 2024 10:34 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 4EB07C14CF17 for <wish@ietfa.amsl.com>; Thu, 18 Jan 2024 02:34:14 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.865
X-Spam-Level:
X-Spam-Status: No, score=-0.865 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, NUMERIC_HTTP_ADDR=1.242, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01] 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 ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7gAw1xI8WpAP for <wish@ietfa.amsl.com>; Thu, 18 Jan 2024 02:34:13 -0800 (PST)
Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com [IPv6:2a00:1450:4864:20::62b]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6E879C14F616 for <wish@ietf.org>; Thu, 18 Jan 2024 02:34:13 -0800 (PST)
Received: by mail-ej1-x62b.google.com with SMTP id a640c23a62f3a-a2d348d213dso563219666b.0 for <wish@ietf.org>; Thu, 18 Jan 2024 02:34:13 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1705574052; x=1706178852; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=5VRgPzxh6lIXMnkpVAVeeNJ44iDbxq+gi+wSeS+L+Xw=; b=N8SGEKW+JgDb2LmyT2PnMUdpr0zuOwZOgxk1h7P3bTATryQiUGFeNJWJTyqIhRxqGD PuDUjz0ynouEIT2Xn9yLkaSPRJjszWv5Xw2UuXlacjOiOSAzcdrpn4hszcqEyPwZbZWt N+JM/eZ416K5VUMVNR9S9RzL+zh94Kf6YQlYIRVs5esrdaiQa2S+IoD/pySYT7T+2fG/ cU98fyCcj79731qYicL3cU5lEXJFHColO8VlUKuDb22ZOIazLWM5oBzOXNfwbF+rkyt7 Juylbbu6PESHQpu+HT3RmeRs5xXGFfIdTYT4BqT/v8iaXrBR7tOVIWcKguObN79bU0i6 +7ig==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705574052; x=1706178852; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=5VRgPzxh6lIXMnkpVAVeeNJ44iDbxq+gi+wSeS+L+Xw=; b=XXnu6wU2Zm5gCNWGj7IBnx5qgG6U1e1hUc3FD3r7fWxZi5r0gsTDP1ROwX+rQjA+t5 jBmUpv0wWv1/JRHAmsXtMx85zLR46yie3Z5qxvyubTARvF/ElFcn33OOc3H5AJDDGCVB TkA90R7csHFTwyoU7E5GxDG61PPcFnxB7kdnp3qZwOfTpD0i35/ByceEuG9r4XnqP9Vk H6lmJaz4R6SaHkH817hq9m0CfXfGMlWEkochq+zqWfnEhchuB7mhwEB+k8DgnbqiQ3lB z6Nwy9e5ZjsjjKcZhVG299uEkhhJzSDDmw9kKWLjftiDLp2Rx0w6aZIHEfvbJyMBAlJh 8HMQ==
X-Gm-Message-State: AOJu0YwDS4u9pd6fkrZNkoejzdMXx6qIpw5g7pixULcTsMDb3eqR9w8E 0j8OpQdvdkZu6q/tIwtl7iqs4TE9sM5A0ZVw2Y6AEbswTrgy5YrURkoYynRhSwr8jqlcO2i3zRH Tb+s1OOsHzSJ00pagcvMuVfXcY+s0625rezM=
X-Google-Smtp-Source: AGHT+IE9CY/y5rBSuYsQ1YKX9BPEg3REkzwmA6/UWnVR2d3bc4euZ/Cn0GAzxZ9qMjtQMZnFySsAaBQv6bAcASPlfIs=
X-Received: by 2002:a17:907:8b95:b0:a2e:d855:d91e with SMTP id tb21-20020a1709078b9500b00a2ed855d91emr488720ejc.28.1705574051534; Thu, 18 Jan 2024 02:34:11 -0800 (PST)
MIME-Version: 1.0
References: <6E5C6103-767B-41FC-8C69-CBC5FE5201EB@sn3rd.com> <E41AA83B-7798-4DE9-99A7-EEC263391CF4@sn3rd.com> <CA+ag07ZU2g5UmjShMUSXg5pnu0JWPVpszuKM9eBFWLeezCZgCA@mail.gmail.com> <HE1PR07MB4441341897EA27F138A69AD3936A2@HE1PR07MB4441.eurprd07.prod.outlook.com> <CA+ag07Zkq+Ho+OO2DhD7PDs-KfRu4Ju97g49WiAQ-xn24y019w@mail.gmail.com> <HE1PR07MB44414872696290EF26C08EB9936F2@HE1PR07MB4441.eurprd07.prod.outlook.com>
In-Reply-To: <HE1PR07MB44414872696290EF26C08EB9936F2@HE1PR07MB4441.eurprd07.prod.outlook.com>
From: Sergio Garcia Murillo <sergio.garcia.murillo@gmail.com>
Date: Thu, 18 Jan 2024 11:34:00 +0100
Message-ID: <CA+ag07Yhzv4PGnhw4B-oXgCjJYVAChk15KBo7q088k_U5pU30w@mail.gmail.com>
To: Christer Holmberg <christer.holmberg@ericsson.com>
Cc: Sean Turner <sean@sn3rd.com>, WISH List <wish@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000007addb6060f35e7e9"
Archived-At: <https://mailarchive.ietf.org/arch/msg/wish/M6gFEoYuTjVllNKtq0Dl24hgj8c>
Subject: Re: [Wish] 2nd WG Last Call for draft-ietf-wish-whip: PATCH and trickle ICE
X-BeenThere: wish@ietf.org
X-Mailman-Version: 2.1.39
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, 18 Jan 2024 10:34:14 -0000

On Fri, Jan 12, 2024 at 3:10 PM Christer Holmberg <
christer.holmberg@ericsson.com> wrote:

> Hi,
>
> >>      Section 4.1.1. of WHIP-11 says:
> >>
> >>          “When used for trickle ICE, the body of this PATCH message will
> >>          contain the new gathered set of ICE candidates and when used
> >>          for ICE restarts, it will also contain the new ICE ufrag/pwd
> pair as
> >>         defined in [RFC8838] Section 5.4.”
> >>
> >>      Q1: My reading of the text above is that ICE ufrag/pwd is only
> >>          included for ICE restarts. However, they are included in the
> trickle ICE
> >>          example in Section 4.1.2.
> >
> > This is not mandatory text, so just a description of the important
> fields.
>
> Not sure what you mean by "not mandatory text", as it describes what the
> body of the PATCH message will contain.
>
> Having said that, I did realize that for ICE restart it says *new* ICE
> uftag/pwd, so that is correct.
>
> BTW, there is no Section 5.4 in RFC 8838.
>

right, there are a couple other mismatched references, I think they are
fine now:

https://github.com/wish-wg/webrtc-http-ingest-protocol/commit/f5acd16b172fdc0294719b3fcc3a87502eb96610


> > Probably we should explicitly state in 4.1.2. Trickle ICE that the
> creation of
> > the HTTP PATCH BODY and processing by the WHIP session MUST follow
> > section 4.4. Delivering Candidates in INFO Requests of RFC 8840.
>
> That can be done.
>
> But, then it is perhaps enough to only say the following in Section 4.1.1.
> :
>
>    "The WHIP client MAY perform trickle ICE or ICE restarts by sending an
>    HTTP PATCH request as per [RFC5789] to the WHIP session URL, with a
>    body containing a SDP fragment with media type "application/trickle-
>    ice-sdpfrag" as specified in [RFC8840] carrying ICE information.
>
> Sections 4.1.2 and 4.1.3 would then provide the details on what ICE
> candidates and credentials are included.



Fine for me.
https://github.com/wish-wg/webrtc-http-ingest-protocol/commit/1ac7f07aaa26afdb2847871bf868284874ddcb44



>
> >>      Q2: My reading of the text above is that for trickle ICE the PATCH
> >>          message body will not contain the previous candidates, only
> the new
> >>          gathered set.
> >>
> >>          However, Section 4.4. of RFC 8838, which defines the SDP
> trickle-ice-
> >>          sdpfrag content type, and the usage with SIP INFO, says:
> >>
> >>      “Since the agent is not fully aware of the state of the ICE
> >>          Negotiation Session at its peer, it MUST include all currently
> >>         known and used local candidates in every INFO request.”
> >>
> >>      Since WHIP does not (AFAIU) apply to the MUST above, I think it
> >>         would be useful with some justification in the draft. For
> example, is there
> >>         something HTTP PATCH provides, but SIP INFO does not, that
> justifies not
> >>         adopting the MUST?
> >>
> >>      (Related to Q1, RFC 8838 also mandates sending of ICE pwd/ufrag for
> >>          trickle ICE)
> >
> > I was not aware of the in-order delivery requirement of RFC 8838. In
> order to
> > fulfill that requirement, I don't think that sending all the candidates
> is
> > required,  but only the ones that are "in-flight".
> >
> > That is, two concurrent patch requests can be received out of order by
> the
> > media server. So the WHIP client needs to keep an ordered list of
> candidates
> > sent on the PATCH request, and remove them from the list when the 204
> > response is received. If a new candidate is gathered, we just append it
> to the
> > list, and send a new request with the full list of pending candidates.
>
> If we refer to RFC 8840 (as you suggested earlier) I think that will
> clarify it.
>
>
Changed in here:
https://github.com/wish-wg/webrtc-http-ingest-protocol/commit/70d3a8fdfbc13873aa760bb542428bea1bba9437

Best regards
Sergio