openBridgeChannel websocket or datachannel

I’m confused on this one. Which is the prefered method?

Whats the advantages / disadvanatages of using websocket over bosh/datachannel?

The documenation states jwt is not supported when using websockets. is that still the case?

Where is that doc about jwt and websockets?

Websockets are preffered, meet.jit.si is using those at the moment.

@damencho

JWT token authentication currently works only with BOSH connections.

fwiw, after posting; I tested after configuring websockets on both for prosody and videobridge2, and get the following Error verifying token err:not-allowed, reason:token required

iirc, this worked prior to setting up websockets.

I’m not sure what was that about need @Pawel_Domas to chime in, if he remembers.

But it is working with websockets as we are currently using that in production.

Did you add all the needed prosody modules? https://github.com/jitsi/jitsi-meet/blob/master/resources/prosody-plugins/mod_smacks.lua

Did you add the patch https://github.com/jitsi/jitsi-meet/blob/master/resources/prosody-plugins/mod_websocket_smacks.patch ?

@damencho
thanks…
I did not have the stream management module enabled. I have enabled it

I am not familar on how to apply the patch. could you point me in the right direction on that please?
Thanks

nevermind…I think i figured it out! :smiley:

1 Like

Can you please provide with some details where to add ‘smacks’ ? And where and how to apply patch.

patch /usr/lib/prosody/modules/mod_websocket.lua /var/www/html/prosody-plugins/mod_websocket_smacks.patch

And add ‘smacks’ to /etc/prosody modules_enabled

Hello @speedy01
Is your problem solved ?
I made the same changes (patching mod_websocket + adding smacks and websocket to modules_enabled in the genral section) but I still have general: Error verifying token err:not-allowed, reason:token required in prosody logs.

is there any missing step ?

Do you have this: https://github.com/jitsi/jitsi-meet/blob/a4ca24705680fa24336d6c77b438906cfef409d1/resources/prosody-plugins/mod_auth_token.lua#L51?

1 Like

Hi @damencho, Yes I have the line module:hook_global("websocket-session", init_session);
in mod_auth_token.lua. But still getting the same error

Here’s my config :
Nginx


        ### xmpp websockets
        location = /xmpp-websocket {
                proxy_pass http://prosody-server:5280/xmpp-websocket;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "Upgrade";
                proxy_set_header Host $http_host;
                tcp_nodelay on;
        }

Prosody VirtualHost “my.jitsi.com” (/etc/prosody/conf.d/my.jitsi.com.cfg.lua)

consider_websocket_secure = true;
cross_domain_websocket = true;
        modules_enabled = {
            "bosh";
            "pubsub";
            "ping";
            "speakerstats";
            "conference_duration";
            "pinger";
            "smacks";
            "websocket";
        }

Meet (config.js)

// Websocket URL
websocket: 'wss://my.jitsi.com/xmpp-websocket',
1 Like

There’s also a patch to prosody required to emit “websocket-session”. Maybe you can figure it out by following this thread: https://github.com/jitsi/docker-jitsi-meet/pull/502

1 Like

Thank you very much @Pawel_Domas
It works fine after adding the following line in mod_websocket.lua

module:fire_event("websocket-session", { session = session, request = request });

Oh I forgot this is not out yet, sorry and thanks Pawel for chiming in.
That should be in prosody 0.11.6 when it is out, I think.

1 Like

Hi guys,

There seems to be a bunch of different configs and info regarding websockets at the moment, including the PR that @damencho mentioned above which has yet to be merged. https://github.com/jitsi/docker-jitsi-meet/pull/502

I tried setting up webscokets on my previously working self-hosted installation and it’s horribly broken now.

I’m going to purge everything and re-install everything from scratch (I use your debian unstable packages), but before I spend hours tinkering I’d like to know what documentation is currently valid for websockets in jitsi-meet. Is this readme still valid? https://github.com/jitsi/jitsi-videobridge/blob/master/doc/web-sockets.md

Does Prosody still need patching as suggested in the PR thread? What’s the current nginx conf to use for websockets?

Thanks

1 Like

Can someone please point to an up to date doc or tutorial explaining how to set up websockets (including the right nginx.conf)?

Thanks

3 Likes