Force JVB to use TURN servers

I have been trying to setup Jitsi-meet so that all media traffic to jvb only comes in via TURN. I have read all the possible documentation as well as threads and still not able to get the setup working for jvb. I was able to get it working for p2p mode, but not for jvb.

I have couple of questions based on my,

  1. The docs says that jvb traffic can be forced to a tcp-based TURN server which will then talk to jvb over udp. However, it is not clear if we can force the media using UDP TURN.
  2. I also noticed that with the new version of Jitsi-Meet have dropped the ‘useStunTurn’ flag and I am wondering whether I missed something with new version.

Here is what I have setup so far
/etc/prosody/conf.avail/meet2.XXXXXX.com.cfg.lua

turncredentials_secret = "some-secret";
turncredentials = {
  { type = "stun", host = "meet.XXXXX.com", port = "3478" },
  { type = "turn", host = "turn1.udp.XXXXXXXX.net", port = "35001", transport = "udp" },
};
 modules_enabled = {
        "bosh";
        "pubsub";
        "ping"; -- Enable mod_ping
        "speakerstats";
        "turncredentials";
        "conference_duration";
        "muc_lobby_rooms";
    }

/etc/jitsi/videobridge/sip-communicator.properties
org.ice4j.ice.harvest.DISABLE_AWS_HARVESTER=true
org.ice4j.ice.harvest.STUN_MAPPING_HARVESTER_ADDRESSES=meet-jit-si-turnrelay.jitsi.net:443

I couldn’t find anything on config.js to change (especially with new version), so am hoping that someone can point out obvious issue in the above config.

1 Like

This is udp, jvb connection is filtered in the client to use only turns which is tcp…

Thanks for pointing out the UDP filter. Is there no way to force a TURN/UDP to be used?

There is no point to add a relay udp server in ftont of udp relay server … you just add rtt and does not gain anything and one more server to scale … Just directly use jvb

The reason we need TURN servers is because many of our clients are on restrictive network which do not easily allow access to any server or port. We already have couple of TURN servers which are already whitelisted on these networks, and as we add new conferencing capabilities we want our clients to continue function using TURN/UDP so that we can still deliver acceptable quality.

We can use TURN/TCP as last resort but have seen too many issues with that on networks which are less than optimal. In our experience, using TURN/UDP even with its additional latency is still a much better solution than TURN/TCP and is way better than not having any media flowing.

I have been looking at the lib-jitsi-meet.js file and think that we can probably edit the file to insert TURN inside “iceServers:[ { } ]”, but dont want to go that route if it can be achieved via config itself.

Make sense … you are lucky, there is such option I had forgotten about it

That did the trick. Thank you very much.

We already have couple of TURN servers which are already whitelisted on these networks, and as we add new conferencing capabilities we want our clients to continue function using TURN/UDP so that we can still deliver acceptable quality.