To see if I can make Jitsi work on my Centos 7 VPS.
However, quite soon into the process, I got a 404 when following the link to determine a recent version: https://download.jitsi.org/jitsi-videobridge/linux
I know that CentOS is not a supported platform, but there should be at least some way to attempt manual install, shouldn’t there?
My issues seem to be resolved, some more problems I ran into while setting jitsi up:
Wrong hashes in package-lock.json for jitsi-meet.
I did a dirty workaround of removing the lockfile.
Old way of focus component is described. This gave me quite a headache. (client_proxy instead of regular prosody component)
Now I have an instance running after resolving a few issues. All server logs are error-silent, yet there is one more issue I seem to be unable to deal with - the javascript keeps crashing on CONFERENCE FAILED: conference.focusDisconnected.
The roster modification seems to have done the trick. I will definitely report back when I have the chance to test with someone. I will prepare a CentOS 7 guide on my website, so if you have a nice place where you’d like to share such a guide, I’d be happy to provide you with it for your amazing help.
I have one more issue. I can’t seem to get jitsi videobridge to connect to prosody. I managed to get jicofo to cooperate (chat works, jicofo log confirms the rooms are getting created etc.)
However, whatever I seem to do, there is no sign of jvb communicating with any other service. Jicofo seems to be trying to hint me when I create a second connection to the conference:
Jicofo 2022-03-11 22:01:11.516 WARNING: [33] BridgeSelector.selectBridge#181: There are no operational bridges.
Jicofo 2022-03-11 22:01:11.516 SEVERE: [33] [room=gladbreedsassertever@conference.jitsi.plch.xyz participant=670017b0] ParticipantInviteRunnable.doRun#187: Can not invite participant, no bridge available: 670017b0
Jicofo 2022-03-11 22:01:11.517 WARNING: [31] BridgeSelector.selectBridge#181: There are no operational bridges.
Jicofo 2022-03-11 22:01:11.517 SEVERE: [31] [room=gladbreedsassertever@conference.jitsi.plch.xyz participant=b3386847] ParticipantInviteRunnable.doRun#187: Can not invite participant, no bridge available: b3386847
This means both connection crash on “Error: something happened” and reconnect with 20 sec timeout.
Even the jvb log looks kinda dead:
JVB 2022-03-11 21:59:22.404 INFO: [15] VideobridgeExpireThread.expire#140: Running expire()
JVB 2022-03-11 21:59:22.804 INFO: [16] HealthChecker.run#171: Performed a successful health check in PT0S. Sticky failure: false
JVB 2022-03-11 21:59:32.804 INFO: [16] HealthChecker.run#171: Performed a successful health check in PT0S. Sticky failure: false
JVB 2022-03-11 21:59:42.804 INFO: [16] HealthChecker.run#171: Performed a successful health check in PT0S. Sticky failure: false
JVB 2022-03-11 21:59:52.804 INFO: [16] HealthChecker.run#171: Performed a successful health check in PT0S. Sticky failure: false
JVB 2022-03-11 22:00:02.804 INFO: [16] HealthChecker.run#171: Performed a successful health check in PT0S. Sticky failure: false
JVB 2022-03-11 22:00:12.804 INFO: [16] HealthChecker.run#171: Performed a successful health check in PT0S. Sticky failure: false
JVB 2022-03-11 22:00:22.403 INFO: [15] VideobridgeExpireThread.expire#140: Running expire()
JVB 2022-03-11 22:00:22.805 INFO: [16] HealthChecker.run#171: Performed a successful health check in PT0S. Sticky failure: false
JVB 2022-03-11 22:00:32.804 INFO: [16] HealthChecker.run#171: Performed a successful health check in PT0S. Sticky failure: false
JVB 2022-03-11 22:00:42.804 INFO: [16] HealthChecker.run#171: Performed a successful health check in PT0S. Sticky failure: false
JVB 2022-03-11 22:00:52.805 INFO: [16] HealthChecker.run#171: Performed a successful health check in PT0S. Sticky failure: false
JVB 2022-03-11 22:01:02.804 INFO: [16] HealthChecker.run#171: Performed a successful health check in PT0S. Sticky failure: false
JVB 2022-03-11 22:01:12.804 INFO: [16] HealthChecker.run#171: Performed a successful health check in PT0S. Sticky failure: false
JVB 2022-03-11 22:01:22.403 INFO: [15] VideobridgeExpireThread.expire#140: Running expire()
JVB 2022-03-11 22:01:22.805 INFO: [16] HealthChecker.run#171: Performed a successful health check in PT0S. Sticky failure: false
JVB 2022-03-11 22:01:32.804 INFO: [16] HealthChecker.run#171: Performed a successful health check in PT0S. Sticky failure: false
JVB 2022-03-11 22:01:42.804 INFO: [16] HealthChecker.run#171: Performed a successful health check in PT0S. Sticky failure: false
JVB 2022-03-11 22:01:52.804 INFO: [16] HealthChecker.run#171: Performed a successful health check in PT0S. Sticky failure: false
JVB 2022-03-11 22:02:02.804 INFO: [16] HealthChecker.run#171: Performed a successful health check in PT0S. Sticky failure: false
JVB 2022-03-11 22:02:12.804 INFO: [16] HealthChecker.run#171: Performed a successful health check in PT0S. Sticky failure: false
JVB 2022-03-11 22:02:22.403 INFO: [15] VideobridgeExpireThread.expire#140: Running expire()
JVB 2022-03-11 22:02:22.805 INFO: [16] HealthChecker.run#171: Performed a successful health check in PT0S. Sticky failure: false
JVB 2022-03-11 22:02:32.804 INFO: [16] HealthChecker.run#171: Performed a successful health check in PT0S. Sticky failure: false
JVB 2022-03-11 22:02:42.805 INFO: [16] HealthChecker.run#171: Performed a successful health check in PT0S. Sticky failure: false
Would you happen to have any directions on where to look?
Looks like the connection to the bridge is not properly set in jicofo.conf. The JVB bridge actually shows that the bridge is healthy. However, the xmpp connection between jicofo and jvb may not be configured properly. Check prosody log.
Mar 11 22:37:59 c2s296d6a0 info Client connected
Mar 11 22:37:59 c2s296d6a0 info Stream encrypted (TLSv1.2 with ECDHE-RSA-AES256-GCM-SHA384)
Mar 11 22:37:59 c2s296d6a0 info Authenticated as focus@auth.jitsi.plch.xyz
Mar 11 22:38:06 mod_bosh info New BOSH session, assigned it sid 'bc7aa2ed-5ba6-40e0-8a66-5f9169066631'
Mar 11 22:38:06 boshbc7aa2ed-5ba6-40e0-8a66-5f9169066631 info Authenticated as yptnm2iyfeuunvvc@jitsi.plch.xyz
Mar 11 22:38:17 mod_bosh info New BOSH session, assigned it sid '1069eb04-556a-4403-9e18-8d1ef9c241b9'
Mar 11 22:38:18 bosh1069eb04-556a-4403-9e18-8d1ef9c241b9 info Authenticated as naji0hfa31-gfyuj@jitsi.plch.xyz
Mar 11 22:38:19 bosh1069eb04-556a-4403-9e18-8d1ef9c241b9 info BOSH client disconnected: session close
Mar 11 22:38:20 boshbc7aa2ed-5ba6-40e0-8a66-5f9169066631 info BOSH client disconnected: session close
Mar 11 22:38:23 c2s33be2b0 info Client connected
Mar 11 22:38:27 c2s33be2b0 info Stream encrypted (TLSv1.3 with TLS_AES_256_GCM_SHA384)
Mar 11 22:38:31 c2s33be2b0 info Authenticated as jvb@auth.jitsi.plch.xyz
What is the best way to reconfigure jicofo or jvb, when compiled from git with maven?
Jicofo and Jvb (videobridge) are connecting to Prosody, now for Jicofo to see Jvb it must have a common room to meet. It’s usually named something like jvbbrewery@internal.auth.meet.example.com. You can examine Prosody hosts and rooms with the telnet interface..
Here is a script
DOMAIN="meet.example.com"
netcat localhost 5582 <<EOF | grep -aoP "(?<=jvbbrewery@internal.auth.${DOMAIN}/).*"
> for k, v in pairs(hosts["internal.auth.${DOMAIN}"].modules.muc.get_room_from_jid("jvbbrewery@internal.auth.${DOMAIN}")._occupants) do; print(v.nick.." "..v.role); end
bye
EOF
I managed to configure the room and both the accounts, both are able to join the room and can see each other there. Same issue persists.
How do I tell jicofo and jvb to use that room? Here is a text-shot (text screenshot) from Profanity (terminal xmpp client) that I used to debug this:
jvbbrewery [TLS] [online]
02:37:36 ! -> You have joined the room as focus, role: moderator, affiliation: owner Moderators
02:37:36 ! Room subject cleared focus
02:50:19 - Lost connection. jvb
02:50:29 - You are not currently connected. Participants
02:50:39 - Connection re-established. Visitors
-------------------------------------------------------------------------------------------------------
02:50:55 - jvb: test
02:50:57 - focus: test
Turns out videobridge nor jicofo was indeed connecting to brewery room. I solved this by reconfiguring in reference.conf in both repositories and rebuilding from source.
Thank you for you help, I have now a working instance.