I’m trying to enable jwt auth. using GitHub - jitsi/docker-jitsi-meet: Jitsi Meet on Docker stable.
On incoming calls to jigasi i see not normal behavior, after 20 seconds after jigasi get the call it hang up it without any actions from user. all this time in logs of jigasy and prosody i see that all time users adding to conference and then leaving it. In logs i see also that focus have problem with auth and it seems makes problem. all configs are building from templates in docker project.
What’s wrong. few days investigating, but nothing:(
prosody.conf
admins = {
"jigasi@auth.jitsi.meet",
"jibri@auth.jitsi.meet",
"focus@auth.jitsi.meet",
"jvb@auth.jitsi.meet"
}
unlimited_jids = {
"focus@auth.jitsi.meet",
"jvb@auth.jitsi.meet"
}
plugin_paths = { "/prosody-plugins/", "/prosody-plugins-custom" }
muc_mapper_domain_base = "meet.jitsi";
muc_mapper_domain_prefix = "muc";
http_default_host = "meet.jitsi"
asap_accepted_issuers = { "*" }
asap_accepted_audiences = { "*" }
consider_bosh_secure = true;
consider_websocket_secure = true;
VirtualHost "meet.jitsi"
authentication = "token"
app_id = "appidididid"
app_secret = "b921dc404ea3ed2c94b345fa863fa2b30b793f0b392b970b44f1e7ff9212edd"
allow_empty_token = false
enable_domain_verification = true
ssl = {
key = "/config/certs/meet.jitsi.key";
certificate = "/config/certs/meet.jitsi.crt";
}
modules_enabled = {
"bosh";
"websocket";
"smacks"; -- XEP-0198: Stream Management
"pubsub";
"ping";
"speakerstats";
"conference_duration";
"end_conference";
"muc_lobby_rooms";
"muc_breakout_rooms";
"av_moderation";
}
main_muc = "muc.meet.jitsi"
lobby_muc = "lobby.meet.jitsi"
breakout_rooms_muc = "breakout.meet.jitsi"
speakerstats_component = "speakerstats.meet.jitsi"
conference_duration_component = "conferenceduration.meet.jitsi"
end_conference_component = "endconference.<no value>"
av_moderation_component = "avmoderation.meet.jitsi"
c2s_require_encryption = false
VirtualHost "auth.jitsi.meet"
ssl = {
key = "/config/certs/auth.jitsi.meet.key";
certificate = "/config/certs/auth.jitsi.meet.crt";
}
modules_enabled = {
"limits_exception";
}
authentication = "internal_hashed"
Component "internal-muc.meet.jitsi" "muc"
storage = "memory"
modules_enabled = {
"ping";
}
restrict_room_creation = true
muc_room_locking = false
muc_room_default_public_jids = true
Component "muc.meet.jitsi" "muc"
storage = "memory"
modules_enabled = {
"muc_meeting_id";
"token_verification";
"polls";
"muc_domain_mapper";
}
muc_room_cache_size = 1000
muc_room_locking = false
muc_room_default_public_jids = true
Component "focus.meet.jitsi" "client_proxy"
target_address = "focus@auth.jitsi.meet"
Component "speakerstats.meet.jitsi" "speakerstats_component"
muc_component = "muc.meet.jitsi"
Component "conferenceduration.meet.jitsi" "conference_duration_component"
muc_component = "muc.meet.jitsi"
Component "endconference.<no value>" "end_conference"
muc_component = "muc.meet.jitsi"
Component "avmoderation.meet.jitsi" "av_moderation_component"
muc_component = "muc.meet.jitsi"
Component "lobby.meet.jitsi" "muc"
storage = "memory"
restrict_room_creation = true
muc_room_locking = false
muc_room_default_public_jids = true
Component "breakout.meet.jitsi" "muc"
storage = "memory"
restrict_room_creation = true
muc_room_locking = false
muc_room_default_public_jids = true
modules_enabled = {
"muc_meeting_id";
"muc_domain_mapper";
"polls";
}
jicofo.conf
jicofo {
authentication {
enabled = true
// The type of authentication. Supported values are XMPP, JWT or SHIBBOLETH (default).
type = JWT
login-url = "meet.jitsi"
enable-auto-login=true
}
// Configuration related to jitsi-videobridge
bridge {
brewery-jid = "jvbbrewery@internal-muc.meet.jitsi"
}
// Configure the codecs and RTP extensions to be used in the offer sent to clients.
codec {
video {
}
}
conference {
}
jigasi {
brewery-jid = "jigasibrewery@internal-muc.meet.jitsi"
}
octo {
// Whether or not to use Octo. Note that when enabled, its use will be determined by
// $jicofo.bridge.selection-strategy. There's a corresponding flag in the JVB and these
// two MUST be in sync (otherwise bridges will crash because they won't know how to
// deal with octo channels).
enabled = false
}
sctp {
enabled = false
}
xmpp {
client {
enabled = true
hostname = "xmpp.meet.jitsi"
port = "5222"
domain = "auth.jitsi.meet"
xmpp-domain = "meet.jitsi"
username = "focus"
password = "f3d5f1c3e134df7f530f33e35cd4e9f6"
conference-muc-jid = "muc.meet.jitsi"
client-proxy = "focus.meet.jitsi"
disable-certificate-verification = true
}
}
}
jigasi logs
2023-01-01 20:55:45.489 INFO: [215] JvbConference.start#479: [ctx=16726065444831326977032] Starting JVB conference room: 1001@muc.meet.jitsi
2023-01-01 20:55:45.492 INFO: [215] JvbConference.setXmppProvider#615: [ctx=16726065444831326977032] Using ProtocolProviderServiceJabberImpl(Jabber:jigasi@auth.jitsi.meet/1c1d5932)
2023-01-01 20:55:45.530 INFO: [217] net.java.sip.communicator.impl.protocol.jabber.OperationSetBasicTelephonyJabberImpl.registrationStateChanged: Jingle : ON
2023-01-01 20:55:45.530 INFO: [217] JvbConference.registrationStateChanged#677: [ctx=16726065444831326977032] Registering XMPP.
2023-01-01 20:55:45.611 INFO: [217] net.java.sip.communicator.impl.protocol.jabber.ProtocolProviderServiceJabberImpl$JabberConnectionListener.authenticated: Authenticated: false
2023-01-01 20:55:45.632 INFO: [217] AudioModeration.xmppProviderRegistered#499: [ctx=16726065444831326977032] Discovered avmoderation.meet.jitsi for 24ms.
2023-01-01 20:55:45.633 INFO: [217] JvbConference.joinConferenceRoom#759: [ctx=16726065444831326977032] Joining JVB conference room: 1001@muc.meet.jitsi
2023-01-01 20:55:45.674 SEVERE: [217] JvbConference.inviteFocus#1697: [ctx=16726065444831326977032] Could not invite the focus to the conference
org.jivesoftware.smack.XMPPException$XMPPErrorException: XMPP error reply received from focus.meet.jitsi: XMPPError: not-authorized - auth
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.smack.StanzaCollector.nextResultOrThrow(StanzaCollector.java:228)
at org.jitsi.jigasi.JvbConference.inviteFocus(JvbConference.java:1691)
at org.jitsi.jigasi.JvbConference.joinConferenceRoom(JvbConference.java:834)
at org.jitsi.jigasi.JvbConference.registrationStateChanged(JvbConference.java:658)
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:1395)
at net.java.sip.communicator.impl.protocol.jabber.ProtocolProviderServiceJabberImpl.connectAndLogin(ProtocolProviderServiceJabberImpl.java:968)
at net.java.sip.communicator.impl.protocol.jabber.ProtocolProviderServiceJabberImpl.initializeConnectAndLogin(ProtocolProviderServiceJabberImpl.java:793)
at net.java.sip.communicator.impl.protocol.jabber.ProtocolProviderServiceJabberImpl.register(ProtocolProviderServiceJabberImpl.java:495)
at org.jitsi.jigasi.util.RegisterThread.run(RegisterThread.java:59)
2023-01-01 20:55:45.684 INFO: [232] net.java.sip.communicator.impl.protocol.jabber.ChatRoomJabberImpl$MemberListener.joined: 1001@muc.meet.jitsi/1c1d5932 has joined the 1001@muc.meet.jitsi chat room.
2023-01-01 20:55:45.753 WARNING: [223] org.jivesoftware.smackx.xdata.provider.DataFormProvider.parseField: Unknown form field child element {jabber:x:data}desc ignored
2023-01-01 20:55:45.754 WARNING: [223] org.jivesoftware.smack.parsing.ExceptionThrowingCallbackWithHint.handleUnparsableStanza: Parsing exception "javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,6376]
Message: found: CHARACTERS, expected START_ELEMENT or END_ELEMENT" encountered. This exception will be re-thrown, leading to a disconnect. You can change this behavior by setting a different ParsingExceptionCallback using setParsingExceptionCallback(). More information an be found in AbstractXMPPConnection's javadoc.
2023-01-01 20:55:45.754 SEVERE: [231] net.java.sip.communicator.impl.protocol.jabber.ChatRoomJabberImpl$ChatRoomPresenceListener.processOwnPresence: Failed to send config form.
org.jivesoftware.smack.SmackException$NotConnectedException: The connection XMPPTCPConnection[jigasi@auth.jitsi.meet/1c1d5932] (2) is no longer connected while waiting for response with IQReplyFilter: iqAndIdFilter (AndFilter: (OrFilter: (IQTypeFilter: type=error, IQTypeFilter: type=result), StanzaIdFilter: id=ETQAX-34)), : fromFilter (OrFilter: (FromMatchesFilter (full): 1001@muc.meet.jitsi)) because of java.io.IOException: org.jivesoftware.smack.xml.XmlPullParserException: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,6376]
Message: found: CHARACTERS, expected START_ELEMENT or END_ELEMENT
at org.jivesoftware.smack.StanzaCollector.nextResultOrThrow(StanzaCollector.java:276)
at org.jivesoftware.smack.StanzaCollector.nextResultOrThrow(StanzaCollector.java:228)
at org.jivesoftware.smackx.muc.MultiUserChat.getConfigurationForm(MultiUserChat.java:844)
at net.java.sip.communicator.impl.protocol.jabber.ChatRoomJabberImpl$ChatRoomPresenceListener.processOwnPresence(ChatRoomJabberImpl.java:3347)
at net.java.sip.communicator.impl.protocol.jabber.ChatRoomJabberImpl$ChatRoomPresenceListener.processStanza(ChatRoomJabberImpl.java:3320)
at org.jivesoftware.smack.AbstractXMPPConnection$4.run(AbstractXMPPConnection.java:1601)
at org.jivesoftware.smack.AbstractXMPPConnection$10.run(AbstractXMPPConnection.java:2146)
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)
Caused by: java.io.IOException: org.jivesoftware.smack.xml.XmlPullParserException: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,6376]
Message: found: CHARACTERS, expected START_ELEMENT or END_ELEMENT
at org.jivesoftware.smack.parsing.ExceptionThrowingCallback.handleUnparsableStanza(ExceptionThrowingCallback.java:36)
at org.jivesoftware.smack.parsing.ExceptionThrowingCallbackWithHint.handleUnparsableStanza(ExceptionThrowingCallbackWithHint.java:42)
at org.jivesoftware.smack.AbstractXMPPConnection.parseAndProcessStanza(AbstractXMPPConnection.java:1458)
at org.jivesoftware.smack.tcp.XMPPTCPConnection.access$1000(XMPPTCPConnection.java:131)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(XMPPTCPConnection.java:972)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.access$700(XMPPTCPConnection.java:916)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader$1.run(XMPPTCPConnection.java:939)
... 1 more
Caused by: org.jivesoftware.smack.xml.XmlPullParserException: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,6376]