Scalable Setup - Multiple Front Ends - Single Video Bridge

Hi,
Is it possible to connect multiple jitsi meet front ends to one single video bridge connected to the front ends via VPN.
example.
Jitsi Meet1: front1.jitsi.com
Jitsi Meet2: front2.jitsi.com
Jitsi Meet3: front3.jitsi.com
Jitsi Video Bridge1 Connected to JM1 by VPN on: 192.168.10.10
Jitsi Video Bridge1 Connected to JM2 by VPN on: 192.168.100.10
Jitsi Video Bridge1 Connected to JM3 by VPN on: 192.168.101.10

The video bridge1 does not have any Public IP, all the three Jitsi Meet front ends have public ips

Is this possible? if so what should be the Sip communicator properties on the Videobridge.

JVB has to be publicly accessible. If sitting in a private network, it must have its port mapped to a public IP.

surprisingly it worked without a public ip and did not even need a VPN.

This is what I did, on JM1 copied the SIP communication properties and pasted it on VB1, and kept the nick unique
on JM1 config named the shard and referenced the same name in VB1 sip file.
Followed above process for JM2 and JM3

everything worked out of the box. Now when i stop VB1 the JM1 is connected to self VB, and if I stop VB only on JM1 it connects to VB1

If I do multiple meetings, I see one meeting goes to remoteip on JM1, and second goes to VB1

It sounds like your JM1 actually has its own local JVB, from what you’re saying. If so, what you’ve attempted to do is loadbalancing, but it’s incomplete. And although your VB1 ‘works’ when you stop the JVB on your JMS, you’ll find that both JVBs will not work at the same time. Try to host a meeting with 3 participants, open your browser console and share your findings.

Yes that’s the first thing I always check.

Created 4 participants and video / audio for all 4 worked.

Stopped jvb on jitsi meet instance and everyone connected on jvb1.

Then I stopped jvb1 and started jitsimeet jvb and they all were connected to it and all videos working

Then I turned on both jvb’s and connected 4 devices first to one meeting… and then created another meeting with 4 more devices.
First meeting landed on jvb1 and second one on the jitisi meet jvb

No issues with Audio or Video.

I will share the logs again once I am back at testing.

Yes my primary JM does have a local JVB.

Hi,
The log file @Freddie

meeting.artecoms.online-1619704692180.log (335.2 KB)

BridgeChannel.js:83 WebSocket connection to 'wss://localhost/colibri-ws/default-id/ad151762710c7686/46bf10fa?pwd=6fg2piij64r6tnlokctmb289rt' failed:

Just as I suspected. This has to do with your websocket configuration though.
I’m curious: where exactly is your JVB1 located? It has a private IP address, but where exactly are you running it from?

JVB1 one is located at my residence and has a private IP from my home router.

BridgeChannel.js:83 WebSocket connection to ‘wss://localhost/colibri-ws/default-id/ad151762710c7686/46bf10fa?pwd=6fg2piij64r6tnlokctmb289rt’ failed:

However, I don’t see any issue with video or audio.

That’s why it ‘works’ - it’s not in the same network as the JMS. And even though you see a private IP on it, it’s actually using your router’s public IP.

When you host a meeting with 3 participants, check the video quality and resolution. Also check the stats (in your connection indicator). There are issues.

However, there is no forwarding on my router’s public IP that is enabled.

When you host a meeting with 3 participants, check the video quality and resolution. Also check the stats (in your connection indicator). There are issues.

Any particular one that i should watch for, or what do you recommend as the right setup?
I can connect the home server to my dedicated server via VPN and have a static ip port forwarded to it.
and have these two defined in the video bridge.
org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=<My.VPN.Local.IP>
org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=<Public.IP.Address of the server>

Would the above make a difference in terms of the issues?

@Freddie any recommendations?

You would have had to open port 1000/udp in your firewall and forwarded the port in your router for it to work at all.

You don’t need these definitions anymore. Search the forum for how to configure JVB websockets, there are several steps involved (nginx, jvb.conf).

Thank you Freddie for taking the time to reply

Port 10000/UDP is already open on the firewall.

Will search on the same.

From what i read was websockets require a url and localhost wouldnt work, so I would need a Public IP and a domain pointing to the jitsi instance.

Correct me if I read the config incorrectly.