This is the clients not establishing websocket to the bridge.
Stream resume feature is used for the xmpp signaling when it is over websocket and not over bosh.
In other words, there can be two communications over websocket signaling to reach prosody and communication with the bridge.
The websocket to the bridge. Check js console logs to verify that is the problem … you can open and the network tab to see the errors you got and start from there .
I think that you are trying to run 2 videobridges on the same computer. That is not possible (unless you use virtual machines or containers, having different IPs). That’s your bad gateway, there is no process listening on port 9091.
No let me describe my topology. I have 2 computers.
1 of them has nginx, jms and jvb1. The second one has only jvb for secodary video bridges.
Comp1: y.y.y.1 private ip & x.x.x.1 public ip
Comp2: y.y.y.2 private ip & x.x.x.2 public ip
My aim is to take active speaker icon from all video bridges. By the way I take it only from jvb1 running on same machine with jms. İf I stop jvb1 and start jvb2, the media is working but no active spelader megaphone and blue shadow.
What can I change on my nginx running on the first computer?
I now realize that your configuration was lifted out the websockets.md file, but it says:
This configuration allows two jitsi-videobridge instances to run on the same
machine, which is useful while testing Octo.
so yes it’s possible to run 2 videobridges on the same machine - but it’s not a production setup, it’s for testing. And in your case you have 2 different computers, so a real IP address should be used.
Really the migration to websockets FAQ is a bit light on this kind of configuration since in this case passing data between the nginx installed on the main JM computer and the secondary jvb should be on a protected (internal or vpn) network, because by default it’s unencrypted. You can crypt it but you need to handle certificates, and probably install nginx on the secondary jvb computers with reverse proxying and I have never even thought of going there.
Encryption between the JVB and JMS doesn’t matter for me.
I just want to take the active speaker icon from all video bridges in any way that provides.
I changed my config and now getting “failed: Error during WebSocket handshake: Unexpected response code: 200”
turncredentials = {
{ type = "stun", host = "meet.mydomain", port = "3478" },
{ type = "turn", host = "meet.mydomain", port = "3478", transport = "udp" },
{ type = "turns", host = "meet.mydomain", port = "5349", transport = "tcp" }
};
On the firewall
the opened ports: 80,442,10000,5349,5222
80 and 443 are forwarded to reverse proxy the to jitsi VM
10000, 5349 and 5222 are forwarded directly to jitsi VM
Ngnix reverse proxy Config
location / {
proxy_pass http://192.168.1.79;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 180;
proxy_redirect http://192.168.1.79 https://meet.mydomaine;
#newly add for xmpp websocket
proxy_set_header Connection "upgrade";# added to support websocket when jitsi use it
proxy_set_header Upgrade $http_upgrade;# added to support websocket when jitsi use it
tcp_nodelay on;
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
proxy_http_version 1.1;
proxy_max_temp_file_size 0;#n upstream response is buffered to a temporary file
#/path/to/nginx/proxy_temp
}