[Wish] STUN/TURN server configuration
Sergio Garcia Murillo <sergio.garcia.murillo@gmail.com> Tue, 21 September 2021 10:42 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 D614E3A0A86
for <wish@ietfa.amsl.com>; Tue, 21 Sep 2021 03:42:13 -0700 (PDT)
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 TPfte3pJvXvC for <wish@ietfa.amsl.com>;
Tue, 21 Sep 2021 03:42:08 -0700 (PDT)
Received: from mail-pg1-x532.google.com (mail-pg1-x532.google.com
[IPv6:2607:f8b0:4864:20::532])
(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 BD7453A0A85
for <wish@ietf.org>; Tue, 21 Sep 2021 03:42:08 -0700 (PDT)
Received: by mail-pg1-x532.google.com with SMTP id h3so20298839pgb.7
for <wish@ietf.org>; Tue, 21 Sep 2021 03:42:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
h=mime-version:from:date:message-id:subject:to;
bh=m007Xs8NIJqSk3S0qR/lvodCRBAqiouo9kLOtmUSKqQ=;
b=btVIlCq3dBs1spQZUQZ3tYe6gpfOMWSalXACoUCrJJqbQdG/bWZuFTpFZw+2K1eJVc
8tFvz9SxJSbfC9qPLEPFMwFCVWh7nxQTdhUeSAvsEM6nTJQhOr2yd+LFi89EuysnY53s
C1mAnyhb2nSrJZ7jGPyYzSmcOlaAz0CSSEzuL9AjYi00LJD0uo6SPLhzE7FbAit/KEjJ
ulgfAGv2V/Df/j++jrSl5wbRZfiB4khL4a5m5aoz5ArW8DuNXZw7yPIP6RENB8xtLVJ7
641USBI1A3OphvFBh6vuTytgOsCcvUXqrGOJ63bL/C/w6DKRtZ/bfwJLbv0PPgeUY/9K
RzKQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:mime-version:from:date:message-id:subject:to;
bh=m007Xs8NIJqSk3S0qR/lvodCRBAqiouo9kLOtmUSKqQ=;
b=Jf2ZErEWkTiDnodTE5QjxDlmQQDRKuKYxjBuokOKWDDfgcbFaWE0HsIwH+UDZAIcJJ
lNbACfZ3xbTlpUeGiBEWH9ouKhX9ld4KrQIzl4LpsTAa7DKmBsZUQpacK0mwR2+sI4ZY
9tOgqRdmxSSFvgw9F6C/PH6ny4/IAtT1+X4swwqq2v1FuthkJere6WKNmEFysQ+oYOCA
9iIPfL/N10ip344QnIM1elZdMdbSipmv/THqeVncrmjFQXG5VtkuubC0bPrSlML0sUiI
t5scBZT9Pwpjh1hR8Y6JBZJuV6KIAzNoDkMYAjZ+3LEJMjQu6CKBNmNX/npqI6xt0EGX
0l1w==
X-Gm-Message-State: AOAM531O0/1OJ5LRxxpThEDPN4ZIi2qQOyegTvvYpPMcHWmIrMXql9v/
NDs3IaKlm8/4Oa1WWLZ5kh5jjSZIpKMDfeT0lI3CcVQqm90=
X-Google-Smtp-Source: ABdhPJzs2XWmcx98kRz8YdjFhcAmD3oTRVNs18TuZxlcQTZBWL9sUUXDnUknXn/Mw4YPhqrJcMyV4tcv0Mk2JveBiMg=
X-Received: by 2002:a63:f241:: with SMTP id d1mr27552062pgk.424.1632220927336;
Tue, 21 Sep 2021 03:42:07 -0700 (PDT)
MIME-Version: 1.0
From: Sergio Garcia Murillo <sergio.garcia.murillo@gmail.com>
Date: Tue, 21 Sep 2021 12:41:56 +0200
Message-ID: <CA+ag07ah6FzfrbMGkULbZ5s1CTUgWqa-ge_c2tjHbEqDwhHSig@mail.gmail.com>
To: WISH List <wish@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000091a45605cc7f0cb0"
Archived-At: <https://mailarchive.ietf.org/arch/msg/wish/mXAsgP27WGTVaX53bWTo9AX18U0>
Subject: [Wish] STUN/TURN server configuration
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: Tue, 21 Sep 2021 10:42:14 -0000
Hi all, One of the topics not covered yet on the draft is what to do with the stun/turn server configuration for the whip client. Ideally, we don't want to have to configure a new set of url credentials in order to do so, and we definitely want to avoid having to configure them manually on the client. The options that we have available are: 1- Retrieving it before the SDP offer is generated and the HTTP PUT is sent: 1a- Using a well known url based on the domain of the whip endpoint url, that is if the url of the endpoint is https://whip.example.org/enpoint/ the url would be something like https://whip.example.org/.well-known/ice-server-config as per rfc5785 1b- Using a prefetch request to the resource url (either an OPTIONS or GET) to retrieve the url of the turn server configuration 1c- Using a GET request to the whip resource to retrieve directly the turn server config 2-Retrieving the info after the SDP offer is generated and HTTP PUT is sent. This is in theory supported by the w3c spec (by updating the pc configuration via https://www.w3.org/TR/webrtc/#dom-rtcpeerconnection-setconfiguration) and according to JSEP ( https://datatracker.ietf.org/doc/html/rfc8829#section-4.1.18) it shouldn't trigger a ice restart as the ice gathering has not been started. so it is possible to do the following steps: create pc without ice server config create offer send HTTP PUT with sdp offer get response with sdp answer retrieve turn server config update pc config set local description set remote description However, I am not sure if the implementation of the setconfiguration is available on all browsers and other webrtc implementations. FWIW, chrome actually requires an ice restart if you update the turn server configuration regardless of the ice gathering phase. If we go that route we could either 2a - return the url for gathering the http config on a Link header in the 202 response to the HTTP PUT request 2b - return directly the configuration in a mixed-type body 2c- return each turn server url + params each one on a different link header like : Link: turn:turn.example.net; rel="urn:ietf:params:whip:ice-server"; username="user"; credential: "myPassword"; credential-type: "password"; I am personally in favor of option 1a in order to reduce roundtrip times, although I like the elegance of option 2c (even if it could cause problems to implement) What are your views? Best regards Sergio
- [Wish] STUN/TURN server configuration Sergio Garcia Murillo
- Re: [Wish] STUN/TURN server configuration Lorenzo Miniero
- Re: [Wish] STUN/TURN server configuration Adam Roach
- Re: [Wish] STUN/TURN server configuration Sergio Garcia Murillo