-
Notifications
You must be signed in to change notification settings - Fork 7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TURNS support for Native App #6383
Comments
Cant confirm that. I blocked 10000/UDP for all devices - The native app works just fine! |
@ezraimanuel may you provide more detailed information? |
Hello, my apologies for late reply, many things going on lately. Yes about this issue, I'll try to explain the situation: Our environment:
Our implementation:
Implementation works fine. we tested using 3 different browsers (Chrome/Mozilla/Opera) on 2 laptops and 1 phone connecting to the conference. I see when they cannot connect to the Videobridge port, all clients are redirected to the external STUN/TURN server, I thinks this is how turn_credentials module expected to work. So no issue here. The problem is, when the same phone using native app from Google Play, it won't connect to the TURN/STUN server (from traffic monitor the phone still trying to connect to Videobridge port), as if it's the turn_credentials doesn't work on it. if the phone using mobile browser it works just fine. === another issue thank you, and i'm sorry my explanation is not clear enough. |
Seems like the Android app uses a builtin list of root CAs for The issue has been discussed over at the webRTC google group and @saghul has apparently been informed (?): https://groups.google.com/forum/#!topic/discuss-webrtc/4MmARU0XYqc A possible solution could be to include Mozilla's list of trusted root CAs instead of using Google list, which for some reason does not include the DST X3 CA needed to verify LetsEncrypt certificates. Links to the Mozilla CA list can be found at https://wiki.mozilla.org/CA/Included_Certificates As the WebRTC lib includes a script to build the Issues with |
Hi there, I revived the thread on the WebRTC Google Group as I thought it would be better than starting (yet) another one. I spent a few evenings investigating WebRTC's implementation and handling of TLS certificates verification, and my fear is that it might be too long before Jitsi gets to implement a similar system, given the limited resources of OSS. As mentioned in the thread above, I am happy to contribute a patch to WebRTC to add DST X3 and any other needed root CAs to ssl_roots.h. It'd be ideal if Jitsi could rely on the underlying OS' trust store or Mozilla NSS'. However, if that change is (understandably, for one reason or another) going to take months/years, maybe it's better to add the CAs to ssl_roots.h and update its content every so often? |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
Ouch, we were late :) |
For people ending up on this thread, this issue now also has a bug thread on Chromium bug-tracker, as that is where the source of the problem is (that is, if we don't change Jitsi Meet's dependencies): |
Any luck with this issue? |
I'm also affected. No LE certificates here, but a wildcard OV + chain from Actalis (italian CA). I checked inside the version of ssl_roots.h in webrtc v.94.0.0 and it seems very restrictive:
|
Can you check 98? I thought they had fixed this. |
v98.0.0 tarball (and zip) contains a Readme file only. |
https://github.com/jitsi/webrtc/blob/M98/rtc_base/ssl_roots.h Looks like it got modified on 2020 so no dice. I'd say we take Mozilla's CA store and covert it to that format. |
Yes, I guess it is the only viable option given the state of webrtc issue 11710. |
I'll try to ge it done for the 98 release. |
Update: I swapped the default ssl_roots.h in our M98 build with one generated from the Mozilla CA bundle: https://github.com/jitsi/webrtc/blob/a16f3fc17e43e4d32743da5a0f21517d8ff696ab/rtc_base/ssl_roots.h I'm upstreaming the change in this CL: https://webrtc-review.googlesource.com/c/src/+/253220 |
For supporting from out of your network set listening_ip=0.0.0.0 and external_ip=YOUR_PUBLIC_IP in /etc/turnserver.conf |
Ugh I forgot to close this one :-) We now bundle the Mozilla CA root so TURNS works out of the box. |
Hello,
Multiple browser based conference works and all traffic directed to TURN server that runs on TCP port 443 (thanks to turn_credentials). This is awesome. especially on environment behind firewall. (tested with multiple browser, multiple internet connections, and even Android Chrome, all video traffic are using TCP port 443)
But this can’t work with native Jitsi Meet app, it still needs to connect to UDP port 10000, which is the default. can you update the app to be able to use the TURN server like the browser?
thanks!
The text was updated successfully, but these errors were encountered: