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

Christer Holmberg <christer.holmberg@ericsson.com> Fri, 12 January 2024 14:10 UTC

Return-Path: <christer.holmberg@ericsson.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 1DBA6C14F73F for <wish@ietfa.amsl.com>; Fri, 12 Jan 2024 06:10:36 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.11
X-Spam-Level:
X-Spam-Status: No, score=-7.11 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=ericsson.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 e6AuZoeNEDoC for <wish@ietfa.amsl.com>; Fri, 12 Jan 2024 06:10:32 -0800 (PST)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2070.outbound.protection.outlook.com [40.107.20.70]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E3338C14F6F3 for <wish@ietf.org>; Fri, 12 Jan 2024 06:10:31 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kbBV2ox9bWrCNHoS0ghujMtRjKY0HgvIebcw3DMxebCmrUi5SKL3K0C0jy4Msy3+wsehpjQpD620VT777U0pY4DsYCIySvyaXu0ePqDQ75hJX7Dr6rIKGuNo+l2ZLoxG3AmWqRexrj0JOzcyBMzacw2dBmm187vhEPmPRlyv0zWvptnKQMpopMwhfOPgQRvagY2Nhk1FjbJnvql+hGHhTYrPJmqUfaLfltRYQPESioYg122Cl6CHiLF1KtWVfUi/zg9IL0u+T22Wx0TA1sWsKUlOqqs37olVmxwVa+RRqhvoXStF0ZGZvXG85GWxaHy6fkrLNEh75RSR3OlfgyandA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=BuIGINam6ToIF05RGGT2zkQpFSeXjeXnZfccbmqDiGo=; b=ZKJRcHXCR4fMuKl/QOkcyXUPguq/OIXgzrNZMvDw6HWrYzEsYK7r6JGurBdYGbazbYza34k0PIqFaFBoPsEek+jAMCn0WX1gyjPo+p+nnetDb2ld+q5BwR72+YtGblZuTNl+PuiXVVAo+a9nkAFoS2FRY7apkngZSZrJ3g62NZPFPJN9jmFfjdVPo2GZyPubIbuKqtPJb3pvJoxvCsreHQWpCnUN+PrJqFcGpVizk28DpBllGkzFjtWVuwUc6E9zXtGQmLj3ANnyBFvY1HeWYXQu2qrDceaYyQBZctgzMaPqT4A/ar2HUQ2Um3tJ/lQJLxiN+sTn0ixtQIYxotNaIQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ericsson.com; dmarc=pass action=none header.from=ericsson.com; dkim=pass header.d=ericsson.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericsson.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BuIGINam6ToIF05RGGT2zkQpFSeXjeXnZfccbmqDiGo=; b=fJvEUFTsmyVtg2i03sZg08wgdCJdbpYFzoXvCiSfeiBgTVDvkBkke0zaJJVSJpFzjfFNLnCZ6ikJ+GPcIwANWENw+AHTqOuPTKKxJJMlsJcGkQZg/lAJcuEWk/Nx2RSjUnSaWnk59zIcW9gNqmHGDNWY05wogliUNMTPT/chL2cazNkcx3maeFjnKkztZ5vSC+C41qonga7fVCKzZWQUeOWtPpIYiqzwDtmnVIpTifz1HdjCnW7Cj1TY3JtIgJWtxC9qKCqUjmmJhbMc3ATV6Rekng+4Kv28rZrJD+19DPD7Yfp1lzH4Xi6SPDwGg5qZnN4E+3y0tc1mhs+8q/eAFQ==
Received: from HE1PR07MB4441.eurprd07.prod.outlook.com (2603:10a6:7:9f::27) by AM7PR07MB6772.eurprd07.prod.outlook.com (2603:10a6:20b:1bf::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.19; Fri, 12 Jan 2024 14:10:28 +0000
Received: from HE1PR07MB4441.eurprd07.prod.outlook.com ([fe80::5ef9:ca02:b63f:263]) by HE1PR07MB4441.eurprd07.prod.outlook.com ([fe80::5ef9:ca02:b63f:263%4]) with mapi id 15.20.7181.019; Fri, 12 Jan 2024 14:10:28 +0000
From: Christer Holmberg <christer.holmberg@ericsson.com>
To: Sergio Garcia Murillo <sergio.garcia.murillo@gmail.com>
CC: Sean Turner <sean@sn3rd.com>, WISH List <wish@ietf.org>
Thread-Topic: [Wish] 2nd WG Last Call for draft-ietf-wish-whip: PATCH and trickle ICE
Thread-Index: AQHaQu6R5KjduTJ5EESEL/qwRcCo2rDV366AgABWf0A=
Date: Fri, 12 Jan 2024 14:10:28 +0000
Message-ID: <HE1PR07MB44414872696290EF26C08EB9936F2@HE1PR07MB4441.eurprd07.prod.outlook.com>
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>
In-Reply-To: <CA+ag07Zkq+Ho+OO2DhD7PDs-KfRu4Ju97g49WiAQ-xn24y019w@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=ericsson.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: HE1PR07MB4441:EE_|AM7PR07MB6772:EE_
x-ms-office365-filtering-correlation-id: b6e78e95-0cbc-4b4d-af81-08dc13783ad6
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: DjlBLUKVY1yzan40LWHGztnmclmGG91SPPWc6CqMOj69szk4++vIwtzm2TvEKKFjy3ryZ9Zgw6xUnojRLvfZZdF9aXQ/wbRGnmUAk+OXncp4Z8o7gbARY0fdGyr9mTc8UGnf47nzAA4qAe9e+Qn3ZbKYDHMuje3JM0OsOUkDEO+gjSkSB42gzUVbbA+pNEeugRLBpJT2XiTa8VZ6pRdVD/y0DisF9N746/gfqUq8gAyYBErvcidVtcudg/UVT4hbtD6MTwtDnRJpK3NBTUr6LJQGnSPIMQxmqDCe2wYTwCPibMVqmmIHMK7skRxGprkJfy/udprmlGo7dIYs8N2E2DVm7kgpV9HN3Orj7Nd8IgBVANhTYfSweRed1LONDzG5vmnVSZbl1KyofxhikZhTav0eIDFsEruIjS0p8JiSenDvYEFDyx3c/3toOQUpbCExyyqaPQKFnldFSTfj3Yhc6gdTQpq5GnBYZCeQtsEO3dlWonNFMMybZv1IDdfmBvgUxZXoaILyUOfLHnNJDAXS3QzZdcfLVBzcojEf00mIa2Co028Lf35YP3DSYMaCUgw/tk49dIZXmxNRFu57BlIEsdf/rUbcYvUKvMMlEKwE+vQUoMQiVMMY2N9HVj5CLoPH
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:HE1PR07MB4441.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(396003)(39860400002)(376002)(366004)(136003)(346002)(230922051799003)(64100799003)(1800799012)(186009)(451199024)(38100700002)(66446008)(66476007)(66946007)(76116006)(64756008)(66556008)(99936003)(55016003)(316002)(54906003)(82960400001)(6916009)(6506007)(7696005)(478600001)(9686003)(8676002)(86362001)(38070700009)(41300700001)(8936002)(83380400001)(52536014)(44832011)(4326008)(26005)(33656002)(71200400001)(5660300002)(2906002)(122000001); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: n8r3Azd9Cu5rkmGMVooTqLAWhA4eL3evnJwViuNIO/dkomhw/vzAOqhtHY5mTOvCowTQu2PKkPhP3CZNjGfbMC7//mdxHd3On8PQ7KvUOKMV6tEVXjwL27H3HgyJpYT0xTit0oHQ8P8IooM2+02gG69qCPUfxmyCNBvTfBUjUoWfOkjJJwBbsA8aTJK12hECTXPUYOYmwLgHWhAq/dVGAnDrYgwlgDguxLA7C1Thr51PUEH6nwpNbVfWrn2YthlYrpuZHOZV630m46D9Vqtvgw43lEHp9pcsljCF28QZyFj5CTEhtLxCN9JPOPqpq+rfIb6ydlaTwDoEH1LO9/XxFuuqGJAhMGvSgtJNLTFYZpoZgkAs5tD3u8s4CTGCCW1TgqGrDr3/w7wS93UFBCEXq6lfbqL6TIWmsA0grkr2YWaU7mYS7MBD9boyXR98yy1MX/W3kg1OpsARNyn6LKDeBGQESFz5lmW6BOyieU6lLPx0dND6qjV05cAvfhMidyi2+FyzUqhzDjKwY3bMGkn3ip8yZ0EnAuJEBbS4IV4ogB9vsMC9ysM0NaeoUE5X7ZVn6MGhxjGCN1PHGCwZJfYbwVjMJCfcW9UusJ2SQzINe0MyYoy2beOTBRcVcO/GApjXjxCb/++KIzjaD6WpCbt8N4EYwdys+3+bz22NxUENLRqQ7OCf+WJpNKaCyg5Sr1M2sSDI9VMdaU3a9UliR4au7BY0jVNEEPADq6icdBGAXIcTwjS8LyaXyWWEoM7/pPc4XgGW6AQ2hb8xd1GkQ6pt5nhBnDucCzEEPvqicYHDfWkgrYbxjyKvhcAB/2jxx71A4/z71p9foBCW9ii7678OGP/eIZFzTuqDL0u1xYwcIE+1usfrPSBbMNsbIFEAWDMtX4PIcla2zhx4z8n0V3r0GF3EmAPxETFz66knneRa/VugzYqNth893bXxsepHOwfDlN293tj5/6NhLJC3wqBEFayxVhFjgi07j3nJ+EK0lQpoq40zMgdyMkSEVDduUT1QTEL+PgQia7L3bafafeHiYxOLGfiU8YNJoA1D+0e3VtGBe23Gd3WrS17HQLKu7z6Dk990YbDF7e8CnqACF4mRbEYsGQV/cN+e8kY/o/xaeOr7W6MSvMBqpAG4Pji/8/g6/wbtz6PvVjJcmlLmRXZG+H/ABdNsyAIGYGd2HX4/QrXSyvYWiKXqctVFNBNxu43E3hh0ZAkTspAfEoZwz/+JoHdRjFXlVVuFOuiGxWPBRpd6hc3VhTYUM5eQD/UthZfgCIXy94iOZdkUrdrGD2fm7YJN1Mz3H6msnnIRzYxeCR7dM+h5gEcqyCk18PXEVtu+vaLkGvIHVF+KzxXOS9XMIEmzx5Pso5CKjKDZBRi+UrgSv6jseJo4tLAiODe2UiR+zxSQoU8Ez/3F1PXmdLvBlZ+HyT2iDHcdQw93/7mpCCUadDVOC+BV4IQ5YwXoikvaMdzA7d5Awj/sOH3C0MEh3Eu4iQ8jk/OezDJbhwHqY2gSHoJvVOC7RulgJrSrk/I0bur7juhNa9gbpWVJsy7MnOENEe/yuACyUL1bBMkgyUgfA/Ikr85qaUh43CdrGFVCfU8gmA2RlnmEgUGIVs53ow==
Content-Type: multipart/signed; micalg="SHA1"; protocol="application/x-pkcs7-signature"; boundary="----=_NextPart_000_0035_01DA4571.DBF4B780"
MIME-Version: 1.0
X-OriginatorOrg: ericsson.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: HE1PR07MB4441.eurprd07.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b6e78e95-0cbc-4b4d-af81-08dc13783ad6
X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Jan 2024 14:10:28.3295 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 92e84ceb-fbfd-47ab-be52-080c6b87953f
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: Fi0symZd8ay/yyA7ZsmUFpD8PwZjP5vonr4NCW0Q70mucnNiIwdtkVqfCfyvZa8E1eLtEAr5cGYFTFmxcbYpC/wOO9iDoFKWVaNyOm+ER8E=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR07MB6772
Archived-At: <https://mailarchive.ietf.org/arch/msg/wish/BjpKv3GSTNOmAWF8g8AydOCdctk>
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: Fri, 12 Jan 2024 14:10:36 -0000

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.

> 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. 

>> 	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.

Regards,

Christer