Problems with Jitsi + Jigasi + LDAP (SASL Cyrus)

Hello guys,

we’re facing issues with our Jitsi Meet Server. (Running on Debian 11)

Our goal is to have a Jitsi Server with an LDAP-authentication (Windows Server 2016 DC) and a Dial-In from the PSTN. Conferencemapper-API is hosted internally.
For our (so far working) system we used the following guides: (Links with , because as a new account you’re only allowed to post 2 links…)
jitsi,github,io/handbook/docs/devops-guide/devops-guide-quickstart
community,jitsi,org/t/tutorial-jitsi-jigasi-freepbx-integration-along-with-asterisk-ivr-to-use-jitsi-conference-mapper-api/48554
community,jitsi,org/t/tutorial-self-hosted-conference-mapper-api/53901

Before setting up the Cyrus SASL / Prosody configuration described in LDAP authentication | Jitsi Meet, everything works as we want.
That means:
-Creating a jitsi room with a local prosody user works
-dial-in and IVR (FreePBX connected via SIP-trunk to a Cisco CUCM) works
-dial-in user gets in the correct room
-voice between browser and telephone-user works

The LDAP-authentication itself is also working:

Now to the problem:
As soon as we follow the points „Set up Prosody“ and „Set Permissions“ in jitsi,github,
io/handbook/docs/devops-guide/ldap-authentication our jitsi server starts making problems.
FYI: Logging in with an Microsoft-AD-Account is working.

The Problem is, that dial-in users are not reaching the room anymore. The IVR says that „The conference is starting as soon as the leader arrives“, but the room/leader is existing.

var/log/jitsi/jigasi.log shows the following:
2022-07-06 11:49:13.672 INFORMATION: [69] org.jitsi.jigasi.SipGateway.incomingCallReceived().216 [ctx=16571009536721599673340] Incoming call received...
2022-07-06 11:49:13.680 INFORMATION: [71] org.jitsi.jigasi.SipGatewaySession.run().1552 [ctx=16571009536721599673340] Wait thread cancelled
2022-07-06 11:49:13.687 INFORMATION: [69] org.jitsi.jigasi.JvbConference.start().471 [ctx=16571009536721599673340] Starting JVB conference room: tidyratiosproclaimuneasily@conference.meet.example.com
2022-07-06 11:49:13.697 INFORMATION: [69] org.jitsi.jigasi.JvbConference.setXmppProvider().607 [ctx=16571009536721599673340] Using ProtocolProviderServiceJabberImpl(Jabber:jigasiadmin@meet.example.com/6e8ead13)
2022-07-06 11:49:13.742 INFORMATION: [74] impl.protocol.jabber.OperationSetBasicTelephonyJabberImpl.registrationStateChanged().127 Jingle : ON
2022-07-06 11:49:13.742 INFORMATION: [74] org.jitsi.jigasi.JvbConference.registrationStateChanged().666 [ctx=16571009536721599673340] Registering XMPP.
2022-07-06 11:49:13.766 SCHWERWIEGEND: [74] impl.protocol.jabber.ProtocolProviderServiceJabberImpl.connectAndLogin().1003 Failed to connect to XMPP service
org.jivesoftware.smack.sasl.SASLErrorException: SASLError using PLAIN: not-authorized
        at org.jivesoftware.smack.SASLAuthentication.authenticationFailed(SASLAuthentication.java:292)
        at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(XMPPTCPConnection.java:1100)
        at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.access$300(XMPPTCPConnection.java:1000)
        at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader$1.run(XMPPTCPConnection.java:1016)
        at java.base/java.lang.Thread.run(Thread.java:829)
2022-07-06 11:49:13.785 SCHWERWIEGEND: [74] org.jitsi.jigasi.JvbConference.registrationStateChanged().670 [ctx=16571009536721599673340] XMPP Connection failed. RegistrationStateChangeEvent[ oldState=Registering; newState=RegistrationState=Connection Failed; userRequest=false; reasonCode=6; reason=SASLError using PLAIN: not-authorized]
2022-07-06 11:49:16.627 INFORMATION: [80] org.jitsi.jigasi.SipGatewaySession.handleCallState().1425 [ctx=16571009536721599673340] SIP call ended: CallPeerChangeEvent: type=CallPeerStatusChange oldV=net.java.sip.communicator.service.protocol.CallPeerState:Incoming Call newV=net.java.sip.communicator.service.protocol.CallPeerState:Disconnected for peer=+4912345678900 <+4912345678900@172.22.2.2>;status=Disconnected
2022-07-06 11:49:16.628 INFORMATION: [80] org.jitsi.jigasi.SipGatewaySession.sipCallEnded().680 [ctx=16571009536721599673340] Sip call ended: Call: id=1657100953632764133038 peers=0
2022-07-06 11:49:16.629 INFORMATION: [80] org.jitsi.jigasi.JvbConference.stop().567 [ctx=16571009536721599673340] Removing account Jabber:jigasiadmin@meet.example.com/6e8ead13
2022-07-06 11:49:16.630 INFORMATION: [80] impl.protocol.jabber.OperationSetBasicTelephonyJabberImpl.registrationStateChanged().134 Jingle : OFF
2022-07-06 11:49:16.631 SCHWERWIEGEND: [80] org.jitsi.jigasi.AbstractGateway.notifyCallEnded().121 [ctx=16571009536721599673340] Call resource not exists for session.
2022-07-06 11:49:16.631 INFORMATION: [80] org.jitsi.jigasi.SipGatewaySession.peerStateChanged().1486 null SIP peer state: Disconnected
2022-07-06 11:49:19.447 INFORMATION: [83] org.jitsi.jigasi.SipGateway.incomingCallReceived().216 [ctx=16571009594471966349169] Incoming call received...
2022-07-06 11:49:19.448 INFORMATION: [85] org.jitsi.jigasi.SipGatewaySession.run().1552 [ctx=16571009594471966349169] Wait thread cancelled
2022-07-06 11:49:19.449 INFORMATION: [83] org.jitsi.jigasi.JvbConference.start().471 [ctx=16571009594471966349169] Starting JVB conference room: tidyratiosproclaimuneasily@conference.meet.example.com
2022-07-06 11:49:19.450 INFORMATION: [83] org.jitsi.jigasi.JvbConference.setXmppProvider().607 [ctx=16571009594471966349169] Using ProtocolProviderServiceJabberImpl(Jabber:jigasiadmin@meet.example.com/3de05f89)
2022-07-06 11:49:19.487 INFORMATION: [87] impl.protocol.jabber.OperationSetBasicTelephonyJabberImpl.registrationStateChanged().127 Jingle : ON
2022-07-06 11:49:19.487 INFORMATION: [87] org.jitsi.jigasi.JvbConference.registrationStateChanged().666 [ctx=16571009594471966349169] Registering XMPP.
2022-07-06 11:49:19.504 SCHWERWIEGEND: [87] impl.protocol.jabber.ProtocolProviderServiceJabberImpl.connectAndLogin().1003 Failed to connect to XMPP service
org.jivesoftware.smack.sasl.SASLErrorException: SASLError using PLAIN: not-authorized
        at org.jivesoftware.smack.SASLAuthentication.authenticationFailed(SASLAuthentication.java:292)
        at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(XMPPTCPConnection.java:1100)
        at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.access$300(XMPPTCPConnection.java:1000)
        at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader$1.run(XMPPTCPConnection.java:1016)
        at java.base/java.lang.Thread.run(Thread.java:829)
2022-07-06 11:49:19.522 SCHWERWIEGEND: [87] org.jitsi.jigasi.JvbConference.registrationStateChanged().670 [ctx=16571009594471966349169] XMPP Connection failed. RegistrationStateChangeEvent[ oldState=Registering; newState=RegistrationState=Connection Failed; userRequest=false; reasonCode=6; reason=SASLError using PLAIN: not-authorized]
2022-07-06 11:49:22.866 INFORMATION: [92] org.jitsi.jigasi.SipGatewaySession.handleCallState().1425 [ctx=16571009594471966349169] SIP call ended: CallPeerChangeEvent: type=CallPeerStatusChange oldV=net.java.sip.communicator.service.protocol.CallPeerState:Incoming Call newV=net.java.sip.communicator.service.protocol.CallPeerState:Disconnected for peer=+4912345678900 <+4912345678900@172.22.2.2>;status=Disconnected
2022-07-06 11:49:22.867 INFORMATION: [92] org.jitsi.jigasi.SipGatewaySession.sipCallEnded().680 [ctx=16571009594471966349169] Sip call ended: Call: id=1657100959446488066353 peers=0
2022-07-06 11:49:22.867 INFORMATION: [92] org.jitsi.jigasi.JvbConference.stop().567 [ctx=16571009594471966349169] Removing account Jabber:jigasiadmin@meet.example.com/3de05f89
2022-07-06 11:49:22.874 INFORMATION: [92] impl.protocol.jabber.OperationSetBasicTelephonyJabberImpl.registrationStateChanged().134 Jingle : OFF
2022-07-06 11:49:22.875 SCHWERWIEGEND: [92] org.jitsi.jigasi.AbstractGateway.notifyCallEnded().121 [ctx=16571009594471966349169] Call resource not exists for session.
2022-07-06 11:49:22.875 INFORMATION: [92] org.jitsi.jigasi.SipGatewaySession.peerStateChanged().1486 null SIP peer state: Disconnected

For safety purposes we changed our calling phonenumber and the domain-name of the server.

We’re pretty sure that the problem is some kind of authentication, but we dont know how to fix this.
Especially this line is weird:

org.jivesoftware.smack.sasl.SASLErrorException: SASLError using PLAIN: not-authorized

If the is need for any config files, we’ll deliver them.

Any help is highly appreciated, thank you!!

Have you setup correctly this section in jigasi?

That will work if you have that user added to ldap (guessing meet.example.com virtual host is using ldap).

You can also add a new virtualhost with internal authentication in prosody and create a user. (As an example how to do it you can look at jibri docs about that part).

Do you have such user (jigasiadmin@meet.example.com) in ldap?

org.jitsi.jigasi.xmpp.acc.USER_ID=jigasiadmin@telephone.meet.example.com
org.jitsi.jigasi.xmpp.acc.PASS=somePasswordl
org.jitsi.jigasi.xmpp.acc.ANONYMOUS_AUTH=false

Just for my understanding: There are two ways to solve this problem?

Solution 1) Create an User inside of our LDAP (Microsoft Active Directory) (already happened to achieve the Login via our User-Accounts, this user is called servjitsiLDAP@example.com)
-set this user in the sip-communicator file like this:?

org.jitsi.jigasi.xmpp.acc.USER_ID=servjitsildap@example.com
org.jitsi.jigasi.xmpp.acc.PASS=PasswordOfservjitsiLDAPinsideOurActiveDirectory
org.jitsi.jigasi.xmpp.acc.ANONYMOUS_AUTH=false

When I set it up like this and try to call, I get the following result.
The line “no server addresses found” is weird. Where would i put this address and which one?

2022-07-07 07:27:08.625 INFORMATION: [74] org.jitsi.jigasi.SipGateway.incomingCallReceived().216 [ctx=165717162862521015748] Incoming call received...
2022-07-07 07:27:08.633 INFORMATION: [76] org.jitsi.jigasi.SipGatewaySession.run().1552 [ctx=165717162862521015748] Wait thread cancelled
2022-07-07 07:27:08.640 INFORMATION: [74] org.jitsi.jigasi.JvbConference.start().471 [ctx=165717162862521015748] Starting JVB conference room: l@conference.meet.example.com
2022-07-07 07:27:08.651 INFORMATION: [74] org.jitsi.jigasi.JvbConference.setXmppProvider().607 [ctx=165717162862521015748] Using ProtocolProviderServiceJabberImpl(Jabber:servjitsiLDAP@example.com/4789cd00)
2022-07-07 07:27:08.655 SCHWERWIEGEND: [79] impl.protocol.jabber.ProtocolProviderServiceJabberImpl.initializeConnectAndLogin().779 No server addresses found
2022-07-07 07:27:08.657 SCHWERWIEGEND: [79] org.jitsi.jigasi.JvbConference.registrationStateChanged().670 [ctx=165717162862521015748] XMPP Connection failed. RegistrationStateChangeEvent[ oldState=Registering; newState=RegistrationState=Connection Failed; userRequest=false; reasonCode=8; reason=No server addresses found]
2022-07-07 07:27:11.581 INFORMATION: [83] org.jitsi.jigasi.SipGatewaySession.handleCallState().1425 [ctx=165717162862521015748] SIP call ended: CallPeerChangeEvent: type=CallPeerStatusChange oldV=net.java.sip.communicator.service.protocol.CallPeerState:Incoming Call newV=net.java.sip.communicator.service.protocol.CallPeerState:Disconnected for peer= Kevin <+4912345678900@172.22.2.2>;status=Disconnected
2022-07-07 07:27:11.581 INFORMATION: [83] org.jitsi.jigasi.SipGatewaySession.sipCallEnded().680 [ctx=165717162862521015748] Sip call ended: Call: id=16571716285861658380875 peers=0
2022-07-07 07:27:11.585 INFORMATION: [83] org.jitsi.jigasi.JvbConference.stop().567 [ctx=165717162862521015748] Removing account Jabber:servjitsiLDAP@example.com/4789cd00
2022-07-07 07:27:11.586 INFORMATION: [83] impl.protocol.jabber.OperationSetBasicTelephonyJabberImpl.registrationStateChanged().134 Jingle : OFF
2022-07-07 07:27:11.587 SCHWERWIEGEND: [83] org.jitsi.jigasi.AbstractGateway.notifyCallEnded().121 [ctx=165717162862521015748] Call resource not exists for session.
2022-07-07 07:27:11.587 INFORMATION: [83] org.jitsi.jigasi.SipGatewaySession.peerStateChanged().1486 null SIP peer state: Disconnected
2022-07-07 07:27:14.407 INFORMATION: [85] org.jitsi.jigasi.SipGateway.incomingCallReceived().216 [ctx=16571716344071700997089] Incoming call received...
2022-07-07 07:27:14.409 INFORMATION: [87] org.jitsi.jigasi.SipGatewaySession.run().1552 [ctx=16571716344071700997089] Wait thread cancelled
2022-07-07 07:27:14.409 INFORMATION: [85] org.jitsi.jigasi.JvbConference.start().471 [ctx=16571716344071700997089] Starting JVB conference room: l@conference.meet.example.com
2022-07-07 07:27:14.410 INFORMATION: [85] org.jitsi.jigasi.JvbConference.setXmppProvider().607 [ctx=16571716344071700997089] Using ProtocolProviderServiceJabberImpl(Jabber:servjitsiLDAP@example.com/05e8bf64)
2022-07-07 07:27:14.413 SCHWERWIEGEND: [89] impl.protocol.jabber.ProtocolProviderServiceJabberImpl.initializeConnectAndLogin().779 No server addresses found
2022-07-07 07:27:14.413 SCHWERWIEGEND: [89] org.jitsi.jigasi.JvbConference.registrationStateChanged().670 [ctx=16571716344071700997089] XMPP Connection failed. RegistrationStateChangeEvent[ oldState=Registering; newState=RegistrationState=Connection Failed; userRequest=false; reasonCode=8; reason=No server addresses found]
2022-07-07 07:27:20.006 INFORMATION: [91] org.jitsi.jigasi.SipGatewaySession.handleCallState().1425 [ctx=16571716344071700997089] SIP call ended: CallPeerChangeEvent: type=CallPeerStatusChange oldV=net.java.sip.communicator.service.protocol.CallPeerState:Incoming Call newV=net.java.sip.communicator.service.protocol.CallPeerState:Disconnected for peer= Kevin <+4912345678900@172.22.2.2>;status=Disconnected
2022-07-07 07:27:20.006 INFORMATION: [91] org.jitsi.jigasi.SipGatewaySession.sipCallEnded().680 [ctx=16571716344071700997089] Sip call ended: Call: id=1657171634406476403168 peers=0
2022-07-07 07:27:20.007 INFORMATION: [91] org.jitsi.jigasi.JvbConference.stop().567 [ctx=16571716344071700997089] Removing account Jabber:servjitsiLDAP@example.com/05e8bf64
2022-07-07 07:27:20.007 INFORMATION: [91] impl.protocol.jabber.OperationSetBasicTelephonyJabberImpl.registrationStateChanged().134 Jingle : OFF
2022-07-07 07:27:20.007 SCHWERWIEGEND: [91] org.jitsi.jigasi.AbstractGateway.notifyCallEnded().121 [ctx=16571716344071700997089] Call resource not exists for session.
2022-07-07 07:27:20.008 INFORMATION: [91] org.jitsi.jigasi.SipGatewaySession.peerStateChanged().1486 null SIP peer state: Disconnected

Solution 2) Create another VirtualHost inside the /etc/prosody/conf.avail/meet.example.com.cfg.lua like this:

VirtualHost "telephone.meet.example.com"
authentication = "internal_hashed"

Then edit the sip-communicators file to this:

org.jitsi.jigasi.xmpp.acc.USER_ID=jigasiadmin@telephone.meet.example.com
org.jitsi.jigasi.xmpp.acc.PASS=somePassword1
org.jitsi.jigasi.xmpp.acc.ANONYMOUS_AUTH=false

Now again it says “no server addresses found”

2022-07-07 07:42:32.636 INFORMATION: [78] org.jitsi.jigasi.SipGateway.incomingCallReceived().216 [ctx=1657172552636467595788] Incoming call received...
2022-07-07 07:42:32.644 INFORMATION: [80] org.jitsi.jigasi.SipGatewaySession.run().1552 [ctx=1657172552636467595788] Wait thread cancelled
2022-07-07 07:42:32.651 INFORMATION: [78] org.jitsi.jigasi.JvbConference.start().471 [ctx=1657172552636467595788] Starting JVB conference room: l@conference.meet.example.com
2022-07-07 07:42:32.661 INFORMATION: [78] org.jitsi.jigasi.JvbConference.setXmppProvider().607 [ctx=1657172552636467595788] Using ProtocolProviderServiceJabberImpl(Jabber:jigasiadmin@telephone.meet.example.com/74ad35d0)
2022-07-07 07:42:32.665 SCHWERWIEGEND: [83] impl.protocol.jabber.ProtocolProviderServiceJabberImpl.initializeConnectAndLogin().779 No server addresses found
2022-07-07 07:42:32.666 SCHWERWIEGEND: [83] org.jitsi.jigasi.JvbConference.registrationStateChanged().670 [ctx=1657172552636467595788] XMPP Connection failed. RegistrationStateChangeEvent[ oldState=Registering; newState=RegistrationState=Connection Failed; userRequest=false; reasonCode=8; reason=No server addresses found]
2022-07-07 07:42:35.582 INFORMATION: [88] org.jitsi.jigasi.SipGatewaySession.handleCallState().1425 [ctx=1657172552636467595788] SIP call ended: CallPeerChangeEvent: type=CallPeerStatusChange oldV=net.java.sip.communicator.service.protocol.CallPeerState:Incoming Call newV=net.java.sip.communicator.service.protocol.CallPeerState:Disconnected for peer= Kevin <+4912345678900@172.22.4.181>;status=Disconnected
2022-07-07 07:42:35.582 INFORMATION: [88] org.jitsi.jigasi.SipGatewaySession.sipCallEnded().680 [ctx=1657172552636467595788] Sip call ended: Call: id=16571725525851188087994 peers=0
2022-07-07 07:42:35.583 INFORMATION: [88] org.jitsi.jigasi.JvbConference.stop().567 [ctx=1657172552636467595788] Removing account Jabber:jigasiadmin@telephone.meet.example.com/74ad35d0
2022-07-07 07:42:35.583 INFORMATION: [88] impl.protocol.jabber.OperationSetBasicTelephonyJabberImpl.registrationStateChanged().134 Jingle : OFF
2022-07-07 07:42:35.583 SCHWERWIEGEND: [88] org.jitsi.jigasi.AbstractGateway.notifyCallEnded().121 [ctx=1657172552636467595788] Call resource not exists for session.
2022-07-07 07:42:35.584 INFORMATION: [88] org.jitsi.jigasi.SipGatewaySession.peerStateChanged().1486 null SIP peer state: Disconnected
2022-07-07 07:42:38.407 INFORMATION: [90] org.jitsi.jigasi.SipGateway.incomingCallReceived().216 [ctx=16571725584071055319922] Incoming call received...
2022-07-07 07:42:38.408 INFORMATION: [92] org.jitsi.jigasi.SipGatewaySession.run().1552 [ctx=16571725584071055319922] Wait thread cancelled
2022-07-07 07:42:38.408 INFORMATION: [90] org.jitsi.jigasi.JvbConference.start().471 [ctx=16571725584071055319922] Starting JVB conference room: l@conference.meet.example.com
2022-07-07 07:42:38.409 INFORMATION: [90] org.jitsi.jigasi.JvbConference.setXmppProvider().607 [ctx=16571725584071055319922] Using ProtocolProviderServiceJabberImpl(Jabber:jigasiadmin@telephone.meet.example.com/224e1f99)
2022-07-07 07:42:38.413 SCHWERWIEGEND: [94] impl.protocol.jabber.ProtocolProviderServiceJabberImpl.initializeConnectAndLogin().779 No server addresses found
2022-07-07 07:42:38.413 SCHWERWIEGEND: [94] org.jitsi.jigasi.JvbConference.registrationStateChanged().670 [ctx=16571725584071055319922] XMPP Connection failed. RegistrationStateChangeEvent[ oldState=Registering; newState=RegistrationState=Connection Failed; userRequest=false; reasonCode=8; reason=No server addresses found]
2022-07-07 07:42:50.443 INFORMATION: [96] org.jitsi.jigasi.SipGatewaySession.handleCallState().1425 [ctx=16571725584071055319922] SIP call ended: CallPeerChangeEvent: type=CallPeerStatusChange oldV=net.java.sip.communicator.service.protocol.CallPeerState:Incoming Call newV=net.java.sip.communicator.service.protocol.CallPeerState:Disconnected for peer= Kevin <+4912345678900@172.22.4.181>;status=Disconnected
2022-07-07 07:42:50.443 INFORMATION: [96] org.jitsi.jigasi.SipGatewaySession.sipCallEnded().680 [ctx=16571725584071055319922] Sip call ended: Call: id=16571725584061507731100 peers=0
2022-07-07 07:42:50.444 INFORMATION: [96] org.jitsi.jigasi.JvbConference.stop().567 [ctx=16571725584071055319922] Removing account Jabber:jigasiadmin@telephone.meet.example.com/224e1f99
2022-07-07 07:42:50.445 INFORMATION: [96] impl.protocol.jabber.OperationSetBasicTelephonyJabberImpl.registrationStateChanged().134 Jingle : OFF
2022-07-07 07:42:50.445 SCHWERWIEGEND: [96] org.jitsi.jigasi.AbstractGateway.notifyCallEnded().121 [ctx=16571725584071055319922] Call resource not exists for session.
2022-07-07 07:42:50.446 INFORMATION: [96] org.jitsi.jigasi.SipGatewaySession.peerStateChanged().1486 null SIP peer state: Disconnected

This user does not exist in our Microsoft Active Directory environment, only on the jitsi-server.
Users in our Active Directory look like user123@example,com, so I don’t know how I would setup this user because of jigasiadmin@meet.example,com.
For our LDAP-authentication there is a user called servjitsiLDAP@example,com which is created in the Active Directory.

Just some information for some better understanding:

Our local Domain Controller: ldap.example,com
Our jitsi-server: meet.example,com
Our Microsoft Active Directory Domain: example,com

Is this value correct in your config?

Our whole sip-communicator looks like this:

Again: i replaced our domain with example,com and for testing purposes, i wrote telephone. infront of the two lines for testing. meet.example,com is also not working…

net.java.sip.communicator.impl.protocol.sip.acc1403273890647.DOMAIN_BASE=telephone.meet.example.com

net.java.sip.communicator.impl.protocol.jabber.acc-xmpp.1.DOMAIN_BASE=telephone.meet.example.com

here the full config

#Sample config with one XMPP and one SIP account configured
# Replace {sip-pass-hash} with SIP user password hash
# as well as other account properties

# Name of default JVB room that will be joined if no special header is included
# in SIP invite
#org.jitsi.jigasi.DEFAULT_JVB_ROOM_NAME=siptest@conference.meet.example.com
# org.jitsi.jigasi.DEFAULT_JVB_ROOM_NAME=siptest

org.jitsi.jigasi.MUC_SERVICE_ADDRESS=conference.meet.example.com

net.java.sip.communicator.impl.protocol.SingleCallInProgressPolicy.enabled=false

# Should be enabled when using translator mode
#net.java.sip.communicator.impl.neomedia.audioSystem.audiosilence.captureDevice_list=["AudioSilenceCaptureDevice:noTransferData"]

# Adjust opus encoder complexity
net.java.sip.communicator.impl.neomedia.codec.audio.opus.encoder.COMPLEXITY=10

# Disables packet logging
net.java.sip.communicator.packetlogging.PACKET_LOGGING_ENABLED=false

net.java.sip.communicator.impl.protocol.sip.acc1403273890647=acc1403273890647
net.java.sip.communicator.impl.protocol.sip.acc1403273890647.ACCOUNT_UID=SIP\:9991@kongo.example.com
net.java.sip.communicator.impl.protocol.sip.acc1403273890647.PASSWORD=UEJYSml0c2k0MzIxKys=
net.java.sip.communicator.impl.protocol.sip.acc1403273890647.PROTOCOL_NAME=SIP
net.java.sip.communicator.impl.protocol.sip.acc1403273890647.SERVER_ADDRESS=kongo.example.com
net.java.sip.communicator.impl.protocol.sip.acc1403273890647.USER_ID=9991@kongo.example.com
net.java.sip.communicator.impl.protocol.sip.acc1403273890647.KEEP_ALIVE_INTERVAL=25
net.java.sip.communicator.impl.protocol.sip.acc1403273890647.KEEP_ALIVE_METHOD=OPTIONS
net.java.sip.communicator.impl.protocol.sip.acc1403273890647.VOICEMAIL_ENABLED=false
net.java.sip.communicator.impl.protocol.sip.acc1403273890647.Encodings.AMR-WB/16000=750
net.java.sip.communicator.impl.protocol.sip.acc1403273890647.Encodings.G722/8000=700
net.java.sip.communicator.impl.protocol.sip.acc1403273890647.Encodings.GSM/8000=0
net.java.sip.communicator.impl.protocol.sip.acc1403273890647.Encodings.H263-1998/90000=0
net.java.sip.communicator.impl.protocol.sip.acc1403273890647.Encodings.H264/90000=0
net.java.sip.communicator.impl.protocol.sip.acc1403273890647.Encodings.PCMA/8000=600
net.java.sip.communicator.impl.protocol.sip.acc1403273890647.Encodings.PCMU/8000=650
net.java.sip.communicator.impl.protocol.sip.acc1403273890647.Encodings.SILK/12000=0
net.java.sip.communicator.impl.protocol.sip.acc1403273890647.Encodings.SILK/16000=0
net.java.sip.communicator.impl.protocol.sip.acc1403273890647.Encodings.SILK/24000=0
net.java.sip.communicator.impl.protocol.sip.acc1403273890647.Encodings.SILK/8000=0
net.java.sip.communicator.impl.protocol.sip.acc1403273890647.Encodings.VP8/90000=0
net.java.sip.communicator.impl.protocol.sip.acc1403273890647.Encodings.iLBC/8000=10
net.java.sip.communicator.impl.protocol.sip.acc1403273890647.Encodings.opus/48000=1000
net.java.sip.communicator.impl.protocol.sip.acc1403273890647.Encodings.red/90000=0
net.java.sip.communicator.impl.protocol.sip.acc1403273890647.Encodings.speex/16000=0
net.java.sip.communicator.impl.protocol.sip.acc1403273890647.Encodings.speex/32000=0
net.java.sip.communicator.impl.protocol.sip.acc1403273890647.Encodings.speex/8000=0
net.java.sip.communicator.impl.protocol.sip.acc1403273890647.Encodings.telephone-event/8000=1
net.java.sip.communicator.impl.protocol.sip.acc1403273890647.Encodings.ulpfec/90000=0
net.java.sip.communicator.impl.protocol.sip.acc1403273890647.OVERRIDE_ENCODINGS=true
net.java.sip.communicator.impl.protocol.sip.acc1403273890647.DEFAULT_ENCRYPTION=false

# Additional SIP related configurations
net.java.sip.communicator.impl.protocol.sip.acc1403273890647.SERVER_PORT=5160
net.java.sip.communicator.impl.protocol.sip.acc1403273890647.PROXY_ADDRESS=kongo.example.com
net.java.sip.communicator.impl.protocol.sip.acc1403273890647.PROXY_PORT=5160
net.java.sip.communicator.impl.protocol.sip.acc1403273890647.PROXY_ADDRESS_VALIDATED=true
net.java.sip.communicator.impl.protocol.sip.acc1403273890647.PROXY_AUTO_CONFIG=false
net.java.sip.communicator.impl.protocol.sip.acc1403273890647.PREFERRED_TRANSPORT=udp

# If an authenticated (hidden) domain is used to connect to a conference,
# PREVENT_AUTH_LOGIN will prevent the SIP participant from being seen as a
# hidden participant in the conference
#net.java.sip.communicator.impl.protocol.sip.acc1403273890647.PREVENT_AUTH_LOGIN=FALSE

# Used when incoming calls are used in multidomain environment, used to detect subdomains
# used for constructing callResource and eventually contacting jicofo

net.java.sip.communicator.impl.protocol.sip.acc1403273890647.DOMAIN_BASE=telephone.meet.example.com

# the pattern to be used as bosh url when using bosh in multidomain environment
#net.java.sip.communicator.impl.protocol.sip.acc1403273890647.BOSH_URL_PATTERN=https://{host}{subdomain}/http-bind?room={roomName}

# can be enabled to disable audio mixing and use translator, jigasi will act as jvb, just forward every ssrc stream it receives.
#net.java.sip.communicator.impl.protocol.sip.acc1403273890647.USE_TRANSLATOR_IN_CONFERENCE=true

# The following account is used only for dial-out from a meeting, it connects and join the brewery room used
# by Jicofo to discover available jigasi instances and use them (they can be used for outgoing calls or transcriptions if enabled or both)
net.java.sip.communicator.impl.protocol.jabber.acc-xmpp-1=acc-xmpp-1
net.java.sip.communicator.impl.protocol.jabber.acc-xmpp-1.ACCOUNT_UID=Jabber:jigasi@auth.meet.example.com
net.java.sip.communicator.impl.protocol.jabber.acc-xmpp-1.USER_ID=jigasi@auth.meet.example.com
net.java.sip.communicator.impl.protocol.jabber.acc-xmpp-1.IS_SERVER_OVERRIDDEN=true
net.java.sip.communicator.impl.protocol.jabber.acc-xmpp-1.SERVER_ADDRESS=127.0.0.1
net.java.sip.communicator.impl.protocol.jabber.acc-xmpp-1.SERVER_PORT=5222
#net.java.sip.communicator.impl.protocol.jabber.acc-xmpp-1.BOSH_URL=https://127.0.0.1/http-bind
net.java.sip.communicator.impl.protocol.jabber.acc-xmpp-1.ALLOW_NON_SECURE=true
#base64 AES keyLength:256 or 128
net.java.sip.communicator.impl.protocol.jabber.acc-xmpp-1.PASSWORD=a01pQTE4WjZMUmlURmU1SQ==

#net.java.sip.communicator.impl.protocol.jabber.acc-xmpp-1.RESOURCE=jigasi
net.java.sip.communicator.impl.protocol.jabber.acc-xmpp-1.AUTO_GENERATE_RESOURCE=true
net.java.sip.communicator.impl.protocol.jabber.acc-xmpp-1.RESOURCE_PRIORITY=30

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

net.java.sip.communicator.impl.protocol.jabber.acc-xmpp-1.DOMAIN_BASE=telephone.meet.example.com

#net.java.sip.communicator.impl.protocol.jabber.acc-xmpp-1.CallStats.appId=
#net.java.sip.communicator.impl.protocol.jabber.acc-xmpp-1.CallStats.keyId=
#net.java.sip.communicator.impl.protocol.jabber.acc-xmpp-1.CallStats.keyPath=/etc/jitsi/jigasi/ecpriv.jwk
#net.java.sip.communicator.impl.protocol.jabber.acc-xmpp-1.CallStats.conferenceIDPrefix=meet.example.com
#net.java.sip.communicator.impl.protocol.jabber.acc-xmpp-1.CallStats.jigasiId=jigasi-1
#net.java.sip.communicator.impl.protocol.jabber.acc-xmpp-1.CallStats.STATISTICS_INTERVAL=60000

# we can receive dial/hangup only from the control muc
org.jitsi.jigasi.ALLOWED_JID=JigasiBrewery@internal.auth.meet.example.com

org.jitsi.jigasi.BREWERY_ENABLED=true

# We can use the prefix org.jitsi.jigasi.xmpp.acc to override any of the
# properties that will be used for creating xmpp account for communication.

# The following two props assume we are using jigasi on the same machine as
# the xmpp server.
org.jitsi.jigasi.xmpp.acc.IS_SERVER_OVERRIDDEN=true
org.jitsi.jigasi.xmpp.acc.SERVER_ADDRESS=127.0.0.1
org.jitsi.jigasi.xmpp.acc.SERVER_ADDRESS=jigasi.meet.example.com
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.USE_DEFAULT_STUN_SERVER=false
# Or you can use bosh for the connection establishment by specifing the URL to use.
# org.jitsi.jigasi.xmpp.acc.BOSH_URL_PATTERN=https://server.com/http-bind?room={roomName}

#Used when outgoing calls are used in multidomain environment, used to detect subdomains
#sarscov
#org.jitsi.jigasi.xmpp.acc.DOMAIN_BASE=meet.example.com
#org.jitsi.jigasi.xmpp.acc.BOSH_URL_PATTERN=https://{host}{subdomain}/http-bind?room={roomName}

# can be enabled to disable audio mixing and use translator, jigasi will act as jvb, just forward every ssrc stream it receives.
#org.jitsi.jigasi.xmpp.acc.USE_TRANSLATOR_IN_CONFERENCE=true

# If you want jigasi to perform authenticated login instead of anonymous login
# to the XMPP server, you can set the following properties.
# org.jitsi.jigasi.xmpp.acc.USER_ID=SOME_USER@SOME_DOMAIN
# org.jitsi.jigasi.xmpp.acc.PASS=SOME_PASS

# Enable for anonymous Login
# org.jitsi.jigasi.xmpp.acc.ANONYMOUS_AUTH=true

org.jitsi.jigasi.xmpp.acc.USER_ID=jigasiadmin@telephone.meet.example.com
org.jitsi.jigasi.xmpp.acc.PASS=PasswordofJigasiAdmininProsody
org.jitsi.jigasi.xmpp.acc.ANONYMOUS_AUTH=false





# To fix SSL/TLS required by client but not supported by server
org.jitsi.jigasi.xmpp.acc.ALLOW_NON_SECURE=true

# If you want to disconnect jigasi calls automatically when all web users have
# left, you can set the following property to false.
# org.jitsi.jigasi.ALLOW_ONLY_JIGASIS_IN_ROOM=true

# If you want to use the SIP user part of the incoming/outgoing call SIP URI
# you can set the following property to true.
# org.jitsi.jigasi.USE_SIP_USER_AS_XMPP_RESOURCE=true

# Activate this property if you are using self-signed certificates or other
# type of non-trusted certicates. In this mode your service trust in the
# remote certificates always.
net.java.sip.communicator.service.gui.ALWAYS_TRUST_MODE_ENABLED=true

# Enable this property to be able to shutdown gracefully jigasi using
# a rest command
# org.jitsi.jigasi.ENABLE_REST_SHUTDOWN=true

# Options regarding Transcription. Read the README for a detailed description
# about each property

#org.jitsi.jigasi.ENABLE_TRANSCRIPTION=false
#org.jitsi.jigasi.ENABLE_SIP=true

# whether to use the more expensive, but better performing
# "video" model when doing transcription
# org.jitsi.jigasi.transcription.USE_VIDEO_MODEL = false

# delivering final transcript
# org.jitsi.jigasi.transcription.DIRECTORY=/var/lib/jigasi/transcripts
# org.jitsi.jigasi.transcription.BASE_URL=http://localhost/
# org.jitsi.jigasi.transcription.jetty.port=-1
# org.jitsi.jigasi.transcription.ADVERTISE_URL=false

# save formats
# org.jitsi.jigasi.transcription.SAVE_JSON=false
# org.jitsi.jigasi.transcription.SAVE_TXT=true

# send formats
# org.jitsi.jigasi.transcription.SEND_JSON=true
# org.jitsi.jigasi.transcription.SEND_TXT=false

# Vosk server
# org.jitsi.jigasi.transcription.customService=org.jitsi.jigasi.transcription.VoskTranscriptionService
# org.jitsi.jigasi.transcription.vosk.websocket_url=ws://localhost:2700

# translation
# org.jitsi.jigasi.transcription.ENABLE_TRANSLATION=false

# record audio. Currently only wav format is supported
# org.jitsi.jigasi.transcription.RECORD_AUDIO=false
# org.jitsi.jigasi.transcription.RECORD_AUDIO_FORMAT=wav

# execute one or more scripts when a transcript or recording is saved
# org.jitsi.jigasi.transcription.EXECUTE_SCRIPTS=true
# org.jitsi.jigasi.transcription.SCRIPTS_TO_EXECUTE_LIST_SEPARATOR=","
# org.jitsi.jigasi.transcription.SCRIPTS_TO_EXECUTE_LIST=script/example_handle_transcript_directory.sh

# filter out silent audio
#org.jitsi.jigasi.transcription.FILTER_SILENCE = false

# properties for optionally sending statistics to a DataDog server
#org.jitsi.ddclient.prefix=jitsi.jigasi
#org.jitsi.ddclient.host=localhost
#org.jitsi.ddclient.port=8125

# sip health checking
# Enables sip health checking by specifying a number/uri to call
# the target just needs to auto-connect the call play some audio,
# the call must be established for less than 10 seconds
# org.jitsi.jigasi.HEALTH_CHECK_SIP_URI=healthcheck
#
# The interval between healthcheck calls, by default is 5 minutes
# org.jitsi.jigasi.HEALTH_CHECK_INTERVAL=300000
#
# The timeout of healthcheck, if there was no successful health check for
# 10 minutes (default value) we consider jigasi unhealthy
# org.jitsi.jigasi.HEALTH_CHECK_TIMEOUT=600000

# Enabled or disable the notification when max occupants limit is reached
# org.jitsi.jigasi.NOTIFY_MAX_OCCUPANTS=false

here the /etc/prosody/conf.avail/meet.example.com.cfg.lua

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.example.com";

external_service_secret = "mdOjQWJzOws1bOv9";
external_services = {
     { type = "stun", host = "meet.example.com", port = 3478 },
     { type = "turn", host = "meet.example.com", port = 3478, transport = "udp", secret = true, ttl = 86400, algorithm = "turn" },
     { type = "turns", host = "meet.example.com", port = 5349, transport = "tcp", secret = true, ttl = 86400, algorithm = "turn" }
};

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

-- by default prosody 0.12 sends cors headers, if you want to disable it uncomment the following (the config is available on 0.12.1)
--http_cors_override = {
--    bosh = {
--        enabled = false;
--    };
--    websocket = {
--        enabled = false;
--    };
--}

-- 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"
}

unlimited_jids = {
    "focus@auth.meet.example.com",
    "jvb@auth.meet.example.com"
}

VirtualHost "meet.example.com"
    -- enabled = false -- Remove this line to enable this host
    authentication = "cyrus"
    -- 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/prosody/certs/meet.example.com.key";
        certificate = "/etc/prosody/certs/meet.example.com.crt";
    }
    av_moderation_component = "avmoderation.meet.example.com"
    speakerstats_component = "speakerstats.meet.example.com"
    conference_duration_component = "conferenceduration.meet.example.com"
    -- we need bosh
    modules_enabled = {
        "bosh";
        "pubsub";
        "ping"; -- Enable mod_ping
        "speakerstats";
        "external_services";
        "conference_duration";
        "muc_lobby_rooms";
        "muc_breakout_rooms";
        "av_moderation";
    }
    c2s_require_encryption = false
    lobby_muc = "lobby.meet.example.com"
    breakout_rooms_muc = "breakout.meet.example.com"
    main_muc = "conference.meet.example.com"
    -- muc_lobby_whitelist = { "recorder.meet.example.com" } -- Here we can whitelist jibri to enter lobby enabled rooms

VirtualHost "guest.meet.example.com"
    -- Enables anonymous login method for guests  
 	 authentication = "anonymous"
	 c2s_require_encryption = false


VirtualHost "telephone.meet.example.com"
	authentication = "internal_hashed"

Component "conference.meet.example.com" "muc"
    restrict_room_creation = true
    storage = "memory"
    modules_enabled = {
        "muc_meeting_id";
        "muc_domain_mapper";
        "polls";
        --"token_verification";
        "muc_rate_limit";
    }
    admins = { "focus@auth.meet.example.com" }
    muc_room_locking = false
    muc_room_default_public_jids = true

Component "breakout.meet.example.com" "muc"
    restrict_room_creation = true
    storage = "memory"
    modules_enabled = {
        "muc_meeting_id";
        "muc_domain_mapper";
        --"token_verification";
        "muc_rate_limit";
        "polls";
    }
    admins = { "focus@auth.meet.example.com" }
    muc_room_locking = false
    muc_room_default_public_jids = true

-- internal muc component
Component "internal.auth.meet.example.com" "muc"
    storage = "memory"
    modules_enabled = {
        "ping";
    }
    admins = { "focus@auth.meet.example.com", "jvb@auth.meet.example.com" }
    muc_room_locking = false
    muc_room_default_public_jids = true

VirtualHost "auth.meet.example.com"
    ssl = {
        key = "/etc/prosody/certs/auth.meet.example.com.key";
        certificate = "/etc/prosody/certs/auth.meet.example.com.crt";
    }
    modules_enabled = {
        "limits_exception";
    }
    authentication = "internal_hashed"

-- Proxy to jicofo's user JID, so that it doesn't have to register as a component.
Component "focus.meet.example.com" "client_proxy"
    target_address = "focus@auth.meet.example.com"

Component "speakerstats.meet.example.com" "speakerstats_component"
    muc_component = "conference.meet.example.com"

Component "conferenceduration.meet.example.com" "conference_duration_component"
    muc_component = "conference.meet.example.com"

Component "avmoderation.meet.example.com" "av_moderation_component"
    muc_component = "conference.meet.example.com"

Component "lobby.meet.example.com" "muc"
    storage = "memory"
    restrict_room_creation = true
    muc_room_locking = false
    muc_room_default_public_jids = true
    modules_enabled = {
        "muc_rate_limit";
        "polls";
    }

-- Enabled dial-in for JaaS customers
-- Note: make sure you have the following packages installed: lua-basexx, liblua5.3-dev, libssl-dev, luarocks
-- and execute $ sudo luarocks install luajwtjitsi 3.0-0
VirtualHost "jigasi.meet.jitsi"
    enabled = false -- JaaS customers remove this line
    modules_enabled = {
      "ping";
      "bosh";
    }
    authentication = "token"
    app_id = "jitsi";
    asap_key_server = "https://jaas-public-keys.jitsi.net/jitsi-components/prod-8x8"
    asap_accepted_issuers = { "jaas-components" }
    asap_accepted_audiences = { "jigasi.meet.example.com" }

This user need to be created in prosody.

prosodyctl register jigasiadmin telephone.meet.example.com PasswordofJigasiAdmininProsody

I see for dial-out you have configured to use bosh.
Uncomment these two configs:

And make sure you set domain_base to the domain that users type in the browser to reach your deployment.

Thank you for your quick answer.

This really could be the problem:

Because our jigasiadmin was created for meet.example,com

I have to go now to do other stuff, but I will test it today or tomorrow. I will message you again.
Dial-Out is not important for us, we don’t need it.

Thank you so much

Hey,

I’m back:

I created a new prosody user

prosodyctl register jigasitelephone telephone.meet.example.com PasswordofJigasitelephoneinProsody

sip-communicator looks like this:

org.jitsi.jigasi.xmpp.acc.USER_ID=jigasitelephone@telephone.meet.example.com
org.jitsi.jigasi.xmpp.acc.PASS=PasswordforjigasitelephoneinProsody
org.jitsi.jigasi.xmpp.acc.ANONYMOUS_AUTH=false

/etc/prosody/conf.avail/meet.example.com.cfg.lua looks like this (like in the other post)

VirtualHost "telephone.meet.example.com"
	authentication = "internal_hashed"

Still the same…

2022-07-07 12:10:52.010 SCHWERWIEGEND: [85] org.jitsi.jigasi.JvbConference.registrationStateChanged().670 [ctx=16571886519781595103510] XMPP Connection failed. RegistrationStateChangeEvent[ oldState=Registering; newState=RegistrationState=Connection Failed; userRequest=false; reasonCode=8; reason=No server addresses found]

It’s me again,

I just wanted to tell you that it’s working now. There was probably some misconfiguration when I tried to repair it.

Luckily, I created a snapshot before setting up anything with LDAP. That’s what I would call the “starting point” as in my first thread described (where everything was working with internal_hashed).

First I created the

Virtualhost “telephone.meet.exampe.com
authentication = “internal_hashed”

Then I created the user jigasitelephone@telephone.meet.example.com in prosody.

After that, I set this user in the sip-communicator files

org.jitsi.jigasi.xmpp.acc.USER_ID=jigasitelephone@telephone.meet.example.com
org.jitsi.jigasi.xmpp.acc.PASS=PasswordforjigasitelephoneinProsody
org.jitsi.jigasi.xmpp.acc.ANONYMOUS_AUTH=false

Now everything is working.

Thank you for your time and help. Helped us out alot!!