Well now, this proves where, once again, this unfortunate combined Spreed/Talk category is a major mess. It really would make things much easier for everybody if the devs could finally extricate the two from each other. This mangled mix, sometimes containing conflicting instructions, sows utter confusion.
Nextcloud Talk is really easy to install. You just need to enable the app from the Nextcloud App Store and everything will work out of the box
It continues with:
There are some scenarios (users behind strict firewalls / symmetric NATs) where a TURN server is needed.
Iām reasonably certain that neither of these scenarios are applicable to my installation.
Or, am I completely missing the boat here? Are those people who experience the full āTalkā functionality really only able to do so because theyāve installed a separate TURN server?
With just a couple of caveats, yes, unfortunately every internet-facing installation needs not just STUN but also TURN.
Strict Firewalls
This would presumably be firewalls/routers that donāt enable UPnP hole-punching. Since thatās enabled on most consumer routers by default, youāre probably right that it doesnāt apply to your case. Itās worth checking for if any of your users are on a business network, though.
Symmetric NAT
If you are running an internet-facing installation that isnāt exclusively IPv6, this most likely applies to you. Regardless of whether your server is behind NAT, nearly all of your users will be. WebRTC is supposed to let the clients connect directly to each-other, but with NAT in front of each user, thatās pretty tough to do.
See this excellent how-to on the forums for more information. If youāre using the Nextcloud VM, thereās also the script they mention in the README you linked.
Indeed, the excellent how-to is excellent. But only for those who need to set-up TURN & STUN. Iām still not convinced that I must.
In spite of the documentation stating that this āworks out of the boxā I suppose that eventually I may have to take your word for this, even though it currently seems dubious in light of what the devs have haphazardly written. What would make me much more confident in your advice is if the author of āworks out of the boxā can chime in and tell us exactly what āworking out of the boxā means.
To me, āworks out of the boxā suggests that one doesnāt have to create another box to get this working! Does this not mean the same to you?
It works out of the box if you want texting, or if you want video chat between people that arenāt behind NAT, or are on the same internal network. Itās potentially a single-box solution, unlike services that require some sort of video mixing server-side, but youāre right that itās a quite misleading statement that it āworks out of the boxā, since it doesnāt for most uses.
I donāt know who the author of that statement is, but various people have filed issues and posted comments that agree with me that TURN is quite often required. A quick search turns up these:
@Hevii_Guy
It works out of the box within local networks, but if your Nextcloud Talk server is used throughout www, a TURN server is the only way to assure that video chat works with every participant from any location (including e.g. mobile internet etc).
If there is only a small number of potential participants with a fixed location (and network setup), then you can simply try if the default STUN is sufficient in all these cases, but I tried many different cases and indeed in every single case I tested, where a NAT was between the peers, TURN was required.
Setting up the server is much more daunting than I had anticipated. The instructions posted by various people (particularly @mactrent) are much appreciated. However, most seem to be disjointed and āworks in progressā which make them very difficult to follow. Iād be happy to help clean things up if I can eventually resolve my particular problem. However, for now, the headaches and frustration simply arenāt worth the pain; Iāll continue to rely on Signal.
It works when Iām using a laptop (built-in camera), but not on a desktop (Windows or Linux).
And it works on others sites that require camera, like chatroulette for example.