Problem with screen share when videobridge is on another server

Hello,
I have currently configured 3 servers : 1 with all the components and 2 additional servers which are only running vidobridge, in order to scale.
When there are many conferences, they spread well between the 3 servers.
But, when one of the 2 additional vidobridge servers is used, screen share does not work well. A user can share its screen but the other won’t see anyhting either on chrome or Firefox. But if they’re using the Android app it works…
Any idea to solve this please ?

It may be related in…

Thank you for your respond ! I will check that.

I’ve performed and checked what was mentionned but it does not solve my problem yet. I have to further investigate…

When you open a meeting on the problem jvbs, you do not see any console errors? And in the network tab you see the ws connections to the colibri-ws url?

Hello !
If I deasactivate the videobridge on the main server, things seem to work now with the other videobridge servers. Which is enough for me for now to provide the service.
Il will do deeper investigation when users are not connected, in orderto test all the configurations and I’ll tell you.
Thanks very much for your help.

This suggests that your bridge websocket is configured incorrectly. If you check your browser’s js console like @damencho suggested, you will see errors consistent with this finding. You need to configure bridge websocket correctly for the remote JVBs (and subsequently, screensharing) to work. Refer back to @emrah’s post above:

After other tests it is not stable… When some people share it works, while it works not with other…
I do not have JS errors, but I have to check what goes on network now…
I’ve done what is in the post, except the harvester IP at the end of the comments.

What’s strange is that if I discomment the second colibri config then the sharing does not work any more on the main server…

colibri (JVB) websockets for jvb1

location ~ ^/colibri-ws/default-id/(.*) {
    proxy_pass http://127.0.0.1:9090/colibri-ws/default-id/$1$is_args$args;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    tcp_nodelay on;
}

# Ajout DDO 20220131 pour JVB supplémentaires
# colibri (JVB) websockets for additional JVBs
# location ~ ^/colibri-ws/([0-9.]*)/(.*) {
#    proxy_pass http://$1:9090/colibri-ws/$1/$2$is_args$args;
#    proxy_http_version 1.1;
#    proxy_set_header Upgrade $http_upgrade;
#    proxy_set_header Connection "upgrade";
#    tcp_nodelay on;
#}

Did you check while hosting a meeting on any of the remote JVBs (the ones not on the main server)?

The problem is when a meeting is hosted on a JVB that is not on the main server…
I am pretty sure it worked before…

So I added the proxy pass in NGINX.
I configured the server-id in jvb.conf.

I also tried to disable the firewall.

My servers are directly exposed to the Internet : no NAT.

But it still does not work : no camera, nore screen share…

In the console of the browser I see :
BridgeChannel.js:83 WebSocket connection to ‘wss://visio.oze-edu.fr/colibri-ws/95.142.160.66/a9464541cafd3e04/6f28c116?pwd=6tpioufhemojpqrt9irlc7hq7e’ failed:

95.142.160.66 is the IP Address of my JVB server.
What am I missing ?

So you do have js errors then as noted earlier.
Share your complete nginx config as well as your jvb.conf.

Here is my configuration :

I’ve just change the JVB_SECRET with *******

And yes you’re right: I have JS errors that I did not identify before

TCP/9090 is not accessible

curl -vv http://95.142.160.66:9090/

Because I have stopped it… Since it does not work well…
If I start it it returns a 404