Authentication isn't working!

Hi there!

Thanks to the community here for the software and the awesome contributions of the community members answering questions etc.

I have a Jitsi server setup and working but the auth part isn’t working.

  • Ubuntu 20.04
  • jitsi-meet 2.0.5765-1 all WebRTC JavaScript video conferences
  • jitsi-meet-prosody 1.0.4900-1 all Prosody configuration for Jitsi Meet
  • jitsi-meet-turnserver 1.0.4900-1 all Configures coturn to be used with Jitsi Meet
  • jitsi-meet-web 1.0.4900-1 all WebRTC JavaScript video conferences
  • jitsi-meet-web-config 1.0.4900-1 all Configuration for web serving of Jitsi Meet
  • jitsi-videobridge2 2.1-478-gc6da57bd-1 all WebRTC compatible Selective Forwarding Unit (SFU)

The usernames/passwords work but the UI sticks on Obtaining session-id and the following console errors are shown:

Logger.js:154 2021-04-19T20:52:40.476Z [features/authentication] authenticateAndUpgradeRole failed {authenticationError: "not-authorized", message: "not authorized user domain"}
o @ Logger.js:154
(anonymous) @ actions.native.js:59
Promise.then (async)
(anonymous) @ actions.native.js:54
(anonymous) @ index.js:11
(anonymous) @ middleware.js:29
(anonymous) @ middleware.js:32
(anonymous) @ middleware.js:31
(anonymous) @ middleware.web.js:31
(anonymous) @ middleware.any.js:22
(anonymous) @ middleware.js:67
(anonymous) @ middleware.js:43
(anonymous) @ middleware.js:61
(anonymous) @ middleware.js:83
(anonymous) @ middleware.js:71
(anonymous) @ middleware.js:78
(anonymous) @ middleware.js:39
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:38
(anonymous) @ middleware.js:33
(anonymous) @ middleware.web.js:24
(anonymous) @ middleware.any.js:93
(anonymous) @ middleware.js:77
(anonymous) @ middleware.web.js:20
(anonymous) @ middleware.js:44
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:148
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:36
(anonymous) @ middleware.js:33
(anonymous) @ middleware.js:177
(anonymous) @ middleware.js:39
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:27
(anonymous) @ middleware.web.js:20
(anonymous) @ middleware.js:42
(anonymous) @ middleware.js:149
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:60
(anonymous) @ middleware.js:44
(anonymous) @ middleware.js:49
(anonymous) @ middleware.js:28
(anonymous) @ middleware.js:12
(anonymous) @ middleware.js:39
(anonymous) @ middleware.js:35
(anonymous) @ middleware.web.js:42
(anonymous) @ middleware.any.js:102
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:19
(anonymous) @ middleware.web.js:33
(anonymous) @ middleware.js:91
(anonymous) @ middleware.js:103
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:15
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:74
(anonymous) @ middleware.js:63
(anonymous) @ middleware.js:198
(anonymous) @ middleware.web.js:109
_onLogin @ LoginDialog.js:150
_onSubmit @ AbstractDialog.js:117
_onSubmit @ StatelessDialog.js:242
(anonymous) @ usePlatformLeafEventHandler.js:60
f @ react-dom.production.min.js:15
_ @ react-dom.production.min.js:15
(anonymous) @ react-dom.production.min.js:16
E @ react-dom.production.min.js:16
A @ react-dom.production.min.js:17
x @ react-dom.production.min.js:17
D @ react-dom.production.min.js:17
jn @ react-dom.production.min.js:81
ce @ react-dom.production.min.js:285
An @ react-dom.production.min.js:83
Tn @ react-dom.production.min.js:84
Dn @ react-dom.production.min.js:84
t.unstable_runWithPriority @ scheduler.production.min.js:18
Vr @ react-dom.production.min.js:120
se @ react-dom.production.min.js:285
xn @ react-dom.production.min.js:82
Show 55 more frames
Logger.js:154 2021-04-19T20:52:40.568Z [JitsiMeetJS.js] <Object.getGlobalOnErrorHandler>:  UnhandledError: [object Object] Script: null Line: null Column: null StackTrace:  n/a
o @ Logger.js:154
getGlobalOnErrorHandler @ JitsiMeetJS.js:619
window.onunhandledrejection @ middleware.js:127
ForeignSidesVolunteerPatiently:1 Uncaught (in promise) {authenticationError: "not-authorized", message: "not authorized user domain"}
2021-04-19T20:52:40.578Z [modules/xmpp/strophe.ping.js] <d.stopInterval>:  Ping interval cleared
Logger.js:154 2021-04-19T20:52:40.578Z [modules/xmpp/xmpp.js] <P.connectionHandler>:  (TIME) Strophe disconnected:	 12941.265000030398
Logger.js:154 2021-04-19T20:52:40.962Z [modules/xmpp/moderator.js] <l.setFocusUserJid>:  Focus jid set to:  undefined
Logger.js:154 2021-04-19T20:52:40.962Z [modules/xmpp/moderator.js] <l.createConferenceIq>:  Session ID: null machine UID: 89c20c4057399d1422b3f7f839859c98
Logger.js:154 2021-04-19T20:52:41.028Z [modules/xmpp/moderator.js] <l._allocateConferenceFocusError>:  Unauthorized to start the conference <iq xmlns=​"jabber:​client" from=​"focus.meet.civicrm.community" type=​"error" id=​"46d6e2e1-f0f6-4075-b609-b7f4e313f098:​sendIQ" to=​"ifeas1dsxskhtr58@guest.meet.example.community/​ol_yBpfC">​…​</iq>​
o @ Logger.js:154
l._allocateConferenceFocusError @ moderator.js:349
(anonymous) @ moderator.js:291
(anonymous) @ strophe.umd.js:2716
run @ strophe.umd.js:1875
(anonymous) @ strophe.umd.js:3157
forEachChild @ strophe.umd.js:830
_dataRecv @ strophe.umd.js:3146
_onRequestStateChange @ strophe.umd.js:5012
XMLHttpRequest.send (async)
d @ strophe.umd.js:5123
_processRequest @ strophe.umd.js:5137
_throttledRequestHandler @ strophe.umd.js:5294
_onIdle @ strophe.umd.js:4901
_onIdle @ strophe.umd.js:3881
flush @ strophe.umd.js:2599
flush @ XmppConnection.js:342
(anonymous) @ moderator.js:297
l.allocateConferenceFocus @ moderator.js:283
(anonymous) @ ChatRoom.js:198
join @ ChatRoom.js:191
ae.join @ JitsiConference.js:523
(anonymous) @ conference.js:310
setTimeout (async)
_onConferenceFailed @ conference.js:308
a.emit @ events.js:152
a.emit @ events.js:152
l._allocateConferenceFocusError @ moderator.js:357
(anonymous) @ moderator.js:291
(anonymous) @ strophe.umd.js:2716
run @ strophe.umd.js:1875
(anonymous) @ strophe.umd.js:3157
forEachChild @ strophe.umd.js:830
_dataRecv @ strophe.umd.js:3146
_onRequestStateChange @ strophe.umd.js:5012
Logger.js:154 2021-04-19T20:52:41.046Z [conference.js] <ee._onConferenceFailed>:  CONFERENCE FAILED: conference.authenticationRequired

By authentication, you mean secure domain setup, right?

If yes, verify if you have configured it properly.

If the answer is yes again, check if you are using the correct password. The password would be saved in /var/lib/prosody/your-jitsi-meet-domain/accounts

cfg.lua:

I have removed the secrets from this paste.

plugin_paths = { "/usr/share/jitsi-meet/prosody-plugins/" }

-- domain mapper options, must at least have domain base set to use the mapper
muc_mapper_domain_base = "meet.civicrm.community";

turncredentials_secret = "";

turncredentials = {
    { type = "stun", host = "meet.civicrm.community", port = "3478" },
    { type = "turn", host = "meet.civicrm.community", port = "3478", transport = "udp" },
    { type = "turns", host = "meet.civicrm.community", port = "5349", transport = "tcp" }
};

cross_domain_bosh = false;
consider_bosh_secure = true;
-- https_ports = { }; -- Remove this line to prevent listening on port 5284

-- https://ssl-config.mozilla.org/#server=haproxy&version=2.1&config=intermediate&openssl=1.1.0g&guideline=5.4
ssl = {
    protocol = "tlsv1_2+";
    ciphers = "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384"
}

VirtualHost "meet.civicrm.community"
    -- enabled = false -- Remove this line to enable this host
    authentication = "internal_hashed"
    -- Properties below are modified by jitsi-meet-tokens package config
    -- and authentication above is switched to "token"
    --app_id="example_app_id"
    --app_secret="example_app_secret"
    -- Assign this host a certificate for TLS, otherwise it would use the one
    -- set in the global section (if any).
    -- Note that old-style SSL on port 5223 only supports one certificate, and will always
    -- use the global one.
    ssl = {
        key = "/etc/letsencrypt/live/meet.civicrm.community/privkey.pem";
        certificate = "/etc/letsencrypt/live/meet.civicrm.community/fullchain.pem";
    }
    speakerstats_component = "speakerstats.meet.civicrm.community"
    conference_duration_component = "conferenceduration.meet.civicrm.community"
    -- we need bosh
    modules_enabled = {
        "bosh";
        "pubsub";
        "ping"; -- Enable mod_ping
        "speakerstats";
        "turncredentials";
        "conference_duration";
        "muc_lobby_rooms";
    }
    c2s_require_encryption = false
    lobby_muc = "lobby.meet.civicrm.community"
    main_muc = "conference.meet.civicrm.community"
    -- muc_lobby_whitelist = { "recorder.meet.civicrm.community" } -- Here we can whitelist jibri to enter lobby enabled rooms

VirtualHost "guest.meet.civicrm.community"
    authentication = "anonymous"
    c2s_require_encryption = false
    modules_enabled = {
        "bosh";
        "pubsub";
        "ping"; -- Enable mod_ping
        "speakerstats";
        "turncredentials";
        "conference_duration";
        "muc_lobby_rooms";
    }

Component "conference.meet.civicrm.community" "muc"
    storage = "memory"
    modules_enabled = {
        "muc_meeting_id";
        "muc_domain_mapper";
        "muc_mam";
        --"token_verification";
    }
    admins = { "focus@auth.meet.civicrm.community" }
    muc_room_locking = false
    muc_room_default_public_jids = true

-- internal muc component
Component "internal.auth.meet.civicrm.community" "muc"
    storage = "internal"
    modules_enabled = {
        "ping";
    }
    admins = { "focus@auth.meet.civicrm.community", "jvb@auth.meet.civicrm.community" }
    muc_room_locking = false
    muc_room_default_public_jids = true
    muc_room_cache_size = 1000

VirtualHost "recorder.meet.civicrm.community"
   modules_enabled = {
       "ping";
   }
   authentication = "internal_plain"

VirtualHost "auth.meet.civicrm.community"
    ssl = {
        key = "/etc/prosody/certs/auth.meet.civicrm.community.key";
        certificate = "/etc/prosody/certs/auth.meet.civicrm.community.crt";
    }
    authentication = "internal_plain"

Component "focus.meet.civicrm.community" "client_proxy"
    target_address = "focus@auth.meet.civicrm.community"
    component_secret = ""

Component "speakerstats.meet.civicrm.community" "speakerstats_component"
    muc_component = "conference.meet.civicrm.community"

Component "conferenceduration.meet.civicrm.community" "conference_duration_component"
    muc_component = "conference.meet.civicrm.community"

Component "lobby.meet.civicrm.community" "muc"
    storage = "memory"
    restrict_room_creation = true
    muc_room_locking = false
    muc_room_default_public_jids = true

config.js

Has the line:

anonymousdomain: 'guest.meet.civicrm.community',

sip-communicator.properties:

Has the line:

org.jitsi.jicofo.auth.URL=XMPP:meet.civicrm.community

Users are created (and deleted/recreated and the passwords are correct!)

We are using a slightly customised version of the jitsi-meet repo to update logos etc. But this is up-to-date with the current release.

Do you see any errors in Prosody?

Looks good. Try with “internal_plain” in place of “internal_hashed” and see if it works.

prosody.err:

Apr 20 08:34:16 portmanager     error   Error binding encrypted port for https: No certificate present in SSL/TLS configuration for https port 5281
Apr 20 08:34:16 portmanager     error   Error binding encrypted port for https: No certificate present in SSL/TLS configuration for https port 5281
Apr 20 08:34:16 guest.meet.civicrm.community:muc_lobby_rooms    error   lobby not enabled missing main_muc config

prosody.log:

Apr 20 08:34:21 boshfeada279-a712-4dcf-a7e6-f07926aa9c90        info    Authenticated as arlg4rdaru_o-aiq@guest.meet.civicrm.community
Apr 20 08:34:27 boshfeada279-a712-4dcf-a7e6-f07926aa9c90        info    BOSH client disconnected: session close
Apr 20 08:34:27 c2s55bea0cc3540 info    Client connected
Apr 20 08:34:27 c2s55bea0cc3540 info    Stream encrypted (TLSv1.2 with ECDHE-RSA-AES128-GCM-SHA256)
Apr 20 08:34:27 c2s55bea0cc3540 info    Authenticated as focus@auth.meet.civicrm.community
Apr 20 08:34:32 mod_bosh        info    New BOSH session, assigned it sid '4bb72dba-5541-44f0-bf6e-2e4b2d438e99'
Apr 20 08:34:32 bosh4bb72dba-5541-44f0-bf6e-2e4b2d438e99        info    Authenticated as yh92wljo59svjpnn@guest.meet.civicrm.community
Apr 20 08:35:04 mod_bosh        info    New BOSH session, assigned it sid 'e1b26fc9-eaac-443c-9d8b-2ec2a29d50c9'
Apr 20 08:35:04 boshe1b26fc9-eaac-443c-9d8b-2ec2a29d50c9        info    Authenticated as mikey@meet.civicrm.community
Apr 20 08:35:05 boshe1b26fc9-eaac-443c-9d8b-2ec2a29d50c9        info    BOSH client disconnected: session close

It forces me to recreate the users (i.e I get unknown user until I recreate the user) then I get the same behaviour.

Hope you have tried restarting all services. If not, try doing that.

A few times, restarted the entire server a few times as well :slight_smile:

I think I have very same problem.
Details can be found here
Still can’t authenticate via JWT in new stable version.

@MikeyMJCO try solution from here

Here is the issue Cannot start conferences anymore if LDAP Auth is active with latest stable 5765 · Issue #1018 · jitsi/docker-jitsi-meet · GitHub
And here is a fix Update jicofo by tob123 · Pull Request #1019 · jitsi/docker-jitsi-meet · GitHub

So we’re also “bare metal” not docker. I’ve added that to jicofo.conf - just checking that this is fine:

jicofo {
  client-proxy = "focus.meet.civicrm.community"
}

After adding this and restarting jicofo no change.

That should be focus@auth.meet.civicrm.community

Changed alas:

2021-04-21T15:29:15.385Z [modules/xmpp/ChatRoom.js] <new E>:  Joined MUC as foreignsidesvolunteerpatiently@conference.meet.civicrm.community/86421ce1
Logger.js:154 2021-04-21T15:29:15.385Z [modules/xmpp/moderator.js] <l.createConferenceIq>:  Session ID: null machine UID: 89c20c4057399d1422b3f7f839859c98
Logger.js:154 2021-04-21T15:29:15.542Z [modules/xmpp/strophe.jingle.js] getting turn credentials with extdisco:2 failed, trying extdisco:1 <iq xmlns=​"jabber:​client" type=​"error" to=​"mikey@meet.civicrm.community/​pS4G1fzo" id=​"d17b8885-9eb0-47d7-a735-724ecb91ace1:​sendIQ" from=​"meet.civicrm.community">​…​</iq>​
o @ Logger.js:154
(anonymous) @ strophe.jingle.js:313
(anonymous) @ strophe.umd.js:2716
run @ strophe.umd.js:1875
(anonymous) @ strophe.umd.js:3157
forEachChild @ strophe.umd.js:830
_dataRecv @ strophe.umd.js:3146
_onRequestStateChange @ strophe.umd.js:5012
XMLHttpRequest.send (async)
d @ strophe.umd.js:5123
_processRequest @ strophe.umd.js:5137
_throttledRequestHandler @ strophe.umd.js:5290
_onIdle @ strophe.umd.js:4901
_onIdle @ strophe.umd.js:3881
(anonymous) @ strophe.umd.js:5257
setTimeout (async)
_send @ strophe.umd.js:5256
send @ strophe.umd.js:2583
sendIQ @ strophe.umd.js:2740
sendIQ @ XmppConnection.js:498
(anonymous) @ moderator.js:425
l.authenticate @ moderator.js:424
(anonymous) @ authenticateAndUpgradeRole.js:106
a.emit @ events.js:152
connectionHandler @ xmpp.js:343
_stropheConnectionCb @ XmppConnection.js:295
_changeConnectStatus @ strophe.umd.js:3011
_onSessionResultIQ @ strophe.umd.js:3705
run @ strophe.umd.js:1875
(anonymous) @ strophe.umd.js:3157
forEachChild @ strophe.umd.js:830
_dataRecv @ strophe.umd.js:3146
_onRequestStateChange @ strophe.umd.js:5012
XMLHttpRequest.send (async)
d @ strophe.umd.js:5123
_processRequest @ strophe.umd.js:5137
_throttledRequestHandler @ strophe.umd.js:5290
_onIdle @ strophe.umd.js:4901
_onIdle @ strophe.umd.js:3881
(anonymous) @ strophe.umd.js:5257
setTimeout (async)
_send @ strophe.umd.js:5256
send @ strophe.umd.js:2583
_establishSession @ strophe.umd.js:3675
_onResourceBindResultIQ @ strophe.umd.js:3644
run @ strophe.umd.js:1875
(anonymous) @ strophe.umd.js:3157
forEachChild @ strophe.umd.js:830
_dataRecv @ strophe.umd.js:3146
_onRequestStateChange @ strophe.umd.js:5012
XMLHttpRequest.send (async)
d @ strophe.umd.js:5123
_processRequest @ strophe.umd.js:5137
_throttledRequestHandler @ strophe.umd.js:5290
_onIdle @ strophe.umd.js:4901
_onIdle @ strophe.umd.js:3881
(anonymous) @ strophe.umd.js:5257
setTimeout (async)
_send @ strophe.umd.js:5256
send @ strophe.umd.js:2583
bind @ strophe.umd.js:3601
_onStreamFeaturesAfterSASL @ strophe.umd.js:3562
_onStreamFeaturesAfterSASL @ strophe.stream-management.js:230
s @ strophe.umd.js:3517
(anonymous) @ strophe.umd.js:3523
run @ strophe.umd.js:1875
(anonymous) @ strophe.umd.js:3157
forEachChild @ strophe.umd.js:830
_dataRecv @ strophe.umd.js:3146
_onRequestStateChange @ strophe.umd.js:5012
XMLHttpRequest.send (async)
d @ strophe.umd.js:5123
_processRequest @ strophe.umd.js:5137
_throttledRequestHandler @ strophe.umd.js:5290
_onIdle @ strophe.umd.js:4901
_onIdle @ strophe.umd.js:3881
(anonymous) @ strophe.umd.js:2769
setTimeout (async)
_sendRestart @ strophe.umd.js:2768
_sasl_success_cb @ strophe.umd.js:3529
run @ strophe.umd.js:1875
(anonymous) @ strophe.umd.js:3157
forEachChild @ strophe.umd.js:830
_dataRecv @ strophe.umd.js:3146
_onRequestStateChange @ strophe.umd.js:5012
XMLHttpRequest.send (async)
d @ strophe.umd.js:5123
_processRequest @ strophe.umd.js:5137
_throttledRequestHandler @ strophe.umd.js:5290
_onIdle @ strophe.umd.js:4901
_onIdle @ strophe.umd.js:3881
(anonymous) @ strophe.umd.js:5257
setTimeout (async)
_send @ strophe.umd.js:5256
send @ strophe.umd.js:2583
_sasl_challenge_cb @ strophe.umd.js:3389
run @ strophe.umd.js:1875
(anonymous) @ strophe.umd.js:3157
forEachChild @ strophe.umd.js:830
_dataRecv @ strophe.umd.js:3146
_onRequestStateChange @ strophe.umd.js:5012
XMLHttpRequest.send (async)
d @ strophe.umd.js:5123
_processRequest @ strophe.umd.js:5137
_throttledRequestHandler @ strophe.umd.js:5290
_onIdle @ strophe.umd.js:4901
_onIdle @ strophe.umd.js:3881
(anonymous) @ strophe.umd.js:5257
setTimeout (async)
_send @ strophe.umd.js:5256
send @ strophe.umd.js:2583
_attemptSASLAuth @ strophe.umd.js:3364
authenticate @ strophe.umd.js:3319
_connect_cb @ strophe.umd.js:3271
_onRequestStateChange @ strophe.umd.js:5012
XMLHttpRequest.send (async)
d @ strophe.umd.js:5123
_processRequest @ strophe.umd.js:5137
_throttledRequestHandler @ strophe.umd.js:5290
_connect @ strophe.umd.js:4586
connect @ strophe.umd.js:2368
_interceptConnectArgs @ strophe.stream-management.js:224
connect @ XmppConnection.js:251
_connect @ xmpp.js:472
connect @ xmpp.js:544
(anonymous) @ authenticateAndUpgradeRole.js:141
s @ authenticateAndUpgradeRole.js:77
ae.authenticateAndUpgradeRole @ JitsiConference.js:536
(anonymous) @ actions.native.js:41
(anonymous) @ index.js:11
(anonymous) @ middleware.js:29
(anonymous) @ middleware.js:32
(anonymous) @ middleware.js:31
(anonymous) @ middleware.web.js:31
(anonymous) @ middleware.any.js:22
(anonymous) @ middleware.js:67
(anonymous) @ middleware.js:43
(anonymous) @ middleware.js:61
(anonymous) @ middleware.js:83
(anonymous) @ middleware.js:71
(anonymous) @ middleware.js:78
(anonymous) @ middleware.js:39
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:38
(anonymous) @ middleware.js:33
(anonymous) @ middleware.web.js:24
(anonymous) @ middleware.any.js:93
(anonymous) @ middleware.js:77
(anonymous) @ middleware.web.js:20
(anonymous) @ middleware.js:44
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:148
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:36
(anonymous) @ middleware.js:33
(anonymous) @ middleware.js:177
(anonymous) @ middleware.js:39
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:27
(anonymous) @ middleware.web.js:20
(anonymous) @ middleware.js:42
(anonymous) @ middleware.js:149
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:60
(anonymous) @ middleware.js:44
(anonymous) @ middleware.js:49
(anonymous) @ middleware.js:28
(anonymous) @ middleware.js:12
(anonymous) @ middleware.js:39
(anonymous) @ middleware.js:35
(anonymous) @ middleware.web.js:42
(anonymous) @ middleware.any.js:102
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:19
(anonymous) @ middleware.web.js:33
(anonymous) @ middleware.js:91
(anonymous) @ middleware.js:103
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:15
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:74
(anonymous) @ middleware.js:63
(anonymous) @ middleware.js:198
(anonymous) @ middleware.web.js:109
_onLogin @ LoginDialog.js:150
_onSubmit @ AbstractDialog.js:117
_onSubmit @ StatelessDialog.js:242
(anonymous) @ usePlatformLeafEventHandler.js:60
f @ react-dom.production.min.js:15
_ @ react-dom.production.min.js:15
(anonymous) @ react-dom.production.min.js:16
E @ react-dom.production.min.js:16
A @ react-dom.production.min.js:17
x @ react-dom.production.min.js:17
D @ react-dom.production.min.js:17
jn @ react-dom.production.min.js:81
ce @ react-dom.production.min.js:285
An @ react-dom.production.min.js:83
Tn @ react-dom.production.min.js:84
Dn @ react-dom.production.min.js:84
t.unstable_runWithPriority @ scheduler.production.min.js:18
Vr @ react-dom.production.min.js:120
se @ react-dom.production.min.js:285
xn @ react-dom.production.min.js:82
Show 95 more frames
Logger.js:154 2021-04-21T15:29:15.722Z [modules/xmpp/xmpp.js] <P.connectionHandler>:  (TIME) Strophe disconnecting:	 12767.469999962486
Logger.js:154 2021-04-21T15:29:15.723Z [modules/xmpp/strophe.util.js] <Object.r.Strophe.log>:  Strophe: Disconnect was called because: undefined
o @ Logger.js:154
r.Strophe.log @ strophe.util.js:77
warn @ strophe.umd.js:1382
disconnect @ strophe.umd.js:2956
_interceptDisconnect @ strophe.stream-management.js:194
disconnect @ XmppConnection.js:333
_cleanupXmppConnection @ xmpp.js:692
disconnect @ xmpp.js:650
(anonymous) @ authenticateAndUpgradeRole.js:122
Promise.catch (async)
(anonymous) @ authenticateAndUpgradeRole.js:121
a.emit @ events.js:152
connectionHandler @ xmpp.js:343
_stropheConnectionCb @ XmppConnection.js:295
_changeConnectStatus @ strophe.umd.js:3011
_onSessionResultIQ @ strophe.umd.js:3705
run @ strophe.umd.js:1875
(anonymous) @ strophe.umd.js:3157
forEachChild @ strophe.umd.js:830
_dataRecv @ strophe.umd.js:3146
_onRequestStateChange @ strophe.umd.js:5012
XMLHttpRequest.send (async)
d @ strophe.umd.js:5123
_processRequest @ strophe.umd.js:5137
_throttledRequestHandler @ strophe.umd.js:5290
_onIdle @ strophe.umd.js:4901
_onIdle @ strophe.umd.js:3881
(anonymous) @ strophe.umd.js:5257
setTimeout (async)
_send @ strophe.umd.js:5256
send @ strophe.umd.js:2583
_establishSession @ strophe.umd.js:3675
_onResourceBindResultIQ @ strophe.umd.js:3644
run @ strophe.umd.js:1875
(anonymous) @ strophe.umd.js:3157
forEachChild @ strophe.umd.js:830
_dataRecv @ strophe.umd.js:3146
_onRequestStateChange @ strophe.umd.js:5012
XMLHttpRequest.send (async)
d @ strophe.umd.js:5123
_processRequest @ strophe.umd.js:5137
_throttledRequestHandler @ strophe.umd.js:5290
_onIdle @ strophe.umd.js:4901
_onIdle @ strophe.umd.js:3881
(anonymous) @ strophe.umd.js:5257
setTimeout (async)
_send @ strophe.umd.js:5256
send @ strophe.umd.js:2583
bind @ strophe.umd.js:3601
_onStreamFeaturesAfterSASL @ strophe.umd.js:3562
_onStreamFeaturesAfterSASL @ strophe.stream-management.js:230
s @ strophe.umd.js:3517
(anonymous) @ strophe.umd.js:3523
run @ strophe.umd.js:1875
(anonymous) @ strophe.umd.js:3157
forEachChild @ strophe.umd.js:830
_dataRecv @ strophe.umd.js:3146
_onRequestStateChange @ strophe.umd.js:5012
XMLHttpRequest.send (async)
d @ strophe.umd.js:5123
_processRequest @ strophe.umd.js:5137
_throttledRequestHandler @ strophe.umd.js:5290
_onIdle @ strophe.umd.js:4901
_onIdle @ strophe.umd.js:3881
(anonymous) @ strophe.umd.js:2769
setTimeout (async)
_sendRestart @ strophe.umd.js:2768
_sasl_success_cb @ strophe.umd.js:3529
run @ strophe.umd.js:1875
(anonymous) @ strophe.umd.js:3157
forEachChild @ strophe.umd.js:830
_dataRecv @ strophe.umd.js:3146
_onRequestStateChange @ strophe.umd.js:5012
XMLHttpRequest.send (async)
d @ strophe.umd.js:5123
_processRequest @ strophe.umd.js:5137
_throttledRequestHandler @ strophe.umd.js:5290
_onIdle @ strophe.umd.js:4901
_onIdle @ strophe.umd.js:3881
(anonymous) @ strophe.umd.js:5257
setTimeout (async)
_send @ strophe.umd.js:5256
send @ strophe.umd.js:2583
_sasl_challenge_cb @ strophe.umd.js:3389
run @ strophe.umd.js:1875
(anonymous) @ strophe.umd.js:3157
forEachChild @ strophe.umd.js:830
_dataRecv @ strophe.umd.js:3146
_onRequestStateChange @ strophe.umd.js:5012
XMLHttpRequest.send (async)
d @ strophe.umd.js:5123
_processRequest @ strophe.umd.js:5137
_throttledRequestHandler @ strophe.umd.js:5290
_onIdle @ strophe.umd.js:4901
_onIdle @ strophe.umd.js:3881
(anonymous) @ strophe.umd.js:5257
setTimeout (async)
_send @ strophe.umd.js:5256
send @ strophe.umd.js:2583
_attemptSASLAuth @ strophe.umd.js:3364
authenticate @ strophe.umd.js:3319
_connect_cb @ strophe.umd.js:3271
_onRequestStateChange @ strophe.umd.js:5012
XMLHttpRequest.send (async)
d @ strophe.umd.js:5123
_processRequest @ strophe.umd.js:5137
_throttledRequestHandler @ strophe.umd.js:5290
_connect @ strophe.umd.js:4586
connect @ strophe.umd.js:2368
_interceptConnectArgs @ strophe.stream-management.js:224
connect @ XmppConnection.js:251
_connect @ xmpp.js:472
connect @ xmpp.js:544
(anonymous) @ authenticateAndUpgradeRole.js:141
s @ authenticateAndUpgradeRole.js:77
ae.authenticateAndUpgradeRole @ JitsiConference.js:536
(anonymous) @ actions.native.js:41
(anonymous) @ index.js:11
(anonymous) @ middleware.js:29
(anonymous) @ middleware.js:32
(anonymous) @ middleware.js:31
(anonymous) @ middleware.web.js:31
(anonymous) @ middleware.any.js:22
(anonymous) @ middleware.js:67
(anonymous) @ middleware.js:43
(anonymous) @ middleware.js:61
(anonymous) @ middleware.js:83
(anonymous) @ middleware.js:71
(anonymous) @ middleware.js:78
(anonymous) @ middleware.js:39
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:38
(anonymous) @ middleware.js:33
(anonymous) @ middleware.web.js:24
(anonymous) @ middleware.any.js:93
(anonymous) @ middleware.js:77
(anonymous) @ middleware.web.js:20
(anonymous) @ middleware.js:44
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:148
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:36
(anonymous) @ middleware.js:33
(anonymous) @ middleware.js:177
(anonymous) @ middleware.js:39
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:27
(anonymous) @ middleware.web.js:20
(anonymous) @ middleware.js:42
(anonymous) @ middleware.js:149
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:60
(anonymous) @ middleware.js:44
(anonymous) @ middleware.js:49
(anonymous) @ middleware.js:28
(anonymous) @ middleware.js:12
(anonymous) @ middleware.js:39
(anonymous) @ middleware.js:35
(anonymous) @ middleware.web.js:42
(anonymous) @ middleware.any.js:102
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:19
(anonymous) @ middleware.web.js:33
(anonymous) @ middleware.js:91
(anonymous) @ middleware.js:103
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:15
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:74
(anonymous) @ middleware.js:63
(anonymous) @ middleware.js:198
(anonymous) @ middleware.web.js:109
_onLogin @ LoginDialog.js:150
_onSubmit @ AbstractDialog.js:117
_onSubmit @ StatelessDialog.js:242
(anonymous) @ usePlatformLeafEventHandler.js:60
f @ react-dom.production.min.js:15
_ @ react-dom.production.min.js:15
(anonymous) @ react-dom.production.min.js:16
E @ react-dom.production.min.js:16
A @ react-dom.production.min.js:17
x @ react-dom.production.min.js:17
D @ react-dom.production.min.js:17
jn @ react-dom.production.min.js:81
ce @ react-dom.production.min.js:285
An @ react-dom.production.min.js:83
Tn @ react-dom.production.min.js:84
Dn @ react-dom.production.min.js:84
t.unstable_runWithPriority @ scheduler.production.min.js:18
Vr @ react-dom.production.min.js:120
se @ react-dom.production.min.js:285
xn @ react-dom.production.min.js:82
Show 95 more frames
Logger.js:154 2021-04-21T15:29:15.726Z [features/authentication] authenticateAndUpgradeRole failed {authenticationError: "not-authorized", message: "not authorized user domain"}
o @ Logger.js:154
(anonymous) @ actions.native.js:59
Promise.then (async)
(anonymous) @ actions.native.js:54
(anonymous) @ index.js:11
(anonymous) @ middleware.js:29
(anonymous) @ middleware.js:32
(anonymous) @ middleware.js:31
(anonymous) @ middleware.web.js:31
(anonymous) @ middleware.any.js:22
(anonymous) @ middleware.js:67
(anonymous) @ middleware.js:43
(anonymous) @ middleware.js:61
(anonymous) @ middleware.js:83
(anonymous) @ middleware.js:71
(anonymous) @ middleware.js:78
(anonymous) @ middleware.js:39
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:38
(anonymous) @ middleware.js:33
(anonymous) @ middleware.web.js:24
(anonymous) @ middleware.any.js:93
(anonymous) @ middleware.js:77
(anonymous) @ middleware.web.js:20
(anonymous) @ middleware.js:44
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:148
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:36
(anonymous) @ middleware.js:33
(anonymous) @ middleware.js:177
(anonymous) @ middleware.js:39
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:27
(anonymous) @ middleware.web.js:20
(anonymous) @ middleware.js:42
(anonymous) @ middleware.js:149
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:60
(anonymous) @ middleware.js:44
(anonymous) @ middleware.js:49
(anonymous) @ middleware.js:28
(anonymous) @ middleware.js:12
(anonymous) @ middleware.js:39
(anonymous) @ middleware.js:35
(anonymous) @ middleware.web.js:42
(anonymous) @ middleware.any.js:102
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:19
(anonymous) @ middleware.web.js:33
(anonymous) @ middleware.js:91
(anonymous) @ middleware.js:103
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:15
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:74
(anonymous) @ middleware.js:63
(anonymous) @ middleware.js:198
(anonymous) @ middleware.web.js:109
_onLogin @ LoginDialog.js:150
_onSubmit @ AbstractDialog.js:117
_onSubmit @ StatelessDialog.js:242
(anonymous) @ usePlatformLeafEventHandler.js:60
f @ react-dom.production.min.js:15
_ @ react-dom.production.min.js:15
(anonymous) @ react-dom.production.min.js:16
E @ react-dom.production.min.js:16
A @ react-dom.production.min.js:17
x @ react-dom.production.min.js:17
D @ react-dom.production.min.js:17
jn @ react-dom.production.min.js:81
ce @ react-dom.production.min.js:285
An @ react-dom.production.min.js:83
Tn @ react-dom.production.min.js:84
Dn @ react-dom.production.min.js:84
t.unstable_runWithPriority @ scheduler.production.min.js:18
Vr @ react-dom.production.min.js:120
se @ react-dom.production.min.js:285
xn @ react-dom.production.min.js:82
Show 55 more frames
Logger.js:154 2021-04-21T15:29:15.739Z [JitsiMeetJS.js] <Object.getGlobalOnErrorHandler>:  UnhandledError: [object Object] Script: null Line: null Column: null StackTrace:  n/a
o @ Logger.js:154
getGlobalOnErrorHandler @ JitsiMeetJS.js:619
window.onunhandledrejection @ middleware.js:127
ForeignSidesVolunteerPatiently:1 Uncaught (in promise) {authenticationError: "not-authorized", message: "not authorized user domain"}

It’s not that easy.
There is a jicofo.conf template from jitsi docker repo - docker-jitsi-meet/jicofo.conf at prayagsingh-jicofo-conf · prayagsingh/docker-jitsi-meet · GitHub
And there is a reference file - jicofo/reference.conf at master · jitsi/jicofo · GitHub
There is a good issue for information about jicofo.conf - Move jicofo config to jicofo.conf from sip.communicator · Issue #825 · jitsi/docker-jitsi-meet · GitHub
You need to add client-proxy = "focus.meet.civicrm.community" to that xmpp section of file:

 xmpp {
      client {
        enabled = true
        hostname = "localhost"
        domain = "auth.meet.civicrm.community"
        username = "focus"
        password = "your_focus_password_here"  
        conference-muc-jid = ""JvbBrewery@internal.auth.meet.civicrm.community"
        client-proxy = "focus.meet.civicrm.community"
        disable-certificate-verification = true
      }
    }

Something like this. You need to edit some fields with your values.

We’re not using Docker.

Me neither.
jitcofo.conf it’s a new config file. As I understand all other config files will be deprecated in future.
You can jicofo.conf file right now to fix your authentication issue as I described.

Adding those lines to /etc/jitsi/jicofo/jicofo.conf results in:

Logger.js:154 2021-04-26T14:44:05.293Z [JitsiMeetJS.js] <Object.getGlobalOnErrorHandler>:  UnhandledError: Focus error, retry after 2000 Script: null Line: null Column: null StackTrace:  Error: Focus error, retry after 2000
    at l._allocateConferenceFocusError (https://meet.civicrm.community/libs/lib-jitsi-meet.min.js?v=139:10:182368)
    at https://meet.civicrm.community/libs/lib-jitsi-meet.min.js?v=139:10:181419
    at I.Handler.handler (https://meet.civicrm.community/libs/lib-jitsi-meet.min.js?v=139:1:31531)
    at I.Handler.run (https://meet.civicrm.community/libs/lib-jitsi-meet.min.js?v=139:1:26830)
    at https://meet.civicrm.community/libs/lib-jitsi-meet.min.js?v=139:1:35268
    at Object.forEachChild (https://meet.civicrm.community/libs/lib-jitsi-meet.min.js?v=139:1:18492)
    at I.Connection._dataRecv (https://meet.civicrm.community/libs/lib-jitsi-meet.min.js?v=139:1:35117)
    at O.Bosh._onRequestStateChange (https://meet.civicrm.community/libs/lib-jitsi-meet.min.js?v=139:1:55102)
o @ Logger.js:154
getGlobalOnErrorHandler @ JitsiMeetJS.js:619
window.onerror @ middleware.js:110
callErrorHandler @ GlobalOnErrorHandler.js:61
l._allocateConferenceFocusError @ moderator.js:364
(anonymous) @ moderator.js:291
(anonymous) @ strophe.umd.js:2716
run @ strophe.umd.js:1875
(anonymous) @ strophe.umd.js:3157
forEachChild @ strophe.umd.js:830
_dataRecv @ strophe.umd.js:3146
_onRequestStateChange @ strophe.umd.js:5012
XMLHttpRequest.send (async)
d @ strophe.umd.js:5123
_processRequest @ strophe.umd.js:5137
_throttledRequestHandler @ strophe.umd.js:5294
_onIdle @ strophe.umd.js:4901
_onIdle @ strophe.umd.js:3881
flush @ strophe.umd.js:2599
flush @ XmppConnection.js:342
(anonymous) @ moderator.js:297
l.allocateConferenceFocus @ moderator.js:283
(anonymous) @ ChatRoom.js:198
join @ ChatRoom.js:191
ae.join @ JitsiConference.js:523
connect @ conference.js:392
(anonymous) @ conference.js:753
startConference @ conference.js:752
init @ conference.js:828
async function (async)
init @ conference.js:784
(anonymous) @ actions.web.js:31
Promise.then (async)
(anonymous) @ actions.web.js:30
(anonymous) @ index.js:11
(anonymous) @ middleware.js:29
(anonymous) @ middleware.js:32
(anonymous) @ middleware.js:31
(anonymous) @ middleware.web.js:31
(anonymous) @ middleware.any.js:22
(anonymous) @ middleware.js:67
(anonymous) @ middleware.js:43
(anonymous) @ middleware.js:61
(anonymous) @ middleware.js:83
(anonymous) @ middleware.js:71
(anonymous) @ middleware.js:78
(anonymous) @ middleware.js:39
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:38
(anonymous) @ middleware.js:33
(anonymous) @ middleware.web.js:24
(anonymous) @ middleware.any.js:93
(anonymous) @ middleware.js:77
(anonymous) @ middleware.web.js:20
(anonymous) @ middleware.js:44
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:148
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:36
(anonymous) @ middleware.js:33
(anonymous) @ middleware.js:177
(anonymous) @ middleware.js:39
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:27
(anonymous) @ middleware.web.js:20
(anonymous) @ middleware.js:42
(anonymous) @ middleware.js:149
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:60
(anonymous) @ middleware.js:44
(anonymous) @ middleware.js:49
(anonymous) @ middleware.js:28
(anonymous) @ middleware.js:12
(anonymous) @ middleware.js:39
(anonymous) @ middleware.js:35
(anonymous) @ middleware.web.js:42
(anonymous) @ middleware.any.js:102
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:19
(anonymous) @ middleware.web.js:33
(anonymous) @ middleware.js:91
(anonymous) @ middleware.js:103
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:15
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:74
(anonymous) @ middleware.js:63
(anonymous) @ middleware.js:198
(anonymous) @ middleware.web.js:109
_start @ Conference.js:281
componentDidMount @ Conference.js:136
vl @ react-dom.production.min.js:251
t.unstable_runWithPriority @ scheduler.production.min.js:18
Vr @ react-dom.production.min.js:120
yl @ react-dom.production.min.js:244
il @ react-dom.production.min.js:223
(anonymous) @ react-dom.production.min.js:121
t.unstable_runWithPriority @ scheduler.production.min.js:18
Vr @ react-dom.production.min.js:120
Kr @ react-dom.production.min.js:121
Gr @ react-dom.production.min.js:120
el @ react-dom.production.min.js:214
enqueueSetState @ react-dom.production.min.js:133
k.setState @ react.production.min.js:13
(anonymous) @ BaseApp.js:241
_navigate @ BaseApp.js:240
(anonymous) @ middleware.js:149
Promise.then (async)
(anonymous) @ middleware.js:149
(anonymous) @ middleware.js:169
(anonymous) @ middleware.js:26
(anonymous) @ middleware.js:32
(anonymous) @ middleware.js:31
(anonymous) @ middleware.web.js:31
(anonymous) @ middleware.any.js:22
(anonymous) @ middleware.js:67
(anonymous) @ middleware.js:43
(anonymous) @ middleware.js:61
(anonymous) @ middleware.js:83
(anonymous) @ middleware.js:71
(anonymous) @ middleware.js:78
(anonymous) @ middleware.js:147
(anonymous) @ middleware.js:35
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:38
(anonymous) @ middleware.js:33
(anonymous) @ middleware.web.js:24
(anonymous) @ middleware.any.js:93
(anonymous) @ middleware.js:77
(anonymous) @ middleware.web.js:20
(anonymous) @ middleware.js:44
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:148
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:36
(anonymous) @ middleware.js:33
(anonymous) @ middleware.js:177
(anonymous) @ middleware.js:39
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:27
(anonymous) @ middleware.web.js:20
(anonymous) @ middleware.js:42
(anonymous) @ middleware.js:149
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:197
(anonymous) @ middleware.js:45
(anonymous) @ middleware.js:44
(anonymous) @ middleware.js:49
(anonymous) @ middleware.js:28
(anonymous) @ middleware.js:12
(anonymous) @ middleware.js:39
(anonymous) @ middleware.js:35
(anonymous) @ middleware.web.js:42
(anonymous) @ middleware.any.js:478
(anonymous) @ middleware.any.js:95
(anonymous) @ middleware.js:96
(anonymous) @ middleware.js:19
(anonymous) @ middleware.web.js:33
(anonymous) @ middleware.js:91
(anonymous) @ middleware.js:103
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:15
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:74
(anonymous) @ middleware.js:63
(anonymous) @ middleware.js:198
(anonymous) @ middleware.web.js:109
dispatch @ redux.js:636
(anonymous) @ actions.js:138
async function (async)
(anonymous) @ actions.js:111
(anonymous) @ index.js:11
(anonymous) @ middleware.js:29
(anonymous) @ middleware.js:32
(anonymous) @ middleware.js:31
(anonymous) @ middleware.web.js:31
(anonymous) @ middleware.any.js:22
(anonymous) @ middleware.js:67
(anonymous) @ middleware.js:43
(anonymous) @ middleware.js:61
(anonymous) @ middleware.js:83
(anonymous) @ middleware.js:71
(anonymous) @ middleware.js:78
(anonymous) @ middleware.js:39
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:38
(anonymous) @ middleware.js:33
(anonymous) @ middleware.web.js:24
(anonymous) @ middleware.any.js:93
(anonymous) @ middleware.js:77
(anonymous) @ middleware.web.js:20
(anonymous) @ middleware.js:44
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:148
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:36
(anonymous) @ middleware.js:33
(anonymous) @ middleware.js:177
(anonymous) @ middleware.js:39
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:27
(anonymous) @ middleware.web.js:20
(anonymous) @ middleware.js:42
(anonymous) @ middleware.js:149
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:60
(anonymous) @ middleware.js:44
(anonymous) @ middleware.js:49
(anonymous) @ middleware.js:28
(anonymous) @ middleware.js:12
(anonymous) @ middleware.js:39
(anonymous) @ middleware.js:35
(anonymous) @ middleware.web.js:42
(anonymous) @ middleware.any.js:102
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:19
(anonymous) @ middleware.web.js:33
(anonymous) @ middleware.js:91
(anonymous) @ middleware.js:103
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:15
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:74
(anonymous) @ middleware.js:63
(anonymous) @ middleware.js:198
(anonymous) @ middleware.web.js:109
_openURL @ AbstractApp.js:113
(anonymous) @ AbstractApp.js:47
Promise.then (async)
componentDidMount @ AbstractApp.js:44
vl @ react-dom.production.min.js:251
t.unstable_runWithPriority @ scheduler.production.min.js:18
Vr @ react-dom.production.min.js:120
yl @ react-dom.production.min.js:244
il @ react-dom.production.min.js:223
el @ react-dom.production.min.js:214
Ul @ react-dom.production.min.js:279
(anonymous) @ react-dom.production.min.js:282
sl @ react-dom.production.min.js:224
Kl @ react-dom.production.min.js:282
render @ react-dom.production.min.js:286
$s.renderEntryPoint @ index.web.js:71
(anonymous) @ ForeignSidesVolunteerPatiently:25
Show 214 more frames
Logger.js:154 2021-04-26T14:44:05.294Z [modules/xmpp/moderator.js] <l._allocateConferenceFocusError>:  Focus error, retry after 2000 <iq xmlns=​"jabber:​client" from=​"focus.meet.civicrm.community" to=​"gvacn4w3lcqrlabo@guest.meet.civicrm.community/​GxEebsC6" id=​"af8e94b5-23ca-47e2-989d-411b4c58e798:​sendIQ" type=​"error">​…​</iq>​
o @ Logger.js:154
l._allocateConferenceFocusError @ moderator.js:365
(anonymous) @ moderator.js:291
(anonymous) @ strophe.umd.js:2716
run @ strophe.umd.js:1875
(anonymous) @ strophe.umd.js:3157
forEachChild @ strophe.umd.js:830
_dataRecv @ strophe.umd.js:3146
_onRequestStateChange @ strophe.umd.js:5012
XMLHttpRequest.send (async)
d @ strophe.umd.js:5123
_processRequest @ strophe.umd.js:5137
_throttledRequestHandler @ strophe.umd.js:5294
_onIdle @ strophe.umd.js:4901
_onIdle @ strophe.umd.js:3881
flush @ strophe.umd.js:2599
flush @ XmppConnection.js:342
(anonymous) @ moderator.js:297
l.allocateConferenceFocus @ moderator.js:283
(anonymous) @ ChatRoom.js:198
join @ ChatRoom.js:191
ae.join @ JitsiConference.js:523
connect @ conference.js:392
(anonymous) @ conference.js:753
startConference @ conference.js:752
init @ conference.js:828
async function (async)
init @ conference.js:784
(anonymous) @ actions.web.js:31
Promise.then (async)
(anonymous) @ actions.web.js:30
(anonymous) @ index.js:11
(anonymous) @ middleware.js:29
(anonymous) @ middleware.js:32
(anonymous) @ middleware.js:31
(anonymous) @ middleware.web.js:31
(anonymous) @ middleware.any.js:22
(anonymous) @ middleware.js:67
(anonymous) @ middleware.js:43
(anonymous) @ middleware.js:61
(anonymous) @ middleware.js:83
(anonymous) @ middleware.js:71
(anonymous) @ middleware.js:78
(anonymous) @ middleware.js:39
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:38
(anonymous) @ middleware.js:33
(anonymous) @ middleware.web.js:24
(anonymous) @ middleware.any.js:93
(anonymous) @ middleware.js:77
(anonymous) @ middleware.web.js:20
(anonymous) @ middleware.js:44
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:148
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:36
(anonymous) @ middleware.js:33
(anonymous) @ middleware.js:177
(anonymous) @ middleware.js:39
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:27
(anonymous) @ middleware.web.js:20
(anonymous) @ middleware.js:42
(anonymous) @ middleware.js:149
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:60
(anonymous) @ middleware.js:44
(anonymous) @ middleware.js:49
(anonymous) @ middleware.js:28
(anonymous) @ middleware.js:12
(anonymous) @ middleware.js:39
(anonymous) @ middleware.js:35
(anonymous) @ middleware.web.js:42
(anonymous) @ middleware.any.js:102
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:19
(anonymous) @ middleware.web.js:33
(anonymous) @ middleware.js:91
(anonymous) @ middleware.js:103
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:15
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:74
(anonymous) @ middleware.js:63
(anonymous) @ middleware.js:198
(anonymous) @ middleware.web.js:109
_start @ Conference.js:281
componentDidMount @ Conference.js:136
vl @ react-dom.production.min.js:251
t.unstable_runWithPriority @ scheduler.production.min.js:18
Vr @ react-dom.production.min.js:120
yl @ react-dom.production.min.js:244
il @ react-dom.production.min.js:223
(anonymous) @ react-dom.production.min.js:121
t.unstable_runWithPriority @ scheduler.production.min.js:18
Vr @ react-dom.production.min.js:120
Kr @ react-dom.production.min.js:121
Gr @ react-dom.production.min.js:120
el @ react-dom.production.min.js:214
enqueueSetState @ react-dom.production.min.js:133
k.setState @ react.production.min.js:13
(anonymous) @ BaseApp.js:241
_navigate @ BaseApp.js:240
(anonymous) @ middleware.js:149
Promise.then (async)
(anonymous) @ middleware.js:149
(anonymous) @ middleware.js:169
(anonymous) @ middleware.js:26
(anonymous) @ middleware.js:32
(anonymous) @ middleware.js:31
(anonymous) @ middleware.web.js:31
(anonymous) @ middleware.any.js:22
(anonymous) @ middleware.js:67
(anonymous) @ middleware.js:43
(anonymous) @ middleware.js:61
(anonymous) @ middleware.js:83
(anonymous) @ middleware.js:71
(anonymous) @ middleware.js:78
(anonymous) @ middleware.js:147
(anonymous) @ middleware.js:35
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:38
(anonymous) @ middleware.js:33
(anonymous) @ middleware.web.js:24
(anonymous) @ middleware.any.js:93
(anonymous) @ middleware.js:77
(anonymous) @ middleware.web.js:20
(anonymous) @ middleware.js:44
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:148
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:36
(anonymous) @ middleware.js:33
(anonymous) @ middleware.js:177
(anonymous) @ middleware.js:39
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:27
(anonymous) @ middleware.web.js:20
(anonymous) @ middleware.js:42
(anonymous) @ middleware.js:149
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:197
(anonymous) @ middleware.js:45
(anonymous) @ middleware.js:44
(anonymous) @ middleware.js:49
(anonymous) @ middleware.js:28
(anonymous) @ middleware.js:12
(anonymous) @ middleware.js:39
(anonymous) @ middleware.js:35
(anonymous) @ middleware.web.js:42
(anonymous) @ middleware.any.js:478
(anonymous) @ middleware.any.js:95
(anonymous) @ middleware.js:96
(anonymous) @ middleware.js:19
(anonymous) @ middleware.web.js:33
(anonymous) @ middleware.js:91
(anonymous) @ middleware.js:103
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:15
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:74
(anonymous) @ middleware.js:63
(anonymous) @ middleware.js:198
(anonymous) @ middleware.web.js:109
dispatch @ redux.js:636
(anonymous) @ actions.js:138
async function (async)
(anonymous) @ actions.js:111
(anonymous) @ index.js:11
(anonymous) @ middleware.js:29
(anonymous) @ middleware.js:32
(anonymous) @ middleware.js:31
(anonymous) @ middleware.web.js:31
(anonymous) @ middleware.any.js:22
(anonymous) @ middleware.js:67
(anonymous) @ middleware.js:43
(anonymous) @ middleware.js:61
(anonymous) @ middleware.js:83
(anonymous) @ middleware.js:71
(anonymous) @ middleware.js:78
(anonymous) @ middleware.js:39
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:38
(anonymous) @ middleware.js:33
(anonymous) @ middleware.web.js:24
(anonymous) @ middleware.any.js:93
(anonymous) @ middleware.js:77
(anonymous) @ middleware.web.js:20
(anonymous) @ middleware.js:44
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:148
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:36
(anonymous) @ middleware.js:33
(anonymous) @ middleware.js:177
(anonymous) @ middleware.js:39
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:27
(anonymous) @ middleware.web.js:20
(anonymous) @ middleware.js:42
(anonymous) @ middleware.js:149
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:60
(anonymous) @ middleware.js:44
(anonymous) @ middleware.js:49
(anonymous) @ middleware.js:28
(anonymous) @ middleware.js:12
(anonymous) @ middleware.js:39
(anonymous) @ middleware.js:35
(anonymous) @ middleware.web.js:42
(anonymous) @ middleware.any.js:102
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:19
(anonymous) @ middleware.web.js:33
(anonymous) @ middleware.js:91
(anonymous) @ middleware.js:103
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:15
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:74
(anonymous) @ middleware.js:63
(anonymous) @ middleware.js:198
(anonymous) @ middleware.web.js:109
_openURL @ AbstractApp.js:113
(anonymous) @ AbstractApp.js:47
Promise.then (async)
componentDidMount @ AbstractApp.js:44
vl @ react-dom.production.min.js:251
t.unstable_runWithPriority @ scheduler.production.min.js:18
Vr @ react-dom.production.min.js:120
yl @ react-dom.production.min.js:244
il @ react-dom.production.min.js:223
el @ react-dom.production.min.js:214
Ul @ react-dom.production.min.js:279
(anonymous) @ react-dom.production.min.js:282
sl @ react-dom.production.min.js:224
Kl @ react-dom.production.min.js:282
render @ react-dom.production.min.js:286
$s.renderEntryPoint @ index.web.js:71
(anonymous) @ ForeignSidesVolunteerPatiently:25
Show 211 more frames
Logger.js:154 2021-04-26T14:44:05.343Z [conference.js] <ee._onConferenceFailed>:  CONFERENCE FAILED: conference.focusDisconnected focus.meet.civicrm.community 2

The error seems to be CONFERENCE FAILED: conference.focusDisconnected focus.meet.civicrm.community

My guess - you need not just add it to your /etc/jitsi/jicofo/jicofo.conf file. You need to migrate to it filling out all major options in file. I gave a reference file for example.

This is a new install of a couple of weeks old - I’m not sure why I’d need to be migrating the config from/to anything at all - shouldn’t it be the default configuration?

I’ve ended up rebuilding Jitsi with Docker instead and now it’s working.

1 Like