Unable to invite transcriber due to no Jigasi instances being available

I have an unstable Jigasi setup.
Jicofo logs:

Jicofo 2020-02-25 21:17:31.342 INFO: [12] org.jitsi.jicofo.JitsiMeetServices.log() Using a Jigasi detector with MUC: JigasiBrewery@internal.auth.my-domain

Jicofo 2020-02-25 21:17:32.141 INFO: [19] org.jitsi.jicofo.xmpp.BaseBrewery.start().186 Joined brewery room: JigasiBrewery@internal.auth.my-domain

Jicofo 2020-02-25 21:17:32.301 INFO: [1] org.jitsi.impl.configuration.ConfigurationServiceImpl.log() org.jitsi.jicofo.jigasi.BREWERY=JigasiBrewery@internal.auth.my-domain

Jicofo 2020-02-25 21:18:17.206 SEVERE: [33] org.jitsi.jicofo.discovery.DiscoveryUtil.discoverVersion().200 Failed to discover version, req: <iq to='jitsi-videobridge.my-domain' id='J3cXG-78' type='get'><query xmlns='jabber:iq:version'></query></iq>, response: <iq to='focus@auth.my-domain/focus11289440366364' from='jitsi-videobridge.my-domain' id='J3cXG-78' type='error'><error type='cancel'><service-unavailable xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></iq>

Jicofo 2020-02-25 21:18:17.206 WARNING: [33] org.jitsi.jicofo.BridgeSelector.log() No pub-sub node mapped for jitsi-videobridge.my-domain

Jicofo 2020-02-25 21:20:47.192 WARNING: [33] org.jitsi.jicofo.JitsiMeetServices.log() SIP gateway went offline: callcontrol.my-domain

Jicofo 2020-02-25 21:28:09.272 WARNING: [30] org.jitsi.jicofo.JitsiMeetConferenceImpl.log() No jingle session yet for 60cdcd67

Jicofo 2020-02-25 21:28:09.994 INFO: [30] org.jitsi.jicofo.LipSyncHack.log() Not merging A/V streams from jigatest@conference.my-domain/60cdcd67 to jigatest@conference.my-domain/70da2658

Jicofo 2020-02-25 21:28:09.997 INFO: [30] org.jitsi.protocol.xmpp.AbstractOperationSetJingle.sendAddSourceIQ().478 Notify add SSRC jigatest@conference.my-domain/70da2658 SID: 6hn7lf272muir Sources{ video: [ssrc=2445511821 ssrc=3999215699 ssrc=861336859 ssrc=2148788314 ssrc=2151254893 ssrc=3554789575 ] audio: [ssrc=76881472 ] }@381862430 source_Groups{ video:[ SourceGroup(FID)[ ssrc=2445511821 ssrc=3999215699 ]SourceGroup(FID)[ ssrc=861336859 ssrc=2151254893 ]SourceGroup(FID)[ ssrc=2148788314 ssrc=3554789575 ]SourceGroup(SIM)[ ssrc=2445511821 ssrc=861336859 ssrc=2148788314 ] ] }@1100904897

Jicofo 2020-02-25 21:28:10.000 INFO: [30] org.jitsi.protocol.xmpp.AbstractOperationSetJingle.sendAddSourceIQ().478 Notify add SSRC jigatest@conference.my-domain/60cdcd67 SID: 8mbl1novde5t8 Sources{ video: [] audio: [ssrc=1342040190 ] }@150832358 source_Groups{ }@1117354530

Jicofo 2020-02-25 21:28:27.952 SEVERE: [116] org.jitsi.jicofo.jigasi.TranscriberManager.log() Error finding room for null
Jicofo 2020-02-25 21:28:27.952 INFO: [116] org.jitsi.jicofo.jigasi.TranscriberManager.log() Attempting to invite transcriber
Jicofo 2020-02-25 21:28:27.953 WARNING: [116] org.jitsi.jicofo.jigasi.TranscriberManager.log() Unable to invite transcriber due to no Jigasi instances being available
Jicofo 2020-02-25 21:28:45.867 SEVERE: [116] org.jitsi.jicofo.jigasi.TranscriberManager.log() Error finding room for null
Jicofo 2020-02-25 21:28:45.867 INFO: [116] org.jitsi.jicofo.jigasi.TranscriberManager.log() Attempting to invite transcriber
Jicofo 2020-02-25 21:28:45.867 WARNING: [116] org.jitsi.jicofo.jigasi.TranscriberManager.log() Unable to invite transcriber due to no Jigasi instances being available
Jicofo 2020-02-25 21:29:22.727 SEVERE: [116] org.jitsi.jicofo.jigasi.TranscriberManager.log() Error finding room for null
Jicofo 2020-02-25 21:29:22.728 INFO: [116] org.jitsi.jicofo.jigasi.TranscriberManager.log() Attempting to invite transcriber
Jicofo 2020-02-25 21:29:22.728 WARNING: [116] org.jitsi.jicofo.jigasi.TranscriberManager.log() Unable to invite transcriber due to no Jigasi instances being available
Jicofo 2020-02-25 21:29:39.972 INFO: [30] org.jitsi.jicofo.ChatRoomRoleAndPresence.log() Chat room event ChatRoomMemberPresenceChangeEvent[type=MemberLeft sourceRoom=org.jitsi.impl.protocol.xmpp.ChatRoomImpl@4d3e92ee member=ChatMember[jigatest@conference.my-domain/70da2658, jid: 70da2658-09a7-410a-81a2-68da45fe5cb6@guest.my-domain/a3cd1b36-1be8-4e1b-8207-bf737f47f6e0]@204125161]

Included in the Exception is:
<failure xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><not-authorized/><text>The response provided by the client doesn&apos;t match the one we calculated.</text></failure>
from here

It seems to apply to jigasibrewery@internal.auth.my-domain. From the Jigasi log:

INFO: JID allowed to make outgoing calls: jigasibrewery@internal.auth.my-domain
Feb 26, 2020 10:05:23 AM org.igniterealtime.jbosh.BOSHClient init
INFO: Starting with 1 request processors
Feb 26, 2020 10:06:00 AM org.jivesoftware.smackx.ping.PingManager pingServerIfNecessary
WARNING: XMPPConnection was not authenticated

This (above) is a run where I skip through the breakpoints so the error doesn’t occur. It seems that the XMPPConnection or the (1) request processor or jigasibrewery@internal.auth.my-domain are the one(s) to which the authentication error applies.

Compared to when I do a simple Run, with no breakpoints:

Feb 26, 2020 10:09:30 AM net.java.sip.communicator.util.Logger info
INFO: JID allowed to make outgoing calls: jigasibrewery@internal.auth.my-domain
Feb 26, 2020 10:09:30 AM org.igniterealtime.jbosh.BOSHClient init
INFO: Starting with 1 request processors
Feb 26, 2020 10:09:30 AM net.java.sip.communicator.util.Logger error
SEVERE: Failed to connect to XMPP service
org.jivesoftware.smack.sasl.SASLErrorException: SASLError using SCRAM-SHA-1: not-authorized
	at org.jivesoftware.smack.SASLAuthentication.authenticationFailed(SASLAuthentication.java:292)
	at org.jivesoftware.smack.bosh.XMPPBOSHConnection$BOSHPacketReader.responseReceived(XMPPBOSHConnection.java:538)
	at org.igniterealtime.jbosh.BOSHClient.fireResponseReceived(BOSHClient.java:1610)
	at org.igniterealtime.jbosh.BOSHClient.processExchange(BOSHClient.java:1145)
	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:834)

So this is a wrong password problem, but not the main issue of this thread (I will fix this first though).

tbd

As I said several times, ignore certs about the domains you see in prosody. These are internally used domains and does not require DNS or valid certificate. The only DNS and certificate you need is the one in the webserver, which is used to access your deployment from the web.

What about the error? Can you make anything of it?

This means wrong password.

Yes, I’m not sure how, but a trailing \n became part of the password.
I used python’s base64 encoder:

>>> import base64
>>> base64.b64encode("secret\n")
'encodedsecretCg=='
>>> base64.b64encode("secret")
'encodedsecret'  <- put this one in sip-communicator.properties at net.java.sip.communicator.impl.protocol.jabber.accxmpp.PASSWORD= and org.jitsi.jigasi.xmpp.acc.PASS=

Before I had the first one, with encoded \n, but I had used $echo secret | base64 in Ubuntu18. That doesn’t seem to encode a trailing \n so I don’t know where it came from. Maybe I copy pasted it into the command line command.

On the other hand, I found the wrong password by putting a breakpoint in
org/jivesoftware/smack/sasl/SASLMechanism.java in public final void authenticate() The base64 encoded secret is decoded during debugging.

@damencho thank you for your help so far, unfortunately, with the corrected password, and starting a call and using Jigasi brings along a number of errors. Indeed the Error this thread is named after.

I think it is related to these properties:

org.jitsi.jigasi.xmpp.acc.BOSH_URL_PATTERN=https://{host}{subdomain}/http-bind?room={roomName}
net.java.sip.communicator.impl.protocol.jabber.accxmpp.BOSH_URL=https://example.com/http-bind
net.java.sip.communicator.impl.protocol.jabber.accxmpp.BOSH_URL_PATTERN=http://{host}{subdomain}/http-bind?room={roomName}

The Jigasi log shows the following:

Feb 26, 2020 2:15:45 PM org.jivesoftware.smack.bosh.XMPPBOSHConnection shutdown
WARNING: 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:834)

Feb 26, 2020 2:15:45 PM org.jivesoftware.smack.AbstractXMPPConnection callConnectionClosedOnErrorListener
WARNING: Connection XMPPBOSHConnection[not-authenticated] (1) closed with error
org.igniterealtime.jbosh.BOSHException: Could not parse body:
<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx/1.14.0 (Ubuntu)</center>
</body>
</html>

	at org.igniterealtime.jbosh.BodyParserXmlPull.parse(BodyParserXmlPull.java:132)
	at org.igniterealtime.jbosh.StaticBody.fromString(StaticBody.java:114)
	at org.igniterealtime.jbosh.ApacheHTTPResponse.awaitResponse(ApacheHTTPResponse.java:246)
	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:834)
Caused by: java.lang.IllegalStateException: Root element was not 'body' in the 'http://jabber.org/protocol/httpbind' namespace.  (Was 'html' in '')
	at org.igniterealtime.jbosh.BodyParserXmlPull.parse(BodyParserXmlPull.java:98)
	... 8 more

Feb 26, 2020 2:15:45 PM net.java.sip.communicator.util.Logger info
INFO: Jingle : ON 
Feb 26, 2020 2:15:45 PM net.java.sip.communicator.util.Logger info
INFO: [ctx=1582722944909532491870] Registering XMPP.
Feb 26, 2020 2:15:45 PM org.jivesoftware.smack.SASLAuthentication selectMechanism
WARNING: Server did not report any SASL mechanisms
Feb 26, 2020 2:15:45 PM net.java.sip.communicator.util.Logger error
SEVERE: 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)

Feb 26, 2020 2:15:45 PM net.java.sip.communicator.util.Logger warn
WARNING: Missing resource for key: service.gui.ERROR
Feb 26, 2020 2:15:45 PM net.java.sip.communicator.util.Logger warn
WARNING: Missing resource for key: plugin.reconnectplugin.CONNECTION_FAILED_MSG
Feb 26, 2020 2:15:45 PM net.java.sip.communicator.util.Logger error
SEVERE: [ctx=1582722944909532491870] XMPP Connection failed.
Feb 26, 2020 2:15:45 PM net.java.sip.communicator.util.Logger warn
WARNING: [ctx=1582722944909532491870] MUC room is null
Feb 26, 2020 2:15:50 PM net.java.sip.communicator.util.Logger error
SEVERE: Error processing RayoIq
java.lang.Exception: Fail to join muc!
	at org.jitsi.jigasi.xmpp.CallControlMucActivator$WaitToJoinRoom.waitToJoinRoom(CallControlMucActivator.java:673)
	at org.jitsi.jigasi.xmpp.CallControlMucActivator$DialIqHandler.setDialResponseAndRegisterHangUpHandler(CallControlMucActivator.java:619)
	at org.jitsi.jigasi.xmpp.CallControlMucActivator$DialIqHandler.processIQ(CallControlMucActivator.java:576)
	at org.jitsi.jigasi.xmpp.CallControlMucActivator$DialIqHandler.processIQ(CallControlMucActivator.java:554)
	at org.jitsi.jigasi.xmpp.CallControlMucActivator$RayoIqHandler.handleIQRequest(CallControlMucActivator.java:726)
	at org.jivesoftware.smack.AbstractXMPPConnection$4.run(AbstractXMPPConnection.java:1188)
	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:834)

Feb 26, 2020 2:16:38 PM net.java.sip.communicator.util.Logger info
INFO: [ctx=15827229988491351770086] Got dial request null -> jitsi_meet_transcribe room: jigatest@conference.example.com
Feb 26, 2020 2:16:38 PM net.java.sip.communicator.util.Logger info
INFO: [ctx=15827229988491351770086] Starting JVB conference room: jigatest@conference.example.com
Feb 26, 2020 2:16:38 PM net.java.sip.communicator.util.Logger info
INFO: [ctx=15827229988491351770086] Using ProtocolProviderServiceJabberImpl(Jabber:5bc060bb@example.com/5bc060bb)
Feb 26, 2020 2:16:38 PM org.igniterealtime.jbosh.BOSHClient init
INFO: Starting with 1 request processors
Feb 26, 2020 2:16:38 PM org.jivesoftware.smack.bosh.XMPPBOSHConnection shutdown
WARNING: 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:834)

Feb 26, 2020 2:16:38 PM org.jivesoftware.smack.AbstractXMPPConnection callConnectionClosedOnErrorListener
WARNING: Connection XMPPBOSHConnection[not-authenticated] (2) closed with error
org.igniterealtime.jbosh.BOSHException: Could not parse body:
<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx/1.14.0 (Ubuntu)</center>
</body>
</html>

	at org.igniterealtime.jbosh.BodyParserXmlPull.parse(BodyParserXmlPull.java:132)
	at org.igniterealtime.jbosh.StaticBody.fromString(StaticBody.java:114)
	at org.igniterealtime.jbosh.ApacheHTTPResponse.awaitResponse(ApacheHTTPResponse.java:246)
	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:834)
Caused by: java.lang.IllegalStateException: Root element was not 'body' in the 'http://jabber.org/protocol/httpbind' namespace.  (Was 'html' in '')
	at org.igniterealtime.jbosh.BodyParserXmlPull.parse(BodyParserXmlPull.java:98)
	... 8 more

Feb 26, 2020 2:16:38 PM net.java.sip.communicator.util.Logger info
INFO: Jingle : ON 
Feb 26, 2020 2:16:38 PM net.java.sip.communicator.util.Logger info
INFO: [ctx=15827229988491351770086] Registering XMPP.
Feb 26, 2020 2:16:38 PM org.jivesoftware.smack.SASLAuthentication selectMechanism
WARNING: Server did not report any SASL mechanisms
Feb 26, 2020 2:16:38 PM net.java.sip.communicator.util.Logger error
SEVERE: 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)

Feb 26, 2020 2:16:38 PM net.java.sip.communicator.util.Logger error
SEVERE: [ctx=15827229988491351770086] XMPP Connection failed.
Feb 26, 2020 2:16:38 PM net.java.sip.communicator.util.Logger warn
WARNING: [ctx=15827229988491351770086] MUC room is null
Feb 26, 2020 2:16:38 PM net.java.sip.communicator.util.Logger warn
WARNING: Missing resource for key: service.gui.ERROR
Feb 26, 2020 2:16:38 PM net.java.sip.communicator.util.Logger warn
WARNING: Missing resource for key: plugin.reconnectplugin.CONNECTION_FAILED_MSG
Feb 26, 2020 2:16:43 PM net.java.sip.communicator.util.Logger error
SEVERE: Error processing RayoIq
java.lang.Exception: Fail to join muc!
	at org.jitsi.jigasi.xmpp.CallControlMucActivator$WaitToJoinRoom.waitToJoinRoom(CallControlMucActivator.java:673)
	at org.jitsi.jigasi.xmpp.CallControlMucActivator$DialIqHandler.setDialResponseAndRegisterHangUpHandler(CallControlMucActivator.java:619)
	at org.jitsi.jigasi.xmpp.CallControlMucActivator$DialIqHandler.processIQ(CallControlMucActivator.java:576)
	at org.jitsi.jigasi.xmpp.CallControlMucActivator$DialIqHandler.processIQ(CallControlMucActivator.java:554)
	at org.jitsi.jigasi.xmpp.CallControlMucActivator$RayoIqHandler.handleIQRequest(CallControlMucActivator.java:726)
	at org.jivesoftware.smack.AbstractXMPPConnection$4.run(AbstractXMPPConnection.java:1188)
	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:834)

While the jicofo log shows, as above:

Jicofo 2020-02-26 14:16:24.448 INFO: [30] org.jitsi.jicofo.LipSyncHack.log() Not merging A/V streams from jigatest@conference.example.com/0c826cb2 to jigatest@conference.example.com/25a48bea
Jicofo 2020-02-26 14:16:24.448 INFO: [30] org.jitsi.protocol.xmpp.AbstractOperationSetJingle.sendAddSourceIQ().478 Notify add SSRC jigatest@conference.example.com/25a48bea SID: 47osvdiq3cmam Sources{ audio: [ssrc=901371882 ] video: [ssrc=3364197929 ssrc=487999163 ssrc=2264212269 ssrc=3523242932 ssrc=1036458 ssrc=1463759627 ] }@15229416 source_Groups{ video:[ SourceGroup(FID)[ ssrc=3364197929 ssrc=487999163 ]SourceGroup(FID)[ ssrc=2264212269 ssrc=1036458 ]SourceGroup(FID)[ ssrc=3523242932 ssrc=1463759627 ]SourceGroup(SIM)[ ssrc=3364197929 ssrc=2264212269 ssrc=3523242932 ] ] }@539655557
Jicofo 2020-02-26 14:16:38.845 SEVERE: [116] org.jitsi.jicofo.jigasi.TranscriberManager.log() Error finding room for null
Jicofo 2020-02-26 14:16:38.845 INFO: [116] org.jitsi.jicofo.jigasi.TranscriberManager.log() Attempting to invite transcriber
Jicofo 2020-02-26 14:16:43.858 WARNING: [116] org.jitsi.jicofo.jigasi.TranscriberManager.log() failed to invite transcriber. Got error: null
Jicofo 2020-02-26 14:16:43.858 INFO: [116] org.jitsi.jicofo.jigasi.TranscriberManager.log() Attempting to invite transcriber
Jicofo 2020-02-26 14:16:43.858 WARNING: [116] org.jitsi.jicofo.jigasi.TranscriberManager.log() Unable to invite transcriber due to no Jigasi instances being available

The bosh url pattern is wrong, should be https, not http …

Does properly show

<html><body>
	<p>It works! Now point your BOSH client to this URL to connect to Prosody.</p>
	<p>For more information see <a href="http://prosody.im/doc/setting_up_bosh">Prosody: Setting up BOSH</a>.</p>
	</body></html>

OK, I changed it but get more errors:

NFO: Joining call control room: JigasiBrewery@internal.auth.example.com pps:ProtocolProviderServiceJabberImpl(Jabber:jigasi@auth.example.com)
Feb 26, 2020 2:32:57 PM net.java.sip.communicator.util.Logger warn
WARNING: Missing resource for key: service.gui.NOT_IN_CONTACT_LIST_GROUP_NAME
Feb 26, 2020 2:32:57 PM net.java.sip.communicator.util.Logger warn
WARNING: Missing resource for key: service.gui.NOT_IN_CONTACT_LIST_GROUP_NAME
Feb 26, 2020 2:32:57 PM net.java.sip.communicator.util.Logger warn
WARNING: Missing resource for key: service.gui.NOT_IN_CONTACT_LIST_GROUP_NAME
Feb 26, 2020 2:32:57 PM net.java.sip.communicator.util.Logger warn
WARNING: Missing resource for key: service.gui.NOT_IN_CONTACT_LIST_GROUP_NAME
Feb 26, 2020 2:32:57 PM net.java.sip.communicator.util.Logger warn
WARNING: Missing resource for key: service.gui.NOT_IN_CONTACT_LIST_GROUP_NAME
Feb 26, 2020 2:32:57 PM net.java.sip.communicator.util.Logger warn
WARNING: Missing resource for key: service.gui.NOT_IN_CONTACT_LIST_GROUP_NAME
Feb 26, 2020 2:32:57 PM net.java.sip.communicator.util.Logger warn
WARNING: Missing resource for key: service.gui.NOT_IN_CONTACT_LIST_GROUP_NAME
Feb 26, 2020 2:32:57 PM net.java.sip.communicator.util.Logger info
INFO: jigasibrewery@internal.auth.example.com/focus has joined the jigasibrewery@internal.auth.example.com chat room.
Feb 26, 2020 2:32:57 PM net.java.sip.communicator.util.Logger warn
WARNING: Missing resource for key: service.gui.NOT_IN_CONTACT_LIST_GROUP_NAME
Feb 26, 2020 2:33:51 PM net.java.sip.communicator.util.Logger info
INFO: [ctx=15827240317211599443967] Got dial request null -> jitsi_meet_transcribe room: jigatest@conference.example.com
Feb 26, 2020 2:33:51 PM com.google.auth.oauth2.DefaultCredentialsProvider warnAboutProblematicCredentials
WARNING: Your application has authenticated using end user credentials from Google Cloud SDK. We recommend that most server applications use service accounts instead. If your application continues to use end user credentials from Cloud SDK, you might receive a "quota exceeded" or "API not enabled" error. For more information about service accounts, see https://cloud.google.com/docs/authentication/.
Feb 26, 2020 2:33:51 PM net.java.sip.communicator.util.Logger info
INFO: [ctx=15827240317211599443967] Starting JVB conference room: jigatest@conference.example.com
Feb 26, 2020 2:33:51 PM net.java.sip.communicator.util.Logger info
INFO: [ctx=15827240317211599443967] Using ProtocolProviderServiceJabberImpl(Jabber:0bf62de7@example.com/0bf62de7)
Feb 26, 2020 2:33:52 PM org.igniterealtime.jbosh.BOSHClient init
INFO: Starting with 1 request processors
Feb 26, 2020 2:33:52 PM org.jivesoftware.smack.bosh.XMPPBOSHConnection shutdown
WARNING: 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:834)

Feb 26, 2020 2:33:52 PM org.jivesoftware.smack.AbstractXMPPConnection callConnectionClosedOnErrorListener
WARNING: Connection XMPPBOSHConnection[not-authenticated] (1) closed with error
org.igniterealtime.jbosh.BOSHException: Could not parse body:
<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx/1.14.0 (Ubuntu)</center>
</body>
</html>

	at org.igniterealtime.jbosh.BodyParserXmlPull.parse(BodyParserXmlPull.java:132)
	at org.igniterealtime.jbosh.StaticBody.fromString(StaticBody.java:114)
	at org.igniterealtime.jbosh.ApacheHTTPResponse.awaitResponse(ApacheHTTPResponse.java:246)
	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:834)
Caused by: java.lang.IllegalStateException: Root element was not 'body' in the 'http://jabber.org/protocol/httpbind' namespace.  (Was 'html' in '')
	at org.igniterealtime.jbosh.BodyParserXmlPull.parse(BodyParserXmlPull.java:98)
	... 8 more

Feb 26, 2020 2:33:52 PM net.java.sip.communicator.util.Logger info
INFO: Jingle : ON 
Feb 26, 2020 2:33:52 PM net.java.sip.communicator.util.Logger info
INFO: [ctx=15827240317211599443967] Registering XMPP.
Feb 26, 2020 2:33:52 PM org.jivesoftware.smack.SASLAuthentication selectMechanism
WARNING: Server did not report any SASL mechanisms
Feb 26, 2020 2:33:52 PM net.java.sip.communicator.util.Logger error
SEVERE: 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)

Feb 26, 2020 2:33:52 PM net.java.sip.communicator.util.Logger error
SEVERE: [ctx=15827240317211599443967] XMPP Connection failed.
Feb 26, 2020 2:33:52 PM net.java.sip.communicator.util.Logger warn
WARNING: [ctx=15827240317211599443967] MUC room is null
Feb 26, 2020 2:33:52 PM net.java.sip.communicator.util.Logger warn
WARNING: Missing resource for key: service.gui.ERROR
Feb 26, 2020 2:33:52 PM net.java.sip.communicator.util.Logger warn
WARNING: Missing resource for key: plugin.reconnectplugin.CONNECTION_FAILED_MSG
Feb 26, 2020 2:33:57 PM net.java.sip.communicator.util.Logger error
SEVERE: Error processing RayoIq
java.lang.Exception: Fail to join muc!
	at org.jitsi.jigasi.xmpp.CallControlMucActivator$WaitToJoinRoom.waitToJoinRoom(CallControlMucActivator.java:673)
	at org.jitsi.jigasi.xmpp.CallControlMucActivator$DialIqHandler.setDialResponseAndRegisterHangUpHandler(CallControlMucActivator.java:619)
	at org.jitsi.jigasi.xmpp.CallControlMucActivator$DialIqHandler.processIQ(CallControlMucActivator.java:576)
	at org.jitsi.jigasi.xmpp.CallControlMucActivator$DialIqHandler.processIQ(CallControlMucActivator.java:554)
	at org.jitsi.jigasi.xmpp.CallControlMucActivator$RayoIqHandler.handleIQRequest(CallControlMucActivator.java:726)
	at org.jivesoftware.smack.AbstractXMPPConnection$4.run(AbstractXMPPConnection.java:1188)
	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:834)

I did restart the services. Maybe it is one of these:

net.java.sip.communicator.impl.protocol.jabber.accxmpp.ACCOUNT_UID=Jabber:jigasi@auth.example.com
net.java.sip.communicator.impl.protocol.jabber.accxmpp.USER_ID=jigasi@auth.example.com
net.java.sip.communicator.impl.protocol.jabber.accxmpp.IS_SERVER_OVERRIDDEN=true
net.java.sip.communicator.impl.protocol.jabber.accxmpp.SERVER_ADDRESS=10.0.2.15
net.java.sip.communicator.impl.protocol.jabber.accxmpp.SERVER_PORT=5222
net.java.sip.communicator.impl.protocol.jabber.accxmpp.BOSH_URL=https://example.com/http-bind

The log above still has the 301 move response, which means you are hitting http url for bosh, which is not supported …

There may be an underearth authentication problem similar to the oprevious one in play here, but in with the http/s pattern issue fixed, jicofo logs:

Jicofo 2020-02-26 14:54:05.751 INFO: [30] org.jitsi.jicofo.LipSyncHack.log() Not merging A/V streams from jigatest@conference.example.com/34a64437 to jigatest@conference.example.com/e0217080
Jicofo 2020-02-26 14:54:05.751 INFO: [30] org.jitsi.protocol.xmpp.AbstractOperationSetJingle.sendAddSourceIQ().478 Notify add SSRC jigatest@conference.example.com/e0217080 SID: 83h4et9qmoii5 Sources{ audio: [ssrc=1185444337 ] video: [ssrc=3819899587 ssrc=235374700 ssrc=810765501 ssrc=855945115 ssrc=1680618703 ssrc=2521258371 ] }@650839385 source_Groups{ video:[ SourceGroup(FID)[ ssrc=3819899587 ssrc=235374700 ]SourceGroup(FID)[ ssrc=810765501 ssrc=1680618703 ]SourceGroup(FID)[ ssrc=855945115 ssrc=2521258371 ]SourceGroup(SIM)[ ssrc=3819899587 ssrc=810765501 ssrc=855945115 ] ] }@1055607376
Jicofo 2020-02-26 14:54:10.570 WARNING: [102] org.jitsi.jicofo.jigasi.TranscriberManager.log() failed to invite transcriber; lack of response from XmmpConnection
Jicofo 2020-02-26 14:54:10.571 INFO: [102] org.jitsi.jicofo.jigasi.TranscriberManager.log() Attempting to invite transcriber
Jicofo 2020-02-26 14:54:10.571 WARNING: [102] org.jitsi.jicofo.jigasi.TranscriberManager.log() Unable to invite transcriber due to no Jigasi instances being available
Jicofo 2020-02-26 14:54:10.571 SEVERE: [102] org.jitsi.jicofo.jigasi.TranscriberManager.log() Error finding room for null
Jicofo 2020-02-26 14:54:10.571 INFO: [102] org.jitsi.jicofo.jigasi.TranscriberManager.log() Attempting to invite transcriber
Jicofo 2020-02-26 14:54:10.571 WARNING: [102] org.jitsi.jicofo.jigasi.TranscriberManager.log() Unable to invite transcriber due to no Jigasi instances being available
Jicofo 2020-02-26 14:54:31.364 SEVERE: [102] org.jitsi.jicofo.jigasi.TranscriberManager.log() Error finding room for null
Jicofo 2020-02-26 14:54:31.365 INFO: [102] org.jitsi.jicofo.jigasi.TranscriberManager.log() Attempting to invite transcriber
Jicofo 2020-02-26 14:54:31.365 WARNING: [102] org.jitsi.jicofo.jigasi.TranscriberManager.log() Unable to invite transcriber due to no Jigasi instances being available
Jicofo 2020-02-26 14:55:12.847 SEVERE: [102] org.jitsi.jicofo.jigasi.TranscriberManager.log() Error finding room for null
Jicofo 2020-02-26 14:55:12.847 INFO: [102] org.jitsi.jicofo.jigasi.TranscriberManager.log() Attempting to invite transcriber
Jicofo 2020-02-26 14:55:12.847 WARNING: [102] org.jitsi.jicofo.jigasi.TranscriberManager.log() Unable to invite transcriber due to no Jigasi instances being available
Jicofo 2020-02-26 14:55:48.539 INFO: [30] org.jitsi.jicofo.ChatRoomRoleAndPresence.log() Chat room event ChatRoomMemberPresenceChangeEvent[type=MemberLeft sourceRoom=org.jitsi.impl.protocol.xmpp.ChatRoomImpl@67243552 member=ChatMember[jigatest@conference.example.com/e0217080, jid: e0217080-0c7f-4b05-b6be-3a9a0477a248@guest.example.com/91450b25-c49c-486b-9ff6-49e18c5b3e0c]@2141843175]
Jicofo 2020-02-26 14:55:48.539 INFO: [30] org.jitsi.jicofo.JitsiMeetConferenceImpl.log() Member jigatest@conference.example.com/e0217080 is leaving

I think it is identical to what was logged before.

I don’t understand much of what is in the Readme.md on github for that matter, for example, I don’t do this:
“It is also possible to use Jigasi as a provider of nearly real-time transcription while a conference is ongoing as well as serving a complete transcription after the conference is over. This can be done by using the SIP dial button and using the the URI jitsi_meet_transcribe .” But I guess that is for SIP (?) Is anything more needed at this point to make Jigasi work?

This means there are no jigasi instances to be used.

This you can ignore, this needs to be removed.

Maybe, clear the logs, start jigasi and attach the logs here.

Thank you. Could you please take a look at the attached Jigasi and Jicofo logs? I restarted the services and cleaned the logs, then Debug Jigasi from IntelliJ, then use a Chrome webclient to start the jigatest call, I then join with an Android client. I then click the CC transcribver button, I then talk Test 123 test, I then hang up on Android, then hang up on the web client, I then start jigatest again from the webclient, join with Android, talk test123, hang up android and hang up on the webclient.jigasi_log.txt (35.8 KB) jicofo_log.txt (27.6 KB)

To me it simply boils down to messages like these:

Feb 26, 2020 4:43:00 PM org.jivesoftware.smackx.ping.PingManager pingServerIfNecessary
WARNING: XMPPConnection was not authenticated
Feb 26, 2020 4:43:30 PM net.java.sip.communicator.util.Logger warn
WARNING: Missing resource for key: service.gui.ERROR
Feb 26, 2020 4:43:30 PM net.java.sip.communicator.util.Logger warn
WARNING: Missing resource for key: plugin.reconnectplugin.CONNECTION_FAILED_MSG
Feb 26, 2020 4:43:30 PM org.jivesoftware.smack.roster.Roster$PresencePacketListener processStanza
WARNING: Roster not loaded while processing Presence Stanza [id=FeuBy-11,type=error,]

and

Jicofo 2020-02-26 16:43:16.034 INFO: [30] org.jitsi.protocol.xmpp.AbstractOperationSetJingle.sendAddSourceIQ().478 Notify add SSRC jigatest@conference.counseledmeet$
Jicofo 2020-02-26 16:43:20.080 SEVERE: [90] org.jitsi.jicofo.jigasi.TranscriberManager.log() Error finding room for null
Jicofo 2020-02-26 16:43:20.081 INFO: [90] org.jitsi.jicofo.jigasi.TranscriberManager.log() Attempting to invite transcriber
Jicofo 2020-02-26 16:43:20.082 WARNING: [90] org.jitsi.jicofo.jigasi.TranscriberManager.log() Unable to invite transcriber due to no Jigasi instances being available

I am not able currently to attach a remote debugger to jicofo. Do you have experience with that?

The logs are kind of unreadable as you are not using the logging.properties, but I’m looking at those.
You need to pass as vm option
-Djava.util.logging.config.file=lib/logging.properties