Jigasi cannot login to XMPP

Good afternoon.

This post refers to the installation of jigasi in Ubuntu 18.04 using apt packages for jitsi meet and jigasi as per Self-Hosting Guide - Debian/Ubuntu server and jigasi configuration manual on GitHub.

After trying to install Jigasi with transcription role only, I’ve hit a roadblock.

Every jigasi startup, the log shows this error:

[...] Server announced mechanisms: [] [...]
Searching for help turned up that probably the credentials are incorrect and do not match the ones configured in prosody by the prosodyctl adduser <userid>. This was the command I used to add the jigasi@auth.my-domain user. The validity of the credentials was verified with the poezio command line XMPP client, as I could login to prosody with no issues except from not having dns records for auth.my-domain which was resolved by adding the mapping to the /etc/hosts file. I’ve tried multiple configurations and solutions as per the following 2 links:

All VoIP (SIP) configurations are commented on the sip-communicator.properties file as for the use case VoIP is not a requirement.

I have also tried component and non-component startup options for jigasi as per the jigasi configuration manual on GitHub (accomplished by editing the unit file for the service).

And of course, jicofo.log file shows that it cannot find jigasi instance when I try to activate the transcription functionality (the closedcaption button is available despite the error).

Prosody log shows that callcontrol MUC component is authenticated. Jicofo and videobridge users also authenticate successfully.

Base64 encoding of the password obtained with base64encode site. I have also double checked that the resulting encoding is correct in properties file

Prosody’s configuration is the default after jitsi meet installation.

In jigasi/sip-communicator.properties I have tried both:
net.java.sip.communicator.impl.protocol.jabber.accxmpp.ACCOUNT_UID=Jabber:jigasi@auth.my-domain@my-domain and net.java.sip.communicator.impl.protocol.jabber.accxmpp.ACCOUNT_UID=Jabber:jigasi@auth.my-domain@internal.server.ip with the same result. This also was the case with net.java.sip.communicator.impl.protocol.jabber.accxmpp.SERVER_ADDRESS=my-domain

Relevant (I think) part of jigasi/sip-communicator.properties (domain and passwords obfuscated):

net.java.sip.communicator.impl.protocol.jabber.accxmpp=accxmpp
net.java.sip.communicator.impl.protocol.jabber.accxmpp.ACCOUNT_UID=Jabber:jigasi@auth.my-domain@my-domain
net.java.sip.communicator.impl.protocol.jabber.accxmpp.USER_ID=jigasi@auth.my-domain
net.java.sip.communicator.impl.protocol.jabber.accxmpp.IS_SERVER_OVERRIDDEN=true

# this is the internal IP address of the xmpp server (if it is running on the same machine)
net.java.sip.communicator.impl.protocol.jabber.accxmpp.SERVER_ADDRESS=my-domain

net.java.sip.communicator.impl.protocol.jabber.accxmpp.SERVER_PORT=5222
net.java.sip.communicator.impl.protocol.jabber.accxmpp.BOSH_URL=https://my-domain/http-bind
net.java.sip.communicator.impl.protocol.jabber.accxmpp.ALLOW_NON_SECURE=true

#base64 AES keyLength:256 or 128 for the password
#net.java.sip.communicator.impl.protocol.jabber.accxmpp.PASS=<not_shown_for_security>
net.java.sip.communicator.impl.protocol.jabber.accxmpp.PASSWORD=<not_shown_for_security>

net.java.sip.communicator.impl.protocol.jabber.accxmpp.AUTO_GENERATE_RESOURCE=true
net.java.sip.communicator.impl.protocol.jabber.accxmpp.RESOURCE_PRIORITY=30

net.java.sip.communicator.impl.protocol.jabber.accxmpp.KEEP_ALIVE_METHOD=XEP-0199
net.java.sip.communicator.impl.protocol.jabber.accxmpp.KEEP_ALIVE_INTERVAL=30
net.java.sip.communicator.impl.protocol.jabber.accxmpp.CALLING_DISABLED=true
net.java.sip.communicator.impl.protocol.jabber.accxmpp.JINGLE_NODES_ENABLED=false
net.java.sip.communicator.impl.protocol.jabber.accxmpp.IS_CARBON_DISABLED=true
net.java.sip.communicator.impl.protocol.jabber.accxmpp.DEFAULT_ENCRYPTION=true
net.java.sip.communicator.impl.protocol.jabber.accxmpp.IS_USE_ICE=true
net.java.sip.communicator.impl.protocol.jabber.accxmpp.IS_ACCOUNT_DISABLED=false
net.java.sip.communicator.impl.protocol.jabber.accxmpp.IS_PREFERRED_PROTOCOL=false
net.java.sip.communicator.impl.protocol.jabber.accxmpp.AUTO_DISCOVER_JINGLE_NODES=false
net.java.sip.communicator.impl.protocol.jabber.accxmpp.PROTOCOL=Jabber
net.java.sip.communicator.impl.protocol.jabber.accxmpp.IS_USE_UPNP=false
net.java.sip.communicator.impl.protocol.jabber.accxmpp.IM_DISABLED=true
net.java.sip.communicator.impl.protocol.jabber.accxmpp.SERVER_STORED_INFO_DISABLED=true
net.java.sip.communicator.impl.protocol.jabber.accxmpp.IS_FILE_TRANSFER_DISABLED=true
net.java.sip.communicator.impl.protocol.jabber.accxmpp.USE_DEFAULT_STUN_SERVER=true
net.java.sip.communicator.impl.protocol.jabber.accxmpp.ENCRYPTION_PROTOCOL.DTLS-SRTP=0
net.java.sip.communicator.impl.protocol.jabber.accxmpp.ENCRYPTION_PROTOCOL_STATUS.DTLS-SRTP=true
net.java.sip.communicator.impl.protocol.jabber.accxmpp.OVERRIDE_ENCODINGS=true
net.java.sip.communicator.impl.protocol.jabber.accxmpp.Encodings.G722/8000=705
net.java.sip.communicator.impl.protocol.jabber.accxmpp.Encodings.GSM/8000=0
net.java.sip.communicator.impl.protocol.jabber.accxmpp.Encodings.H263-1998/90000=0
net.java.sip.communicator.impl.protocol.jabber.accxmpp.Encodings.H264/90000=0
net.java.sip.communicator.impl.protocol.jabber.accxmpp.Encodings.PCMA/8000=0
net.java.sip.communicator.impl.protocol.jabber.accxmpp.Encodings.PCMU/8000=0
net.java.sip.communicator.impl.protocol.jabber.accxmpp.Encodings.SILK/12000=0
net.java.sip.communicator.impl.protocol.jabber.accxmpp.Encodings.SILK/16000=0
net.java.sip.communicator.impl.protocol.jabber.accxmpp.Encodings.SILK/24000=0
net.java.sip.communicator.impl.protocol.jabber.accxmpp.Encodings.SILK/8000=0
net.java.sip.communicator.impl.protocol.jabber.accxmpp.Encodings.VP8/90000=0
net.java.sip.communicator.impl.protocol.jabber.accxmpp.Encodings.iLBC/8000=0
net.java.sip.communicator.impl.protocol.jabber.accxmpp.Encodings.opus/48000=750
net.java.sip.communicator.impl.protocol.jabber.accxmpp.Encodings.speex/16000=0
net.java.sip.communicator.impl.protocol.jabber.accxmpp.Encodings.speex/32000=0
net.java.sip.communicator.impl.protocol.jabber.accxmpp.Encodings.speex/8000=0
net.java.sip.communicator.impl.protocol.jabber.accxmpp.BREWERY=JigasiBrewery@internal.auth.my-domain
net.java.sip.communicator.impl.protocol.jabber.accxmpp.BOSH_URL_PATTERN=https://{host}{subdomain}/http-bind?room={roomName}
net.java.sip.communicator.impl.protocol.jabber.accxmpp.DOMAIN_BASE=my-domain

The following snippet of the properties file has been tried both commented and uncommented, with the same result:

#org.jitsi.jigasi.xmpp.acc.IS_SERVER_OVERRIDDEN=true
#org.jitsi.jigasi.xmpp.acc.SERVER_ADDRESS=my-domain
#org.jitsi.jigasi.xmpp.acc.VIDEO_CALLING_DISABLED=true
#org.jitsi.jigasi.xmpp.acc.JINGLE_NODES_ENABLED=false
#org.jitsi.jigasi.xmpp.acc.AUTO_DISCOVER_STUN=false
#org.jitsi.jigasi.xmpp.acc.IM_DISABLED=true
#org.jitsi.jigasi.xmpp.acc.SERVER_STORED_INFO_DISABLED=true
#org.jitsi.jigasi.xmpp.acc.IS_FILE_TRANSFER_DISABLED=true
#org.jitsi.jigasi.xmpp.acc.KEEP_ALIVE_METHOD=XEP-0199
#org.jitsi.jigasi.xmpp.acc.KEEP_ALIVE_INTERVAL=30

#org.jitsi.jigasi.xmpp.acc.USER_ID=jigasi@auth.my-domain
#org.jitsi.jigasi.xmpp.acc.PASS=<not_shown_for_security>
#org.jitsi.jigasi.xmpp.acc.ANONYMOUS_AUTH=false
#org.jitsi.jigasi.xmpp.acc.ALLOW_NON_SECURE=true

#org.jitsi.jigasi.xmpp.acc.BOSH_URL_PATTERN=https://{host}{subdomain}/http-bind?room={roomName}
#org.jitsi.jigasi.xmpp.acc.Encodings.H264/90000=0
#org.jitsi.jigasi.xmpp.acc.Encodings.VP8/90000=0
#org.jitsi.jigasi.xmpp.acc.Encodings.telephone-event/8000=0
#org.jitsi.jigasi.xmpp.acc.Encodings.opus/48000=1000
#org.jitsi.jigasi.xmpp.acc.OVERRIDE_ENCODINGS=true

#org.jitsi.jigasi.JVB_INVITE_TIMEOUT=1800000

Let me know if any more information is needed to shed light on the issue.

So, that’s where I sit right now. If anyone can help, it would be very much apreciated as I’m at a loss as to what to try next.

Did anyone solve this problem? We have the same problem here, we would really like to use the transcription feature.