diff --git a/jicofo/src/main/java/org/jitsi/jicofo/conference/JitsiMeetConferenceImpl.java b/jicofo/src/main/java/org/jitsi/jicofo/conference/JitsiMeetConferenceImpl.java index 02dee447ad..e0fbc9cc76 100644 --- a/jicofo/src/main/java/org/jitsi/jicofo/conference/JitsiMeetConferenceImpl.java +++ b/jicofo/src/main/java/org/jitsi/jicofo/conference/JitsiMeetConferenceImpl.java @@ -1688,13 +1688,18 @@ public String redirectVisitor(boolean visitorRequested) } long participantCount = getUserParticipantCount(); + boolean visitorsAlreadyUsed = false; + synchronized (visitorChatRooms) + { + visitorsAlreadyUsed = !visitorChatRooms.isEmpty(); + } - if (!visitorRequested && participantCount < VisitorsConfig.config.getMaxParticipants()) + if (visitorsAlreadyUsed || visitorRequested || participantCount >= VisitorsConfig.config.getMaxParticipants()) { - return null; + return selectVisitorNode(); } - return selectVisitorNode(); + return null; } private long userParticipantCount = 0;