Re: [Wish] Lecturing and WebRTC

Lorenzo Miniero <lorenzo@meetecho.com> Tue, 09 March 2021 17:14 UTC

Return-Path: <lorenzo@meetecho.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 E7A2B3A1413 for <wish@ietfa.amsl.com>; Tue, 9 Mar 2021 09:14:46 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.92
X-Spam-Level:
X-Spam-Status: No, score=-1.92 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, 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=aruba.it
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 w2qzqbJ9uZ50 for <wish@ietfa.amsl.com>; Tue, 9 Mar 2021 09:14:44 -0800 (PST)
Received: from smtpcmd03117.aruba.it (smtpcmd03117.aruba.it [62.149.158.117]) by ietfa.amsl.com (Postfix) with ESMTP id 6D67F3A1412 for <wish@ietf.org>; Tue, 9 Mar 2021 09:14:44 -0800 (PST)
Received: from lminiero ([2.232.93.8]) by Aruba Outgoing Smtp with ESMTPSA id JfwQlPrk61iGDJfwRl9NcJ; Tue, 09 Mar 2021 18:14:43 +0100
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=aruba.it; s=a1; t=1615310083; bh=HLEpsvMZwn5211musIF+yRfekq5/sN2DqxOn/oEQZAk=; h=Date:From:To:Subject:MIME-Version:Content-Type; b=lktBRTLFkEZBZHqgtTvUt4YuNP1CPvzTLYWFo1iwPR8nbs75ePfad4bjuIHmIeGsM YLcCzkqlXW9KAlLrDz1Rl2WrfG88bKvIlVCP9RJy79El2OVTkZp52INAt5XUQqRjP/ wmwuvxDuKH94SoYOfGF3NXZSB5NihkhtSmYgX/E10C9lj3Qyr+nx8ZuDFg/xW0yjxZ d3Jv3qRkmF5f6JXYjYI+25k+x4wC7mRQeLtR104umR6yvrtqsu9oXNcqfnb4qrNuSS cqyWKwFeCFqWFopWZuzTht0XkKzWbYb+r/SOYYRR+2sOo8Z7HF12SBgB/pc3sq1zV9 0JfY8+12hYz2A==
Date: Tue, 09 Mar 2021 18:14:42 +0100
From: Lorenzo Miniero <lorenzo@meetecho.com>
To: Juliusz Chroboczek <jch@irif.fr>
Cc: wish@ietf.org
Message-ID: <20210309181442.64e74666@lminiero>
In-Reply-To: <87y2ews1qm.wl-jch@irif.fr>
References: <874khktijl.wl-jch@irif.fr> <20210309173757.576dea4e@lminiero> <87y2ews1qm.wl-jch@irif.fr>
Organization: Meetecho
X-Mailer: Claws Mail 3.17.8 (GTK+ 2.24.33; x86_64-redhat-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain; charset="US-ASCII"
Content-Transfer-Encoding: 7bit
X-CMAE-Envelope: MS4wfH3Rle/dCUba2zWkNDSqSWyLWG7mrp6AsHit9bftSpZe63xG+EODIvRE13AKccMeyO0Thdum6+ImHKWmEWZZu9A9ryz6/JoBO0aG8TMX0JofuYnLk2SU FvfzXCiDWIG0lWlDPbP8R1LEdpYeWISa3hghnrqr1w+x7b0n///2Klug
Archived-At: <https://mailarchive.ietf.org/arch/msg/wish/4Ithsi3HZl5Zokj98M0n5ddBMmE>
Subject: Re: [Wish] Lecturing and WebRTC
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, 09 Mar 2021 17:14:47 -0000

Hi Juliusz,

a few more notes inline.


On Tue, 09 Mar 2021 17:58:25 +0100
Juliusz Chroboczek <jch@irif.fr> wrote:

> Hi Lorenzo,
> 
> May I have an autograph, please?
> 


:-)


> > shared the slides for a presentation you did on Galene [...]  I'll
> > have to see if the video of the presentation is available
> > somewhere.  
> 
> The slides are here:
> 
>   https://galene.org/galene-20210222.pdf
> 
> The raw video footage is here, but it's a mess (400MB tarfile, one
> unseekable WebM per stream):
> 
>   https://galene.org/galene-20210222.tar
>


Thanks! Unseekable works for me, I plan to watch it all :-)

 
> > but the different lifetimes for different streams assumes support
> > for renegotiations [...] In this case, it seems simpler to push
> > streams which are supposed to have different lifetimes as separate
> > "broadcasts",  
> 
> Yes, you could carry each stream within a separate session.  But it
> does still imply the need to renegotiate something, either the set of
> streams or the set of sessions.
> 


Yes, in this case I was talking about renegotiations on a specific
ongoing session: if you're creating a new one to start slides after you
already started your webcam, this is not touching other sessions that
existed already, but will be a completely separate one. As such, an
easier problem to solve than actually updating an existing session.


> > this means losing the ability of having everything on the same
> > PeerConnection  
> 
> You lose a few UDP ports, and exchange a few extra packets with your
> STUN server.  Am I missing anything?
> 


There may be more resources used on both client and server side in
general, but yes, more ports needed and additional overhead would be
the main "issues".


> > I think the main point discussed today was whether or not, as a WISH
> > client, you should be supposed to advertise [relayed] candidates,
> > either via trickle or as part of your SDP offer. Even if they're
> > not, if your WebRTC server is publicly reachable then it should
> > still be able to make use of them nevertheless, by discovering them
> > via prflx candidates.  
> 
> I'm not sure I follow.  Suppose you're on an Eduroam network, so the
> only outgoing traffic allowed is TCP/443 and TCP/1194.  You run your
> signalling server on 443, your TURN server on 1194.
> 
> Since the client cannot reach any UDP ports, how is it going to learn
> about the TURN server on port 1194 if it's not signalled explicitly?
> 
> -- Juliusz


No matter how you talk to the TURN server (TCP or TLS), the TURN server
itself will normally talk to the WebRTC server via UDP (once you tell
it which address to interact with, which you'll know from the SDP
answer in this case), acting as a media relay for you. As such,
assuming the server is publicly reachable, your client doesn't need to
do any UDP, it just needs to talk to the TURN server somehow: even if
you don't advertise those relay candidates, the TURN server will send
connectivity checks to the WebRTC server on your behalf, and since the
credentials in the STUN message are correct, the server will know that
the address it just received the check from is a potential candidate
for communication. These candidates discovered at runtime are called
"peer reflexive candidates", and are what would make the session work
even without any candidate in SDP/trickle.

Lorenzo

-- 
I'm getting older but, unlike whisky, I'm not getting any better
https://twitter.com/elminiero