2nd Videobridge - BridgeChannel.js:83 WebSocket connection failed:

Good Morning,

Earlier this year we created a server with JWT authentication. We successfully managed to add a working second videobridge.

We have created a new server with the updated version of Jitsi Meet and unfortunately now we are receiving the error.

BridgeChannel.js:83 WebSocket connection to ‘wss://buddy.sessions-ebookbuddy.org/colibri-ws/default-id/bfb0f1ac77548be1/5031e1cd?pwd=96bpkmpsb8pu7n0vo6jokp00l’ failed when I turn off the videobridge on the initial JMS server. We used AWS both for the one earlier this year as well as the one now that has the error.

After the initial error is thrown, we receive the follow error repeatedly. [modules/RTC/BridgeChannel.js] <p._send>: Bridge Channel send: no opened channel.

In the jvb logs, we get SEVERE: [16] [confId=bfb0f1ac77548be1 epId=0bfc5626 gid=43286 stats_id=Frieda-e94 conf_name=a@conference.buddy.sessions-ebookbuddy.org] Endpoint$scheduleEndpointMessageTransportTimeout$1.run#622: EndpointMessageTransport still not connected.

It appears as if the video and audio are still being served but the error is concerning because I am not sure if the connection will be stable or if it will cause any problems.

We have worked on trying to fix the error for over a week, and unfortunately still no luck.

Any advice would be greatly appreciated.

Bridge websocket is not working. You have to configure nginx for the remote JVB.

Thank you for the response, in the FAQ it says delete… 60-jitsi-meet.conf which is already not present.

The nginx location

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;
}

is also already present. I will keep trying. If anyone else has any ideas, I am at a complete loss.

Thank you

You need a second colibri block in your Nginx config for the additional JVBs. The current one works only for the local JVB.

It’s also needed to open TCP/9090 on the JVB hosts

So if you stop jvb on the host where nginx is this will happen. As you can see the nginx rule tries to connect to jvb on localhost and that is stopped.

Thank you everyone. We have managed to get rid of the first error. Now when both are videobridges are on, if we connect to the first one all is well. However if the meeting connects to the second one, we get [[modules/RTC/BridgeChannel.js] <l._send>: Bridge Channel send: no opened channel]. We are working through the forum posts to see if we can find a solution for that one.

Set different server-id on the the jvbs:

Set server-id = "jvb1" and server-id = "jvb2" and have two rules:

location ~ ^/colibri-ws/jvb1/(.*) {

and

location ~ ^/colibri-ws/jvb2/(.*) {

Thank you damencho! I will give that a shot. You are awesome. It will give me something to keep me busy until the sun comes up!

Thank you emrah! We will try that.

Hello

I try to run JITSI with a VM (lets’ day it is named A) where one finds nginx, jitsi-meet, prosody, jicofo (no JVB on A) and with one to many JVB on different other VM (let’s say JVB VM 1 is named B). I must separate jitsi components network trafic from public network trafic, so there is a private dedicated network for jitsi components trafic between VM. For example all XMPP trafic should go through the private network. The global infrastructure is not connected to internet. It is purely internal to the company.

If i understand well, trafic for colibri-websocket is proxied by nginx to JVB tcp:9090 but this is trafic between components and as such can be hidden to the user. The user web browser will never try to connect directly to JVB tcp:9090. Am i right?

I have to confess that all network trafics in jitsi are a bit hard to understand when you are a newcomer to webrtc… i might have missed some documentations. Is there somewhere some explanation about what the trafics are during a jitsi conference? I mean something that explains “it starts with a http/s connection to nginx which initiates that xmpp request then ask a websocket to do so, another websocket to do some other thing, then it is responded that which makes it connect to this udp port, etc.”.

Thanks in advance.

Thierry

1 Like