[Wish] Proposal: Triggering ICE Restart

Adam Roach <adam@nostrum.com> Fri, 30 July 2021 22:04 UTC

Return-Path: <adam@nostrum.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 D01433A1357 for <wish@ietfa.amsl.com>; Fri, 30 Jul 2021 15:04:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.079
X-Spam-Level:
X-Spam-Status: No, score=-2.079 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, T_SPF_HELO_PERMERROR=0.01, T_SPF_PERMERROR=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nostrum.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 EZh7u5vpRIHh for <wish@ietfa.amsl.com>; Fri, 30 Jul 2021 15:04:42 -0700 (PDT)
Received: from nostrum.com (raven-v6.nostrum.com [IPv6:2001:470:d:1130::1]) (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 6A8013A1345 for <wish@ietf.org>; Fri, 30 Jul 2021 15:04:41 -0700 (PDT)
Received: from Zephyrus.local (76-218-40-253.lightspeed.dllstx.sbcglobal.net [76.218.40.253]) (authenticated bits=0) by nostrum.com (8.16.1/8.16.1) with ESMTPSA id 16UM4c8Y009725 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO) for <wish@ietf.org>; Fri, 30 Jul 2021 17:04:39 -0500 (CDT) (envelope-from adam@nostrum.com)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=nostrum.com; s=default; t=1627682679; bh=PefauDuNKz/tWXhgzZk/DZ7C0Rh+n4IWfvUwhmUJetE=; h=To:From:Subject:Date; b=WC4PpVZ6ubXLymVBQPcSI5FwR7ncZCmz711DW+6D8NnMYQoqSMHqOo+yDHoYd99Fm +9TWcrczg0dyq+VVjrgg2kyaSGKLpG7EX9Vq2JpvNrlM60kIVHLOCy8cZ9yrHEf0W0 kqAT9HJKvPIOQuFMLUjLT5ehSQWX48+LJZk2MDBA=
X-Authentication-Warning: raven.nostrum.com: Host 76-218-40-253.lightspeed.dllstx.sbcglobal.net [76.218.40.253] claimed to be Zephyrus.local
To: "wish@ietf.org" <wish@ietf.org>
From: Adam Roach <adam@nostrum.com>
Message-ID: <bd38b2af-a7a7-e992-ab46-a9fe4f06b305@nostrum.com>
Date: Fri, 30 Jul 2021 17:04:32 -0500
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:68.0) Gecko/20100101 Thunderbird/68.11.0
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/wish/7BVi2kr9wDd42yJGL-f4NNgyAhE>
Subject: [Wish] Proposal: Triggering ICE Restart
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: Fri, 30 Jul 2021 22:04:56 -0000

During today's meeting, Jonathan raised a question about whether the 
currently proposed PATCH mechanism is sufficient for triggering ICE 
restarts. The issue is that ICE restarts result in a new generation of 
ICE candidates, which necessitates new ufrags and passwords on both sides.

Looking at RFC 5789, it's pretty clear that PATCH is intended as an 
optimization of PUT rather than its own independent operation (e.g. look 
closely at the final paragraph of section 2). So one semantically 
consistent approach to ice restart would be for WHIP clients to send a 
PUT with a new offer rather than simply PATCHing in new candidates.

This approach has a lot of appeal for me because it lines up well with 
the model that Jonathan was describing (where we're basically mapping 
WISH operations pretty directly to JSEP operations): in JSEP, ICE 
restarts result in the generation of a whole new offer rather than 
simply a set of candidates.

So how would we feel about using PUT with a full SDP offer on the WHIP 
resource URL for ICE restarts? (Alternatively, we could use POST on that 
URL for an offer/answer exchange, to keep it consistent with session 
initiation -- I see minor pros/cons each way, but nothing decisive)

/a