Re: [Wish] How to detect a crashed client?
Nils Ohlmeier <nils.ohlmeier@8x8.com> Fri, 10 September 2021 20:42 UTC
Return-Path: <nils.ohlmeier@8x8.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 47A1E3A1A64
for <wish@ietfa.amsl.com>; Fri, 10 Sep 2021 13:42:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 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, 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 (1024-bit key)
header.d=8x8.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 yTHT9Q9UDgIt for <wish@ietfa.amsl.com>;
Fri, 10 Sep 2021 13:42:09 -0700 (PDT)
Received: from mail-pg1-x52f.google.com (mail-pg1-x52f.google.com
[IPv6:2607:f8b0:4864:20::52f])
(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 6D6FF3A1A63
for <wish@ietf.org>; Fri, 10 Sep 2021 13:42:09 -0700 (PDT)
Received: by mail-pg1-x52f.google.com with SMTP id k24so2893016pgh.8
for <wish@ietf.org>; Fri, 10 Sep 2021 13:42:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=8x8.com; s=googlemail;
h=from:message-id:mime-version:subject:date:in-reply-to:cc:to
:references; bh=1AopH8dQH/4CoSns9Ygx/YG3ynoHbu3SJve0Aih25iI=;
b=Ac5o7HH9ercWkeY1zHqU1nYt5mrfEGjxkbbfrGzvgd8h34efim0vaRMMjzUKE2FnVB
o+//rYI118+eEU5EKWfLa2vMmHB1ZsgS8VlqOpGJOu7usmmVTQXAYUKQNZsHnDkakkfs
WHfg/kfhsDM9NwjQdA2Jw2WfMwAEYSPeoj1Kk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:from:message-id:mime-version:subject:date
:in-reply-to:cc:to:references;
bh=1AopH8dQH/4CoSns9Ygx/YG3ynoHbu3SJve0Aih25iI=;
b=YMhRK+5XrooUHLttoRTU4k5k34Hlpcb8wkk8uPiWNMy8vYJEQnbDF9vzz8In37pNwz
EKcMICyw1jXZ4gtGa204sGxXlSwO0rVwvMh4sT+sHy8Yhf4voemn+x32A3F0emr8jqiL
vvTN94W7bkvOTbBUa/oLbAZsM3d/FtaaT7hvKNODGr0kjUzLs02AkP3Q1x8U95jMXE+K
5jXYImYUmazmfbnz9HnfuxuZKPNUlgt7pRs8biqBzCo9TqLn0MRY+6db+eJgolweSl49
SVpt8aK4pzyhvVzCMGesMMzyRfPNaYXslQh3LYoABnT2x5MYTwa7xMpj5HeYWpDh1ERU
Dwog==
X-Gm-Message-State: AOAM53234785nXysrQApD8XqVxHwgoW4eGkX8jo9wE6NQCQf9XEOMd04
PvsQIsuPxgMuHa/FvpupthCQrg==
X-Google-Smtp-Source: ABdhPJzg/Gsfm/j76hVFJ4/Wvp66ktuzw3f1EMuw5+8FAT+8XZsZiypaOBmKZHXeaFXSmas3xYLwZw==
X-Received: by 2002:a62:2703:0:b0:42b:5319:cbbc with SMTP id
n3-20020a622703000000b0042b5319cbbcmr7593679pfn.66.1631306527456;
Fri, 10 Sep 2021 13:42:07 -0700 (PDT)
Received: from smtpclient.apple ([2601:647:4600:3f31:e995:ec98:b630:560a])
by smtp.gmail.com with ESMTPSA id m64sm6085443pga.55.2021.09.10.13.42.06
(version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
Fri, 10 Sep 2021 13:42:06 -0700 (PDT)
From: Nils Ohlmeier <nils.ohlmeier@8x8.com>
Message-Id: <760D1DAA-AA48-4893-9B1B-0904FB9D8062@8x8.com>
Content-Type: multipart/alternative;
boundary="Apple-Mail=_8AF0DFCF-AF51-4BAC-92C9-FFB1FEDB78D8"
Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.100.0.2.22\))
Date: Fri, 10 Sep 2021 13:42:05 -0700
In-Reply-To: <CA+ag07aZkSHyuGTt-Gkn7AxboAoexSZTUQCi+nBCjyYTyCVmXw@mail.gmail.com>
Cc: Juliusz Chroboczek <jch@irif.fr>,
WISH List <wish@ietf.org>
To: Sergio Garcia Murillo <sergio.garcia.murillo@gmail.com>
References: <877dfphj5g.wl-jch@irif.fr>
<CA+ag07Y0A9ZbfH9QPEWUS2LjFA4hF7T1kuYc-fCUMLW+VdCRww@mail.gmail.com>
<875yv9hgrf.wl-jch@irif.fr> <7DEC2328-BB66-449B-A778-BAF8DDB9BFC8@8x8.com>
<CA+ag07aZkSHyuGTt-Gkn7AxboAoexSZTUQCi+nBCjyYTyCVmXw@mail.gmail.com>
X-Mailer: Apple Mail (2.3654.100.0.2.22)
Archived-At: <https://mailarchive.ietf.org/arch/msg/wish/4mWR-3wvlywXqFMnIhHBQYIo7mc>
Subject: Re: [Wish] How to detect a crashed client?
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, 10 Sep 2021 20:42:14 -0000
> On Sep 9, 2021, at 13:10, Sergio Garcia Murillo <sergio.garcia.murillo@gmail.com> wrote: > El jue, 9 sept 2021 a las 19:52, Nils Ohlmeier (<nils.ohlmeier@8x8.com <mailto:nils.ohlmeier@8x8.com>>) escribió: > [With my individual contributor hat on] > > I think Sergios description above is actually not fully correct. > > With ICE consent the client and the server both run their own independent ICE consent checks. > So the client sends consent requests and server answers them. And the server sends consent requests which the client has to answer. > If the client crashes, the servers consent checks will get no responses and then after 30 seconds can delete the PeerConnection. > > That's true in case of full ice servers, but servers may be ice lite which shouldn't send ice requests. Good point. Although I want to highlight for folks not that familiar with ICE specs that technically nothing forbids an implementer from claiming his server is an ice-lite implementation, but then to send out consent requests once the connection is established. I would argue that this still makes your implementation considerably easier compared to a full ICE stack. > > > But yes if the server then would delete the PeerConnection right after consent timed out I assume it would make it hard to execute an ICE restart if the client requests that N seconds later. This is different from the browser case, where the ICE consent timeout only changes the ICE connection state, but does not directly affect the lifetime of the PeerConnection itself. > > I would suggest that instead of messing with the timers for ICE consent on the two different sides of the connection - BTW for browser endpoints the JS client can’t change the ICE consent timeout value - the spec should mandate that server endpoints need to keep the PeerConnection around for another N seconds after ICE consent timed out. > > I am not sure if we should mandate it in the spec, setting a timeout grace period once the ice timer has expired could be implementation specific. The client has no way of knowing the exact timeout on the server side, so it would have the same effect to raise the timeout server side, or have a grace period deleting the session server side. > > Also, in case of ice restart the behaviour would be the same, the whip client would have to try an ice restart, and if the session is not found, do a full restart (based reconnection policies on client side). > > IMHO, doing an ice restart after 30s or 40s of disconnection does not offer any benefit over full restart, but others may not think alike. I fully agree on the 30s here. So maybe the easiest is then to let the client side decide when to give up with ICE consent. And it needs to be prepared to handle a 404 on it’s ICE restart request, to then do a full restart of the connection. Best Nils
- [Wish] How to detect a crashed client? Juliusz Chroboczek
- Re: [Wish] How to detect a crashed client? Sergio Garcia Murillo
- Re: [Wish] How to detect a crashed client? Juliusz Chroboczek
- Re: [Wish] How to detect a crashed client? Nils Ohlmeier
- Re: [Wish] How to detect a crashed client? Sergio Garcia Murillo
- Re: [Wish] How to detect a crashed client? Juliusz Chroboczek
- Re: [Wish] How to detect a crashed client? Sergio Garcia Murillo
- Re: [Wish] How to detect a crashed client? Nils Ohlmeier
- Re: [Wish] How to detect a crashed client? Sergio Garcia Murillo
- Re: [Wish] How to detect a crashed client? Christer Holmberg
- Re: [Wish] How to detect a crashed client? Nils Ohlmeier
- Re: [Wish] How to detect a crashed client? Christer Holmberg
- Re: [Wish] How to detect a crashed client? Juliusz Chroboczek
- Re: [Wish] How to detect a crashed client? Christer Holmberg
- Re: [Wish] How to detect a crashed client? Juliusz Chroboczek
- Re: [Wish] How to detect a crashed client? Christer Holmberg
- Re: [Wish] How to detect a crashed client? Sergio Garcia Murillo
- Re: [Wish] How to detect a crashed client? Christer Holmberg
- Re: [Wish] How to detect a crashed client? Adam Roach