I am using nextcloud to keep track of small activities with a group I am in.
We are all scattered across the planet, and NC was a good option with plenty of features.
The first time I tried it, the other person and I I use the cell phone app, and Talk video just worked.
The other two people, well, it’s never worked, We tried both cell phone and web applicatons. In the cell phone. It just did not work. When we tried the we application, after “connecting”, it eventually has a message saying that I should contact the administration and that we might need a STUN(or was is TURN) server.
Clearly id is not always working. But, why did one work, and one not work?
I am hoping for some hints/explinations as to why it doe snot work. How many ot check this, and if the TURN/STUN server is the only answer?
short explanation: users behind firewall and/or NAT can not connect with each other directly as they don’t know/not allowed to because of the firewall/NAT. The role of the STUN/TURN server is discover the public ip of specific device (STUN) and relay the traffic in case direct connection is impossible (TURN).
The topic is far too complex to explain it in few words of the forum post. Please use familiarize yourself with WebRTC and you will see there is no way to connect users from different networks without STUN/TURN.
I finally was able to find some one to help me with the STUN/TURN server.
I am not sure how this should be done/tested, so maybe I can get some feedback.
He set up an external turn/stun server in the cloud before he installed it in my local network.
The calls/video chats still did not go through.
His explanation of why it is likely not working: up to 4 calls, Talk should work fine with out a STUN/TURN server. Beyond 4 callers, the STUN/TURN server is needed.
Since mine does not work with 2 callers, then there is an issue with my NC.
Can I have some feedback to see if this sounds right?
Talk and other communication apps suffer from the fact devices behind firewalls and NAT can’t reach each other… the solution is STUN/TURN which acts as a proxy/relay offering connectivity for such clients… the question is not number of clients but more the technology you want to “beat”… in general behind NAT you always need need STUN/TURN! even for 2 users!
OK then, when the person set up a TURN/STUN server for a test on an outside server in the cloud, and it did not work, is it because the stun server is outside my local network? Does the STUN/TURN server need to be local?
AS well, the first 2- 3 times I used Talk with the same person, it worked. It has not worked since.
Just a question: if Talk can never work with out a STUN/TURN server, should this not be mentioned in the documents? Or, during installing, a mention about needing one if you plan on using Talk? It seems to be a requirement, not an option.
Technically there is no obligation to have a STUN/TURN… If participants can reach each other without restrictions e.g. firewalls but in real life there is always a firewall between the clients… even the host firewall might prevent direct connections so STUN/TURN is more less a must for every WebRTC system.
I would recommend you (or your helper) to familiarize yourself with concepts of STUN/TURN - follow and understand the references as well before you continue
it can be located everywhere - you only need to fulfill the requirements - the server must be directly reachable from the internet using lot of ports - in other words if you run it locally you need to configure port forward hundreds of ports from the internet to your STUN/TURN server, further it needs enough constant bandwidth (so far I remember 1.5MBit/s Down/Up for each participant for good quality).
I run my TURN server next to Nextcloud - it’s not hard but you really need to understand how things belong together before you try and error because TURN with it’s generous connectivity requirements could be security risk