Cannot exit from Breakout Room

I use Jitsi 8319. Cannot return to main room if it contains password.
Step to reproduce:

  1. Participant create conference
  2. Set password in main room
  3. Create BreakOut Room and join it
  4. Try to return to main room
    There is no password prompt and the user stays in the room. There is an error in the logs that the focus-user cannot be authorized.
prosody.cfg

admins = {
jvb@auth.mydomain.net”,
jigasi@auth.mydomain.net”,
recorder@recorder.mydomain.net”,
focus@auth.mydomain.net
}

unlimited_jids = {
focus@auth.mydomain.net”,
jigasi@auth.mydomain.net”,
jvb@auth.mydomain.net
}
plugin_paths = { “/prosody-plugins/”, “/prosody-plugins-custom” }

muc_mapper_domain_base = “mydomain.net”;
muc_mapper_domain_prefix = “muc”;

http_default_host = “mydomain.net

VirtualHost “mydomain.net
authentication = “token”
app_id = “meet-au11”
app_secret = “FangaOppressoraSubsonic5”
token_verification_require_token_for_moderation = true
allow_empty_token = false
ssl = {
key = “/config/certs/mydomain.net.key”;
certificate = “/config/certs/mydomain.net.crt”;
}
modules_enabled = {
“av_moderation”;
“bosh”;
“conference_duration”;
“ping”;
“presence_identity”;
“pubsub”;
“room_metadata”;
“speakerstats”;
“muc_lobby_rooms”;
“muc_breakout_rooms”;
}
av_moderation_component = “avmoderation.mydomain.net
conference_duration_component = “conferenceduration.mydomain.net
room_metadata_component = “metadata.mydomain.net
speakerstats_component = “speakerstats.mydomain.net
c2s_require_encryption = false
main_muc = “muc.mydomain.net
lobby_muc = “lobby.mydomain.net
muc_lobby_whitelist = { “recorder.mydomain.net” }
breakout_rooms_muc = “breakout.mydomain.net
enable_domain_verification = false

Component “jitsi-videobridge.mydomain.net
component_secret = “BlissfulaAbdomenaBarista5”

VirtualHost “auth.mydomain.net
ssl = {
key = “/config/certs/auth.mydomain.net.key”;
certificate = “/config/certs/auth.mydomain.net.crt”;
}
authentication = “internal_plain”

VirtualHost “recorder.mydomain.net
modules_enabled = {
“ping”;
}
authentication = “internal_plain”

Component “internal-muc.mydomain.net” “muc”
storage = “memory”
modules_enabled = {
“ping”;
}
admins = {
focus@auth.mydomain.net”,
jigasi@auth.mydomain.net
}
restrict_room_creation = true
muc_room_locking = false
muc_room_default_public_jids = true

Component “muc.mydomain.net” “muc”
storage = “memory”
modules_enabled = {
“muc_meeting_id”;
“muc_domain_mapper”;
“jibri_enabler”;
“polls”;
“token_verification”;
“token_moderation”;
}
muc_room_cache_size = 1000
muc_room_locking = false
muc_room_default_public_jids = true
admins = {
focus@auth.mydomain.net”,
jigasi@auth.mydomain.net
}
prosody_recorder_domain = “recorder.mydomain.net
Component “focus.mydomain.net” “client_proxy”
target_address = “focus@auth.mydomain.net

Component “avmoderation.mydomain.net” “av_moderation_component”
muc_component = “muc.mydomain.net

Component “conferenceduration.mydomain.net” “conference_duration_component”
muc_component = “muc.mydomain.net

Component “speakerstats.mydomain.net” “speakerstats_component”
muc_component = “muc.mydomain.net

Component “lobby.mydomain.net” “muc”
storage = “memory”
restrict_room_creation = true
muc_room_locking = false
muc_room_default_public_jids = true

Component “metadata.mydomain.net” “room_metadata_component”
muc_component = “muc.mydomain.net
breakout_rooms_component = “breakout.mydomain.net

Component “breakout.mydomain.net” “muc”
restrict_room_creation = true
storage = “memory”
admins = { “focus@auth.mydomain.net” }
muc_room_locking = false
muc_room_default_public_jids = true

jicofo.cfg

jicofo {
authentication {
enabled = false
// The type of authentication. Supported values are XMPP, JWT or SHIBBOLETH (default).
type = JWT
login-url = “mydomain.net
}

// Configuration related to jitsi-videobridge
bridge {



  selection-strategy = "RegionBasedBridgeSelectionStrategy"

  health-checks {
    enabled = "true"
  }

  brewery-jid = "jvbbrewery@internal-muc.mydomain.net"
}

// Configure the codecs and RTP extensions to be used in the offer sent to clients.
codec {
  video {
  }
}

conference {
}

// Configuration for the internal health checks performed by jicofo.
health {
  // Whether to perform health checks.
  enabled = "true"
}

rest {
  port = 8801
  prometheus {
    enabled = true
  }
}

jibri {
  brewery-jid = "jibribrewery@internal-muc.mydomain.net"
  pending-timeout = "90"
}

jigasi {
  brewery-jid = "jigasibrewery@internal-muc.mydomain.net"
}

octo {
  enabled = true
  id = "0"
}

xmpp {
  client {
    enabled = true
    hostname = "172.17.0.1"
    domain = "auth.mydomain.net"
    username = "focus"
    password = "NicotineaHeadstone6aMoisture"
    conference-muc-jid = "muc.mydomain.net"
    client-proxy = "focus.mydomain.net"
    disable-certificate-verification = true
    xmpp-domain = "mydomain.net"
  }
  trusted-domains = ["recorder.mydomain.net"]
}

}

jicofo.log

Apr 26 02:47:29 mydomain.net jicofo[2243]: 2023-04-26T02:47:29.337+0300 INFO org.jitsi.utils.logging2.LoggerImpl log Focus request for room: 8986580585@muc.mydomain.net
Apr 26 02:47:29 mydomain.net jicofo[2243]: 2023-04-26T02:47:29.340+0300 SEVERE org.jitsi.utils.logging2.LoggerImpl log No XmppConnectionConfig for vnode=null
Apr 26 02:47:29 mydomain.net jicofo[2243]: 2023-04-26T02:47:29.342+0300 INFO org.jitsi.utils.logging2.LoggerImpl log Created new conference.
Apr 26 02:47:29 mydomain.net jicofo[2243]: 2023-04-26T02:47:29.343+0300 INFO org.jitsi.utils.logging2.LoggerImpl log Joining 8986580585@muc.mydomain.net
Apr 26 02:47:29 mydomain.net jicofo[2243]: 2023-04-26T02:47:29.459+0300 INFO org.jitsi.utils.logging2.LoggerImpl log Member joined:22557da8 stats-id=Conner-rm6 region=jitsi-meet-1 audioMuted=true videoMuted=true role=PARTICIPANT isJibri=false isJigasi=false
Apr 26 02:47:29 mydomain.net jicofo[2243]: 2023-04-26T02:47:29.462+0300 INFO org.jitsi.utils.logging2.LoggerImpl log Electing new owner: ChatMember[id=22557da8 role=PARTICIPANT]
Apr 26 02:47:44 mydomain.net jicofo[2243]: 2023-04-26T02:47:44.463+0300 SEVERE org.jitsi.utils.logging2.LoggerImpl log Failed to grant owner status to 22557da8-3557-4776-a535-50b061fbee95@mydomain.net/7HSubmIiSQTH
Apr 26 02:47:44 mydomain.net jicofo[2243]: java.lang.RuntimeException: Failed to grant owner:
Apr 26 02:47:44 mydomain.net jicofo[2243]: at org.jitsi.impl.protocol.xmpp.ChatRoomImpl.grantOwnership(ChatRoomImpl.java:529)
Apr 26 02:47:44 mydomain.net jicofo[2243]: at org.jitsi.jicofo.xmpp.muc.ChatRoomRoleManager.grantOwner(ChatRoomRoleManager.kt:42)
Apr 26 02:47:44 mydomain.net jicofo[2243]: at org.jitsi.jicofo.xmpp.muc.AutoOwnerRoleManager.electNewOwner(ChatRoomRoleManager.kt:106)
Apr 26 02:47:44 mydomain.net jicofo[2243]: at org.jitsi.jicofo.xmpp.muc.AutoOwnerRoleManager.memberJoined(ChatRoomRoleManager.kt:68)
Apr 26 02:47:44 mydomain.net jicofo[2243]: at org.jitsi.impl.protocol.xmpp.ChatRoomImpl.lambda$processOtherPresence$12(ChatRoomImpl.java:856)
Apr 26 02:47:44 mydomain.net jicofo[2243]: at org.jitsi.utils.event.SyncEventEmitter$fireEvent$1$1.invoke(EventEmitter.kt:64)
Apr 26 02:47:44 mydomain.net jicofo[2243]: at org.jitsi.utils.event.SyncEventEmitter$fireEvent$1$1.invoke(EventEmitter.kt:64)
Apr 26 02:47:44 mydomain.net jicofo[2243]: at org.jitsi.utils.event.BaseEventEmitter.wrap(EventEmitter.kt:49)
Apr 26 02:47:44 mydomain.net jicofo[2243]: at org.jitsi.utils.event.SyncEventEmitter.fireEvent(EventEmitter.kt:64)
Apr 26 02:47:44 mydomain.net jicofo[2243]: at org.jitsi.impl.protocol.xmpp.ChatRoomImpl.processOtherPresence(ChatRoomImpl.java:855)
Apr 26 02:47:44 mydomain.net jicofo[2243]: at org.jitsi.impl.protocol.xmpp.ChatRoomImpl.processPresence(ChatRoomImpl.java:909)
Apr 26 02:47:44 mydomain.net jicofo[2243]: at org.jivesoftware.smackx.muc.MultiUserChat$3.processStanza(MultiUserChat.java:309)
Apr 26 02:47:44 mydomain.net jicofo[2243]: at org.jivesoftware.smack.AbstractXMPPConnection.lambda$invokeStanzaCollectorsAndNotifyRecvListeners$8(AbstractXMPPConnection.java:1619)
Apr 26 02:47:44 mydomain.net jicofo[2243]: at org.jivesoftware.smack.AsyncButOrdered$Handler.run(AsyncButOrdered.java:151)
Apr 26 02:47:44 mydomain.net jicofo[2243]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
Apr 26 02:47:44 mydomain.net jicofo[2243]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
Apr 26 02:47:44 mydomain.net jicofo[2243]: at java.base/java.lang.Thread.run(Thread.java:829)
Apr 26 02:47:44 mydomain.net jicofo[2243]: 2023-04-26T02:47:44.488+0300 INFO org.jitsi.utils.logging2.LoggerImpl log Member left:22557da8
Apr 26 02:47:44 mydomain.net jicofo[2243]: 2023-04-26T02:47:44.489+0300 WARNING org.jitsi.utils.logging2.LoggerImpl log Participant not found for 22557da8. Terminated already or never started?
Apr 26 02:47:44 mydomain.net jicofo[2243]: 2023-04-26T02:47:44.491+0300 INFO org.jitsi.utils.logging2.LoggerImpl log Stopped.
Apr 26 02:47:44 mydomain.net jicofo[2243]: 2023-04-26T02:47:44.701+0300 INFO org.jitsi.utils.logging2.LoggerImpl log Focus request for room: c5ed3aa1-a36f-4011-af2d-f6e59c0b3b68@breakout.mydomain.net
Apr 26 02:47:44 mydomain.net jicofo[2243]: 2023-04-26T02:47:44.702+0300 SEVERE org.jitsi.utils.logging2.LoggerImpl log No XmppConnectionConfig for vnode=null
Apr 26 02:47:44 mydomain.net jicofo[2243]: 2023-04-26T02:47:44.703+0300 INFO org.jitsi.utils.logging2.LoggerImpl log Created new conference.
Apr 26 02:47:44 mydomain.net jicofo[2243]: 2023-04-26T02:47:44.704+0300 INFO org.jitsi.utils.logging2.LoggerImpl log Joining c5ed3aa1-a36f-4011-af2d-f6e59c0b3b68@breakout.mydomain.net
Apr 26 02:47:44 mydomain.net jicofo[2243]: 2023-04-26T02:47:44.920+0300 INFO org.jitsi.utils.logging2.LoggerImpl log Member joined:22557da8 stats-id=Conner-rm6 region=jitsi-meet-1 audioMuted=true videoMuted=true role=OWNER isJibri=false isJigasi=false
Apr 26 02:47:49 mydomain.net jicofo[2243]: 2023-04-26T02:47:49.262+0300 INFO org.jitsi.utils.logging2.LoggerImpl log Member left:22557da8
Apr 26 02:47:49 mydomain.net jicofo[2243]: 2023-04-26T02:47:49.263+0300 WARNING org.jitsi.utils.logging2.LoggerImpl log Participant not found for 22557da8. Terminated already or never started?
Apr 26 02:47:49 mydomain.net jicofo[2243]: 2023-04-26T02:47:49.263+0300 INFO org.jitsi.utils.logging2.LoggerImpl log Stopped.
Apr 26 02:47:49 mydomain.net jicofo[2243]: 2023-04-26T02:47:49.367+0300 INFO org.jitsi.utils.logging2.LoggerImpl log Focus request for room: 8986580585@muc.mydomain.net
Apr 26 02:47:49 mydomain.net jicofo[2243]: 2023-04-26T02:47:49.368+0300 SEVERE org.jitsi.utils.logging2.LoggerImpl log No XmppConnectionConfig for vnode=null
Apr 26 02:47:49 mydomain.net jicofo[2243]: 2023-04-26T02:47:49.369+0300 INFO org.jitsi.utils.logging2.LoggerImpl log Created new conference.
Apr 26 02:47:49 mydomain.net jicofo[2243]: 2023-04-26T02:47:49.369+0300 INFO org.jitsi.utils.logging2.LoggerImpl log Joining 8986580585@muc.mydomain.net
Apr 26 02:47:49 mydomain.net jicofo[2243]: 2023-04-26T02:47:49.373+0300 INFO org.jitsi.utils.logging2.LoggerImpl log Stopped.
Apr 26 02:47:49 mydomain.net jicofo[2243]: 2023-04-26T02:47:49.374+0300 WARNING org.jitsi.utils.logging2.LoggerImpl log Exception while trying to start the conference

<------------------- TRY TO RETURN TO MAIN ROOM ---------------------->

Apr 26 02:47:49 mydomain.net jicofo[2243]: org.jivesoftware.smack.XMPPException$XMPPErrorException: XMPP error reply received from 8986580585@muc.mydomain.net/focus: XMPPError: not-authorized - auth. Generated by 8986580585@muc.mydomain.net
Apr 26 02:47:49 mydomain.net jicofo[2243]: at org.jivesoftware.smack.XMPPException$XMPPErrorException.ifHasErrorThenThrow(XMPPException.java:171)
Apr 26 02:47:49 mydomain.net jicofo[2243]: at org.jivesoftware.smack.XMPPException$XMPPErrorException.ifHasErrorThenThrow(XMPPException.java:165)
Apr 26 02:47:49 mydomain.net jicofo[2243]: at org.jivesoftware.smack.StanzaCollector.nextResultOrThrow(StanzaCollector.java:284)
Apr 26 02:47:49 mydomain.net jicofo[2243]: at org.jivesoftware.smackx.muc.MultiUserChat.enter(MultiUserChat.java:408)
Apr 26 02:47:49 mydomain.net jicofo[2243]: at org.jivesoftware.smackx.muc.MultiUserChat.createOrJoin(MultiUserChat.java:546)
Apr 26 02:47:49 mydomain.net jicofo[2243]: at org.jivesoftware.smackx.muc.MultiUserChat.createOrJoin(MultiUserChat.java:521)
Apr 26 02:47:49 mydomain.net jicofo[2243]: at org.jitsi.impl.protocol.xmpp.ChatRoomImpl.joinAs(ChatRoomImpl.java:305)
Apr 26 02:47:49 mydomain.net jicofo[2243]: at org.jitsi.impl.protocol.xmpp.ChatRoomImpl.join(ChatRoomImpl.java:230)
Apr 26 02:47:49 mydomain.net jicofo[2243]: at org.jitsi.jicofo.conference.JitsiMeetConferenceImpl.joinTheRoom(JitsiMeetConferenceImpl.java:473)
Apr 26 02:47:49 mydomain.net jicofo[2243]: at org.jitsi.jicofo.conference.JitsiMeetConferenceImpl.start(JitsiMeetConferenceImpl.java:320)
Apr 26 02:47:49 mydomain.net jicofo[2243]: at org.jitsi.jicofo.FocusManager.conferenceRequest(FocusManager.kt:115)
Apr 26 02:47:49 mydomain.net jicofo[2243]: at org.jitsi.jicofo.FocusManager.conferenceRequest$default(FocusManager.kt:96)
Apr 26 02:47:49 mydomain.net jicofo[2243]: at org.jitsi.jicofo.xmpp.ConferenceIqHandler.handleConferenceIq(ConferenceIqHandler.kt:95)
Apr 26 02:47:49 mydomain.net jicofo[2243]: at org.jitsi.jicofo.xmpp.ConferenceIqHandler.handleIQRequest$lambda-8(ConferenceIqHandler.kt:170)
Apr 26 02:47:49 mydomain.net jicofo[2243]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
Apr 26 02:47:49 mydomain.net jicofo[2243]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
Apr 26 02:47:49 mydomain.net jicofo[2243]: at java.base/java.lang.Thread.run(Thread.java:829)
Apr 26 02:47:49 mydomain.net jicofo[2243]: 2023-04-26T02:47:49.375+0300 WARNING org.jitsi.utils.logging2.LoggerImpl log Unable to handle packet:
Apr 26 02:47:49 mydomain.net jicofo[2243]: 2023-04-26T02:47:49.375+0300 SEVERE org.jitsi.utils.logging2.LoggerImpl log An uncaught exception occurred in thread=Thread[Jicofo Global IO Poolpool-1-thread-19,5,main]
Apr 26 02:47:49 mydomain.net jicofo[2243]: org.jivesoftware.smack.XMPPException$XMPPErrorException: XMPP error reply received from 8986580585@muc.mydomain.net/focus: XMPPError: not-authorized - auth. Generated by 8986580585@muc.mydomain.net
Apr 26 02:47:49 mydomain.net jicofo[2243]: at org.jivesoftware.smack.XMPPException$XMPPErrorException.ifHasErrorThenThrow(XMPPException.java:171)
Apr 26 02:47:49 mydomain.net jicofo[2243]: at org.jivesoftware.smack.XMPPException$XMPPErrorException.ifHasErrorThenThrow(XMPPException.java:165)
Apr 26 02:47:49 mydomain.net jicofo[2243]: at org.jivesoftware.smack.StanzaCollector.nextResultOrThrow(StanzaCollector.java:284)
Apr 26 02:47:49 mydomain.net jicofo[2243]: at org.jivesoftware.smackx.muc.MultiUserChat.enter(MultiUserChat.java:408)
Apr 26 02:47:49 mydomain.net jicofo[2243]: at org.jivesoftware.smackx.muc.MultiUserChat.createOrJoin(MultiUserChat.java:546)
Apr 26 02:47:49 mydomain.net jicofo[2243]: at org.jivesoftware.smackx.muc.MultiUserChat.createOrJoin(MultiUserChat.java:521)
Apr 26 02:47:49 mydomain.net jicofo[2243]: at org.jitsi.impl.protocol.xmpp.ChatRoomImpl.joinAs(ChatRoomImpl.java:305)
Apr 26 02:47:49 mydomain.net jicofo[2243]: at org.jitsi.impl.protocol.xmpp.ChatRoomImpl.join(ChatRoomImpl.java:230)
Apr 26 02:47:49 mydomain.net jicofo[2243]: at org.jitsi.jicofo.conference.JitsiMeetConferenceImpl.joinTheRoom(JitsiMeetConferenceImpl.java:473)
Apr 26 02:47:49 mydomain.net jicofo[2243]: at org.jitsi.jicofo.conference.JitsiMeetConferenceImpl.start(JitsiMeetConferenceImpl.java:320)
Apr 26 02:47:49 mydomain.net jicofo[2243]: at org.jitsi.jicofo.FocusManager.conferenceRequest(FocusManager.kt:115)
Apr 26 02:47:49 mydomain.net jicofo[2243]: at org.jitsi.jicofo.FocusManager.conferenceRequest$default(FocusManager.kt:96)
Apr 26 02:47:49 mydomain.net jicofo[2243]: at org.jitsi.jicofo.xmpp.ConferenceIqHandler.handleConferenceIq(ConferenceIqHandler.kt:95)
Apr 26 02:47:49 mydomain.net jicofo[2243]: at org.jitsi.jicofo.xmpp.ConferenceIqHandler.handleIQRequest$lambda-8(ConferenceIqHandler.kt:170)
Apr 26 02:47:49 mydomain.net jicofo[2243]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
Apr 26 02:47:49 mydomain.net jicofo[2243]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
Apr 26 02:47:49 mydomain.net jicofo[2243]: at java.base/java.lang.Thread.run(Thread.java:829)

Do you reproduce this on meet.jit.si?

Unfortunately not, but this is also reproduced if everything is run from the repository GitHub - jitsi/docker-jitsi-meet: Jitsi Meet on Docker with default settings.

Yeah that is strange. I suppose you cannot repro and on alpha jitsi net?

oh, reproduced on alpha - cannot see password prompt and stay in Breakout room
but on https://meet.jit.si/ i see password prompt and after enter the password successfully return to main room

I see. This should fix it.

2 Likes

Works fine, thanks