JIGASI Cant join transcriber with password protected room

Hello.

I have working my JITSI (all components last version) with JIGASI using Google Speech To Text API for transcriptions.

Everything works OK until I set a lock password to the room. When the room is password protected, the JIGASI Transcriber cannot join the room

The same DOES work with JIGASI using SIP calls, where with the Auth Header, the SIP server sends the password of the room. But it seems that JIGASI does not handle this when using onlye the transcriber.

For now I deactivate the room password, join the transcriber and the reactivate the room password. Please your help to solve this issue o to proper config my JIGASI.

INFO: [ctx=1660720933543625112220] Got dial request null -> jitsi_meet_transcribe room: 1277b61c@muc.meetpoc.in2tant.cloud
Aug 17, 2022 7:22:13 AM org.jitsi.utils.logging.LoggerImpl log
INFO: [ctx=1660720933543625112220] Starting JVB conference room: 1277b61c@muc.meetpoc.in2tant.cloud
Aug 17, 2022 7:22:13 AM org.jitsi.utils.logging.LoggerImpl log
INFO: [ctx=1660720933543625112220] Using ProtocolProviderServiceJabberImpl(Jabber:jigasi@guest.meetpoc.in2tant.cloud/1a31474d)
Aug 17, 2022 7:22:13 AM net.java.sip.communicator.impl.packetlogging.PacketLoggingServiceImpl$SaverThread run
SEVERE: Error writing packet to file
java.lang.SecurityException: Insufficient rights to access this file in current user's home directory: /config/log/jitsi0.pcap
        at org.jitsi.impl.fileaccess.FileAccessServiceImpl.getPrivatePersistentFile(FileAccessServiceImpl.java:171)
        at net.java.sip.communicator.impl.packetlogging.PacketLoggingServiceImpl.getFileNames(PacketLoggingServiceImpl.java:194)
        at net.java.sip.communicator.impl.packetlogging.PacketLoggingServiceImpl.savePacket(PacketLoggingServiceImpl.java:579)
        at net.java.sip.communicator.impl.packetlogging.PacketLoggingServiceImpl$SaverThread.run(PacketLoggingServiceImpl.java:831)

Aug 17, 2022 7:22:13 AM net.java.sip.communicator.impl.packetlogging.PacketLoggingServiceImpl$SaverThread run
SEVERE: Error writing packet to file
java.lang.SecurityException: Insufficient rights to access this file in current user's home directory: /config/log/jitsi0.pcap
        at org.jitsi.impl.fileaccess.FileAccessServiceImpl.getPrivatePersistentFile(FileAccessServiceImpl.java:171)
        at net.java.sip.communicator.impl.packetlogging.PacketLoggingServiceImpl.getFileNames(PacketLoggingServiceImpl.java:194)
        at net.java.sip.communicator.impl.packetlogging.PacketLoggingServiceImpl.savePacket(PacketLoggingServiceImpl.java:579)
        at net.java.sip.communicator.impl.packetlogging.PacketLoggingServiceImpl$SaverThread.run(PacketLoggingServiceImpl.java:831)

Aug 17, 2022 7:22:13 AM net.java.sip.communicator.impl.protocol.jabber.OperationSetBasicTelephonyJabberImpl registrationStateChanged
INFO: Jingle : ON
Aug 17, 2022 7:22:13 AM org.jitsi.utils.logging.LoggerImpl log
INFO: [ctx=1660720933543625112220] Registering XMPP.
Aug 17, 2022 7:22:13 AM net.java.sip.communicator.impl.protocol.jabber.ProtocolProviderServiceJabberImpl$JabberConnectionListener authenticated
INFO: Authenticated: false
Aug 17, 2022 7:22:13 AM org.jitsi.utils.logging.LoggerImpl log
INFO: [ctx=1660720933543625112220] Joining JVB conference room: 1277b61c@muc.meetpoc.in2tant.cloud
Aug 17, 2022 7:22:13 AM net.java.sip.communicator.impl.protocol.jabber.ChatRoomJabberImpl$ChatRoomPresenceListener processStanza
WARNING: Unable to handle packet: Presence Stanza [to=e935020d-01c1-46fb-83ba-e05ff606e077@guest.meetpoc.in2tant.cloud/ZJFB72sepBqV,from=1277b61c@muc.meetpoc.in2tant.cloud/1a31474d,id=CHIRQ-1,type=error,]
Aug 17, 2022 7:22:13 AM net.java.sip.communicator.impl.protocol.jabber.ChatRoomJabberImpl joinAs
SEVERE: Failed to join chat room 1277b61c@muc.meetpoc.in2tant.cloud with nickname: 1a31474d. The chat room requests a password.
org.jivesoftware.smack.XMPPException$XMPPErrorException: XMPP error reply received from 1277b61c@muc.meetpoc.in2tant.cloud/1a31474d: XMPPError: not-authorized - auth. Generated by 1277b61c@muc.meetpoc.in2tant.cloud
        at org.jivesoftware.smack.XMPPException$XMPPErrorException.ifHasErrorThenThrow(XMPPException.java:171)
        at org.jivesoftware.smack.XMPPException$XMPPErrorException.ifHasErrorThenThrow(XMPPException.java:165)
        at org.jivesoftware.smack.StanzaCollector.nextResultOrThrow(StanzaCollector.java:284)
        at org.jivesoftware.smackx.muc.MultiUserChat.enter(MultiUserChat.java:408)
        at org.jivesoftware.smackx.muc.MultiUserChat.join(MultiUserChat.java:721)
        at org.jivesoftware.smackx.muc.MultiUserChat.join(MultiUserChat.java:651)
        at net.java.sip.communicator.impl.protocol.jabber.ChatRoomJabberImpl.joinAs(ChatRoomJabberImpl.java:739)
        at net.java.sip.communicator.impl.protocol.jabber.ChatRoomJabberImpl.joinAs(ChatRoomJabberImpl.java:873)
        at org.jitsi.jigasi.JvbConference.joinConferenceRoom(JvbConference.java:846)
        at org.jitsi.jigasi.JvbConference.registrationStateChanged(JvbConference.java:650)
        at net.java.sip.communicator.service.protocol.AbstractProtocolProviderService.fireRegistrationStateChanged(AbstractProtocolProviderService.java:185)
        at net.java.sip.communicator.service.protocol.AbstractProtocolProviderService.fireRegistrationStateChanged(AbstractProtocolProviderService.java:139)
        at net.java.sip.communicator.impl.protocol.jabber.ProtocolProviderServiceJabberImpl.connectAndLogin(ProtocolProviderServiceJabberImpl.java:1392)
        at net.java.sip.communicator.impl.protocol.jabber.ProtocolProviderServiceJabberImpl.connectAndLogin(ProtocolProviderServiceJabberImpl.java:965)
        at net.java.sip.communicator.impl.protocol.jabber.ProtocolProviderServiceJabberImpl.initializeConnectAndLogin(ProtocolProviderServiceJabberImpl.java:790)
        at net.java.sip.communicator.impl.protocol.jabber.ProtocolProviderServiceJabberImpl.register(ProtocolProviderServiceJabberImpl.java:495)
        at org.jitsi.jigasi.util.RegisterThread.run(RegisterThread.java:59)

Aug 17, 2022 7:22:13 AM org.jitsi.utils.logging.LoggerImpl log
SEVERE: [ctx=1660720933543625112220] Failed to join chat room 1277b61c@muc.meetpoc.in2tant.cloud with nickname: 1a31474d. The chat room requests a password.
net.java.sip.communicator.service.protocol.OperationFailedException: Failed to join chat room 1277b61c@muc.meetpoc.in2tant.cloud with nickname: 1a31474d. The chat room requests a password.
        at net.java.sip.communicator.impl.protocol.jabber.ChatRoomJabberImpl.joinAs(ChatRoomJabberImpl.java:788)
        at net.java.sip.communicator.impl.protocol.jabber.ChatRoomJabberImpl.joinAs(ChatRoomJabberImpl.java:873)
        at org.jitsi.jigasi.JvbConference.joinConferenceRoom(JvbConference.java:846)
        at org.jitsi.jigasi.JvbConference.registrationStateChanged(JvbConference.java:650)
        at net.java.sip.communicator.service.protocol.AbstractProtocolProviderService.fireRegistrationStateChanged(AbstractProtocolProviderService.java:185)
        at net.java.sip.communicator.service.protocol.AbstractProtocolProviderService.fireRegistrationStateChanged(AbstractProtocolProviderService.java:139)
        at net.java.sip.communicator.impl.protocol.jabber.ProtocolProviderServiceJabberImpl.connectAndLogin(ProtocolProviderServiceJabberImpl.java:1392)
        at net.java.sip.communicator.impl.protocol.jabber.ProtocolProviderServiceJabberImpl.connectAndLogin(ProtocolProviderServiceJabberImpl.java:965)
        at net.java.sip.communicator.impl.protocol.jabber.ProtocolProviderServiceJabberImpl.initializeConnectAndLogin(ProtocolProviderServiceJabberImpl.java:790)
        at net.java.sip.communicator.impl.protocol.jabber.ProtocolProviderServiceJabberImpl.register(ProtocolProviderServiceJabberImpl.java:495)
        at org.jitsi.jigasi.util.RegisterThread.run(RegisterThread.java:59)
Caused by: org.jivesoftware.smack.XMPPException$XMPPErrorException: XMPP error reply received from 1277b61c@muc.meetpoc.in2tant.cloud/1a31474d: XMPPError: not-authorized - auth. Generated by 1277b61c@muc.meetpoc.in2tant.cloud
        at org.jivesoftware.smack.XMPPException$XMPPErrorException.ifHasErrorThenThrow(XMPPException.java:171)
        at org.jivesoftware.smack.XMPPException$XMPPErrorException.ifHasErrorThenThrow(XMPPException.java:165)
        at org.jivesoftware.smack.StanzaCollector.nextResultOrThrow(StanzaCollector.java:284)
        at org.jivesoftware.smackx.muc.MultiUserChat.enter(MultiUserChat.java:408)
        at org.jivesoftware.smackx.muc.MultiUserChat.join(MultiUserChat.java:721)
        at org.jivesoftware.smackx.muc.MultiUserChat.join(MultiUserChat.java:651)
        at net.java.sip.communicator.impl.protocol.jabber.ChatRoomJabberImpl.joinAs(ChatRoomJabberImpl.java:739)
        ... 10 more

Aug 17, 2022 7:22:13 AM org.jitsi.utils.logging.LoggerImpl log
WARNING: null: trying to notify Transcriber for a while it is already stopped
Aug 17, 2022 7:22:13 AM org.jitsi.utils.logging.LoggerImpl log
INFO: [ctx=1660720933543625112220] Removing account Jabber:jigasi@guest.meetpoc.in2tant.cloud/1a31474d
Aug 17, 2022 7:22:13 AM net.java.sip.communicator.impl.protocol.jabber.OperationSetBasicTelephonyJabberImpl registrationStateChanged
INFO: Jingle : OFF
Aug 17, 2022 7:22:13 AM org.jitsi.utils.logging.LoggerImpl log
WARNING: null: trying to stop Transcriber while it is  already stopped
Aug 17, 2022 7:22:13 AM org.jitsi.utils.logging.LoggerImpl log
SEVERE: [ctx=1660720933543625112220] Call resource not exists for session.
Aug 17, 2022 7:22:23 AM org.jitsi.utils.logging.LoggerImpl log
SEVERE: [ctx=1660720933543625112220] Error processing RayoIq
java.lang.Exception: Fail to join muc!
        at org.jitsi.jigasi.xmpp.CallControlMucActivator$WaitToJoinRoom.waitToJoinRoom(CallControlMucActivator.java:731)
        at org.jitsi.jigasi.xmpp.CallControlMucActivator$DialIqHandler.setDialResponseAndRegisterHangUpHandler(CallControlMucActivator.java:666)
        at org.jitsi.jigasi.xmpp.CallControlMucActivator$DialIqHandler.processIQInternal(CallControlMucActivator.java:623)
        at org.jitsi.jigasi.xmpp.CallControlMucActivator$DialIqHandler.lambda$processIQ$0(CallControlMucActivator.java:582)
        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)

You can enable this module and whitelist the transcriber user jitsi-meet/mod_muc_password_whitelist.lua at master · jitsi/jitsi-meet · GitHub

Hi, I hae tried @damencho but I guess I really dont know how to install/configure the module so it works.

I’m trying to use the muc_password_whitelist to solve a similar problem but with JIGASI and I havent been able to configure the whitelist. Any instructions/manual of how to install/configure the plugin?
How do I know that the plugin is really installed and running? I dont see any logs of this module in prosody logs.
I’m using JITSI Docker, so the component/module configuration is done by the docker scripts. @saghul . I have tried with these 3 .ENV variables
XMPP_MODULES=
XMPP_MUC_MODULES=
XMPP_INTERNAL_MUC_MODULES=muc_password_whitelist

I’m sharing my prosody and jigasi configuration and logs
jigasiroomlocked.log (7.6 KB)
prosody.log (31.4 KB)
sip-communicator.properties.txt (8.4 KB)
prosody.cfg.lua.txt (6.8 KB)
jitsi-meet.cfg.lua.txt (3.7 KB)
mod_muc_password_whitelist.lua.txt (2.1 KB)

If you whitelist it all jigasi will be able to enter any meeting with password which makes the password useless.
You better ask the user in the ivr for password and pass that password as sip header a d pass it to jigasi.

@damencho For the SIP is working just fine, I ask the password at the IVR and the call can join the room without problems passing the password at a header.
The problem is with the transcriber, not a incoming call, when I activate the closed captions (subtitles) where the transcriber should join the room. It fails to join the room when is locked with password. It works ok if the room is not locked.

Enable the module under the main muc section here jitsi-meet/prosody.cfg.lua-jvb.example at 94dc6309de86fe08e83e2c6a063a24fc3dd9729f · jitsi/jitsi-meet · GitHub and add config muc_password_whitelist in which you add the transcriber jid, similar to the lobby whitelist jitsi-meet/prosody.cfg.lua-jvb.example at 94dc6309de86fe08e83e2c6a063a24fc3dd9729f · jitsi/jitsi-meet · GitHub