Jigasi Transcription Error (Bosh connection , SASL mechanism, MUC room null, RayoIq error)

Hello, I am having trouble configuring Jigasi for transcription.

Background:
I am running Jitsi on Debian 10 server inside VirtualBox. The hostname is debbie.net but I wasn’t able to successfully generate a Let’s Encrypt certificate. (Maybe that has something to do with the SASL authentication error in the jigasi logs below?)

Problem:

First I checked the jicofo logs. It said Jicofo was unable to invite the transcriber:

Jicofo 2021-07-23 11:58:02.410 INFO: [34] [room=correctbatterystaplerhorse@conference.debbie.net meeting_id=13acfd16-61b7-40f8-9ef9-00d3d94d533c] TranscriberManager.selectTranscriber#209: Attempting to invite transcriber
Jicofo 2021-07-23 11:58:12.811 WARNING: [34] [room=correctbatterystaplerhorse@conference.debbie.net meeting_id=13acfd16-61b7-40f8-9ef9-00d3d94d533c] TranscriberManager.selectTranscriber#239: failed to invite transcriber. Got error: null
Jicofo 2021-07-23 11:58:12.812 INFO: [34] [room=correctbatterystaplerhorse@conference.debbie.net meeting_id=13acfd16-61b7-40f8-9ef9-00d3d94d533c] TranscriberManager.selectTranscriber#209: Attempting to invite transcriber
Jicofo 2021-07-23 11:58:12.812 WARNING: [34] [room=correctbatterystaplerhorse@conference.debbie.net meeting_id=13acfd16-61b7-40f8-9ef9-00d3d94d533c] TranscriberManager.selectTranscriber#215: Unable to invite transcriber due to no Jigasi instances being available

So then I checked the jigasi logs and saw multiple errors related to Bosh, SASL authentication, RayoIq, and null MUC rooms. I have pasted below the relevant logs (i.e. the jigasi log output as soon as I clicked the ‘Start Subtitle’ button):

root@debbie:/home/kapp# tail -f /var/log/jitsi/jigasi.log

2021-07-23 11:57:36.459 INFO: [1] org.jitsi.impl.configuration.ConfigurationServiceImpl.log() net.java.sip.communicator.impl.protocol.jabber.acc-xmpp-1.Encodings.G722/8000=0
2021-07-23 11:57:36.460 INFO: [1] org.jitsi.impl.configuration.ConfigurationServiceImpl.log() net.java.sip.communicator.impl.protocol.jabber.acc-xmpp-1.ENCRYPTION_PROTOCOL_STATUS.DTLS-SRTP=true
2021-07-23 11:57:36.460 INFO: [1] org.jitsi.impl.configuration.ConfigurationServiceImpl.log() net.java.sip.communicator.impl.protocol.jabber.acc-xmpp-1.Encodings.GSM/8000=0
2021-07-23 11:57:36.460 INFO: [1] org.jitsi.impl.configuration.ConfigurationServiceImpl.log() org.jitsi.jigasi.ALLOWED_JID=JigasiBrewery@internal.auth.debbie.net
2021-07-23 11:57:36.460 INFO: [1] org.jitsi.impl.configuration.ConfigurationServiceImpl.log() net.java.sip.communicator.impl.protocol.jabber.acc-xmpp-1.Encodings.iLBC/8000=0
2021-07-23 11:57:36.460 INFO: [1] org.jitsi.impl.configuration.ConfigurationServiceImpl.log() net.java.sip.communicator.impl.neomedia.codec.audio.opus.encoder.COMPLEXITY=10
2021-07-23 11:57:36.625 INFO: [1] org.jitsi.impl.configuration.ConfigurationServiceImpl.log() org.jitsi.jigasi.xmpp.acc.IS_SERVER_OVERRIDDEN=true
2021-07-23 11:57:38.518 INFO: [41] impl.protocol.jabber.ProtocolProviderServiceJabberImpl.authenticated().2423 Authenticated: false
2021-07-23 11:57:38.705 INFO: [41] org.jitsi.jigasi.xmpp.CallControlMucActivator.joinCommonRoom().291 Joining call control room: JigasiBrewery@internal.auth.debbie.net pps:ProtocolProviderServiceJabberImpl(Jabber:jigasi@auth.debbie.net)
2021-07-23 11:57:38.839 INFO: [46] impl.protocol.jabber.ChatRoomJabberImpl.joined().1361 jigasibrewery@internal.auth.debbie.net/focus has joined the jigasibrewery@internal.auth.debbie.net chat room.
2021-07-23 11:58:02.427 INFO: [52] org.jitsi.jigasi.xmpp.CallControl.handleDialIq().195 [ctx=16270558824232102248743] Got dial request null -> jitsi_meet_transcribe room: correctbatterystaplerhorse@conference.debbie.net
2021-07-23 11:58:02.702 INFO: [52] com.google.auth.oauth2.ComputeEngineCredentials.runningOnComputeEngine() Failed to detect whether we are running on Google Compute Engine.
2021-07-23 11:58:02.764 INFO: [52] org.jitsi.jigasi.JvbConference.start().493 [ctx=16270558824232102248743] Starting JVB conference room: correctbatterystaplerhorse@conference.debbie.net
2021-07-23 11:58:02.789 INFO: [52] org.jitsi.jigasi.JvbConference.setXmppProvider().636 [ctx=16270558824232102248743] Using ProtocolProviderServiceJabberImpl(Jabber:2505ca78@debbie.net/2505ca78)
2021-07-23 11:58:02.907 INFO: [55] org.igniterealtime.jbosh.BOSHClient.init() Starting with 1 request processors
2021-07-23 11:58:03.066 WARNING: [56] org.jivesoftware.smack.bosh.XMPPBOSHConnection.shutdown() shutdown
java.lang.NullPointerException
        at org.igniterealtime.jbosh.BOSHClient.send(BOSHClient.java:494)
        at org.igniterealtime.jbosh.BOSHClient.disconnect(BOSHClient.java:586)
        at org.igniterealtime.jbosh.BOSHClient.disconnect(BOSHClient.java:567)
        at org.jivesoftware.smack.bosh.XMPPBOSHConnection.shutdown(XMPPBOSHConnection.java:266)
        at org.jivesoftware.smack.bosh.XMPPBOSHConnection.notifyConnectionError(XMPPBOSHConnection.java:417)
        at org.jivesoftware.smack.bosh.XMPPBOSHConnection$BOSHConnectionListener.connectionEvent(XMPPBOSHConnection.java:464)
        at org.igniterealtime.jbosh.BOSHClient.fireConnectionClosedOnError(BOSHClient.java:1684)
        at org.igniterealtime.jbosh.BOSHClient.dispose(BOSHClient.java:713)
        at org.igniterealtime.jbosh.BOSHClient.processExchange(BOSHClient.java:1138)
        at org.igniterealtime.jbosh.BOSHClient.processMessages(BOSHClient.java:999)
        at org.igniterealtime.jbosh.BOSHClient.access$300(BOSHClient.java:100)
        at org.igniterealtime.jbosh.BOSHClient$RequestProcessor.run(BOSHClient.java:1728)
        at java.base/java.lang.Thread.run(Thread.java:829)
2021-07-23 11:58:03.069 WARNING: [56] org.jivesoftware.smack.AbstractXMPPConnection.callConnectionClosedOnErrorListener() Connection XMPPBOSHConnection[not-authenticated] (1) closed with error
org.igniterealtime.jbosh.BOSHException: Could not obtain response
        at org.igniterealtime.jbosh.ApacheHTTPResponse.awaitResponse(ApacheHTTPResponse.java:251)
        at org.igniterealtime.jbosh.ApacheHTTPResponse.getBody(ApacheHTTPResponse.java:192)
        at org.igniterealtime.jbosh.BOSHClient.processExchange(BOSHClient.java:1123)
        at org.igniterealtime.jbosh.BOSHClient.processMessages(BOSHClient.java:999)
        at org.igniterealtime.jbosh.BOSHClient.access$300(BOSHClient.java:100)
        at org.igniterealtime.jbosh.BOSHClient$RequestProcessor.run(BOSHClient.java:1728)
        at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.net.ConnectException: Connection refused (Connection refused)
        at java.base/java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:399)
        at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:242)
        at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:224)
        at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
        at java.base/java.net.Socket.connect(Socket.java:609)
        at java.base/sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:289)
        at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:532)
        at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:409)
        at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:479)
        at org.apache.http.conn.scheme.SchemeSocketFactoryAdaptor.connectSocket(SchemeSocketFactoryAdaptor.java:66)
        at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:177)
        at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:144)
        at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:131)
        at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:611)
        at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:446)
        at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:882)
        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:55)
        at org.igniterealtime.jbosh.ApacheHTTPResponse.awaitResponse(ApacheHTTPResponse.java:235)
        ... 6 more
2021-07-23 11:58:03.096 INFO: [55] impl.protocol.jabber.OperationSetBasicTelephonyJabberImpl.registrationStateChanged().127 Jingle : ON
2021-07-23 11:58:03.106 INFO: [55] org.jitsi.jigasi.JvbConference.registrationStateChanged().687 [ctx=16270558824232102248743] Registering XMPP.
2021-07-23 11:58:03.111 WARNING: [55] org.jivesoftware.smack.SASLAuthentication.selectMechanism() Server did not report any SASL mechanisms
2021-07-23 11:58:03.113 SEVERE: [55] impl.protocol.jabber.ProtocolProviderServiceJabberImpl.connectAndLogin().1003 Failed to connect to XMPP service
org.jivesoftware.smack.SmackException: No supported and enabled SASL Mechanism provided by server. Server announced mechanisms: []. Registered SASL mechanisms with Smack: [SASL Mech: GSSAPI, Prio: 100, SASL Mech: SCRAM-SHA-1-PLUS, Prio: 100, SASL Mech: SCRAM-SHA-1, Prio: 110, SASL Mech: DIGEST-MD5, Prio: 200, SASL Mech: CRAM-MD5, Prio: 300, SASL Mech: PLAIN, Prio: 400, SASL Mech: X-OAUTH2, Prio: 410, SASL Mech: EXTERNAL, Prio: 500, SASL Mech: ANONYMOUS, Prio: 500]. Enabled SASL mechanisms for this connection: null. Blacklisted SASL mechanisms: [SCRAM-SHA-1-PLUS].
        at org.jivesoftware.smack.SASLAuthentication.selectMechanism(SASLAuthentication.java:361)
        at org.jivesoftware.smack.SASLAuthentication.authenticate(SASLAuthentication.java:192)
        at org.jivesoftware.smack.bosh.XMPPBOSHConnection.loginInternal(XMPPBOSHConnection.java:222)
        at org.jivesoftware.smack.AbstractXMPPConnection.login(AbstractXMPPConnection.java:491)
        at net.java.sip.communicator.impl.protocol.jabber.LoginByPasswordStrategy.login(LoginByPasswordStrategy.java:98)
        at net.java.sip.communicator.impl.protocol.jabber.ProtocolProviderServiceJabberImpl.connectAndLogin(ProtocolProviderServiceJabberImpl.java:1371)
        at net.java.sip.communicator.impl.protocol.jabber.ProtocolProviderServiceJabberImpl.connectAndLogin(ProtocolProviderServiceJabberImpl.java:970)
        at net.java.sip.communicator.impl.protocol.jabber.ProtocolProviderServiceJabberImpl.initializeConnectAndLogin(ProtocolProviderServiceJabberImpl.java:795)
        at net.java.sip.communicator.impl.protocol.jabber.ProtocolProviderServiceJabberImpl.register(ProtocolProviderServiceJabberImpl.java:500)
        at org.jitsi.jigasi.util.RegisterThread.run(RegisterThread.java:59)
2021-07-23 11:58:03.117 SEVERE: [55] org.jitsi.jigasi.JvbConference.registrationStateChanged().691 [ctx=16270558824232102248743] XMPP Connection failed.
2021-07-23 11:58:03.119 WARNING: [55] org.jitsi.jigasi.JvbConference.leaveConferenceRoom().1123 [ctx=16270558824232102248743] MUC room is null
2021-07-23 11:58:12.795 SEVERE: [52] org.jitsi.jigasi.xmpp.CallControlMucActivator.processIQInternal().626 [ctx=16270558824232102248743] Error processing RayoIq
java.lang.Exception: Fail to join muc!
        at org.jitsi.jigasi.xmpp.CallControlMucActivator$WaitToJoinRoom.waitToJoinRoom(CallControlMucActivator.java:725)
        at org.jitsi.jigasi.xmpp.CallControlMucActivator$DialIqHandler.setDialResponseAndRegisterHangUpHandler(CallControlMucActivator.java:658)
        at org.jitsi.jigasi.xmpp.CallControlMucActivator$DialIqHandler.processIQInternal(CallControlMucActivator.java:615)
        at org.jitsi.jigasi.xmpp.CallControlMucActivator$DialIqHandler.lambda$processIQ$0(CallControlMucActivator.java:576)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:829)

I can reply to this topic with my configuration/properties files (config.js, prosody, jicofo, jigasi) if that helps. As you can see there are a lot of errors going on, and I am not sure why. Any help or advice would be greatly appreciated.

You have a mismatched password, for one. And you definitely need to resolve the certificate issue.

You were right, the certificate issue was causing a lot of problems.
But I was still running into some errors. I know it wasn’t a password issue though. I ended up commenting out all the bosh settings and setting USE_DEFAULT_STUN_SERVER to true in the Jigasi settings. That seemed to fix the problem for me.