From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mail.toke.dk; spf=pass (mailfrom) smtp.mailfrom=irif.fr (client-ip=2001:660:3301:8000::1:2; helo=korolev.univ-paris7.fr; envelope-from=jch@irif.fr; receiver=) Received: from korolev.univ-paris7.fr (korolev.univ-paris7.fr [IPv6:2001:660:3301:8000::1:2]) by mail.toke.dk (Postfix) with ESMTPS id 92D3F7C8143; Sat, 9 Jan 2021 14:34:09 +0100 (CET) Received: from potemkin.univ-paris7.fr (potemkin.univ-paris7.fr [IPv6:2001:660:3301:8000::1:1]) by korolev.univ-paris7.fr (8.14.4/8.14.4/relay1/82085) with ESMTP id 109DY4me026900 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Sat, 9 Jan 2021 14:34:05 +0100 Received: from mailhub.math.univ-paris-diderot.fr (mailhub.math.univ-paris-diderot.fr [81.194.30.253]) by potemkin.univ-paris7.fr (8.14.4/8.14.4/relay2/82085) with ESMTP id 109DY4rL017594; Sat, 9 Jan 2021 14:34:04 +0100 Received: from mailhub.math.univ-paris-diderot.fr (localhost [127.0.0.1]) by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTP id 88CF112059; Sat, 9 Jan 2021 14:34:04 +0100 (CET) X-Virus-Scanned: amavisd-new at math.univ-paris-diderot.fr Received: from mailhub.math.univ-paris-diderot.fr ([127.0.0.1]) by mailhub.math.univ-paris-diderot.fr (mailhub.math.univ-paris-diderot.fr [127.0.0.1]) (amavisd-new, port 10023) with ESMTP id 9pBamUHGJc7X; Sat, 9 Jan 2021 14:34:03 +0100 (CET) Received: from pirx.irif.fr (unknown [78.194.40.74]) (Authenticated sender: jch) by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTPSA id 0CFEB12057; Sat, 9 Jan 2021 14:34:03 +0100 (CET) Date: Sat, 09 Jan 2021 14:34:02 +0100 Message-ID: <87wnwmnsj9.wl-jch@irif.fr> From: Juliusz Chroboczek To: Toke =?ISO-8859-1?Q?H=F8iland-J=F8rgensen?= In-Reply-To: <87im87gdy3.fsf@toke.dk> References: <875z485swt.wl-jch@irif.fr> <87wnwnha9w.fsf@toke.dk> <87v9c77e20.wl-jch@irif.fr> <87turrh6y2.fsf@toke.dk> <87mtxj789e.wl-jch@irif.fr> <87o8hzgr4j.fsf@toke.dk> <871rev6w4a.wl-jch@irif.fr> <87im87gdy3.fsf@toke.dk> User-Agent: Wanderlust/2.15.9 (Almost Unreal) Emacs/27.1 Mule/6.0 MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=ISO-8859-1 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (korolev.univ-paris7.fr [IPv6:2001:660:3301:8000::1:2]); Sat, 09 Jan 2021 14:34:05 +0100 (CET) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (potemkin.univ-paris7.fr [194.254.61.141]); Sat, 09 Jan 2021 14:34:04 +0100 (CET) X-Miltered: at korolev with ID 5FF9B0CC.000 by Joe's j-chkmail (http : // j-chkmail dot ensmp dot fr)! X-Miltered: at potemkin with ID 5FF9B0CC.000 by Joe's j-chkmail (http : // j-chkmail dot ensmp dot fr)! X-j-chkmail-Enveloppe: 5FF9B0CC.000 from potemkin.univ-paris7.fr/potemkin.univ-paris7.fr/null/potemkin.univ-paris7.fr/ X-j-chkmail-Enveloppe: 5FF9B0CC.000 from mailhub.math.univ-paris-diderot.fr/mailhub.math.univ-paris-diderot.fr/null/mailhub.math.univ-paris-diderot.fr/ X-j-chkmail-Score: MSGID : 5FF9B0CC.000 on korolev.univ-paris7.fr : j-chkmail score : . : R=. U=. O=. B=0.000 -> S=0.000 X-j-chkmail-Score: MSGID : 5FF9B0CC.000 on potemkin.univ-paris7.fr : j-chkmail score : . : R=. U=. O=. B=0.000 -> S=0.000 X-j-chkmail-Status: Ham X-j-chkmail-Status: Ham Content-Transfer-Encoding: quoted-printable Message-ID-Hash: DYTZXSCUI6MA72WOHYQ3I2YLRMRCKIUD X-Message-ID-Hash: DYTZXSCUI6MA72WOHYQ3I2YLRMRCKIUD X-MailFrom: jch@irif.fr X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header CC: galene@lists.galene.org X-Mailman-Version: 3.3.2 Precedence: list Subject: [Galene] Re: Logging List-Id: =?utf-8?q?Gal=C3=A8ne_videoconferencing_server_discussion_list?= Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: > So in this case, how is using a TURN server different than just having > Galene itself listen on a bunch of UDP ports and offer each of those? Short answer: Gal=E8ne needs hundreds or even thousands of ports. TURN c= an use a single port, which you can pick such that it's accessible from your clients. Long answer. Gal=E8ne uses WebRTC. WebRTC uses RTP. RTP transmits a collection of tracks. RTP can work in two modes: - port multiplexing: use the UDP port to associate packets with tracks; - SSID multiplexing: multiplex over a single UDP 5-uple, and use data i= n the RTP header to associate packets with tracks (this is called "bundling" in WebRTC). Now, there are two limitations: 1. Pion is unable to use a single local UDP port for multiple RTP sessions: it uses a distinct UDP port for every RTP session, even if sessions have dinstinct remote addresses; 2. Gal=E8ne uses a distinct RTP session for every stream (pair of audio and video tracks); in other words, Gal=E8ne ony bundles at most one video and one audio track. Fixing (2) is not a high priority, since it would make the code way more complex (bundling is fragile, there are some limitations to what you can do when bundling streams with different configurations and some limitatio= ns to how you can mutate a bundle without tearing it down). It might cause issues with AQMs (is it a good idea to use the same 5-uple for different videos?), but you're the specialist here. -- Juliusz