Is there a documentation for the lobby feature just arrived

Now Authentication and Lobby working fine in new instance. Thank you so much for your kind support.

1 Like

Hi @Rajesh_Pillai - did you end-up re-installing?

Yes, working fine now.

@corby I added these lines to my docker-jitsi-meet instance. It still doesnt work

VirtualHost "guest.meet.jitsi"
    authentication = "anonymous"
    c2s_require_encryption = false
    modules_enabled = {
            "muc_lobby_rooms";
        }

    lobby_muc = "lobby.meet.jitsi"

Any ideas how to enable it in docker version ?

Are you really using guest.meet.jitsi?

@tusharsonawane and everyone else who may find their way here:

:triangular_flag_on_post: It’s difficult, if not impossible to debug your lobby setup without seeing your full /etc/prosody/conf.d/meet.example.com.cfg.lua for your site.

:paperclip: Attach your full file so we can review it. (remove any passwords or IP addresses)

Also, if you have not already, read: [How to] How do I use the new Lobby Feature?. There is a " Configuration Details" section that will help everyone.

Dear All,
I am able to activate the lobby function on my Jitsi (as moderator), my buddies can choose to join the meeting either by lobby or by password, however if choosing lobby I never receive the “query” window to accept the user or not.
General Question: contains the lobby function also the additional possibility to set a meeting password or is it “either lobby or password” ?
below my settings (Prosody 11.5 was installed prior to Jitsi Meet nightly installation, all went smoothly):

Enable Jitsi Meet Authentication:

sudo nano -w /etc/prosody/conf.avail/myserver.com.cfg.lua

VirtualHost “myserver.com
Authentication = “internal_plain”

VirtualHost “guest.myserver.com
authentication = “anonymous”
c2s_require_encryption = false

Configuraton of VirtualHost / anonymous domain:

sudo nano -w /etc/jitsi/meet/myserver.com-config.js
anonymousdomain: ‘guest.myserver.com’,

Editing Jicofo service to only allow requests from authenticated domain:

sudo nano -w /etc/jitsi/jicofo/sip-communicator.properties
org.jitsi.jicofo.auth.URL=XMPP:myserver.com

Add moderator:
sudo prosodyctl register [name] myserver.com [password]

Activate Authorisation requirement each time for login

sudo nano -w /etc/jitsi/jicofo/sip-communicator.properties
org.jitsi.jicofo.auth.DISABLE_AUTOLOGIN=true

Add lobby feature:

sudo nano -w /etc/prosody/conf.d/myserver.com.cfg.lua

VirtualHost “guest.myserver.com
authentication = “anonymous”
c2s_require_encryption = false
modules_enabled = {
“muc_lobby_rooms”;
}
lobby_muc = “lobby. myserver.com
main_muc = “conference. myserver.com

Component “lobby.myserver.com” “muc”
storage = “memory”
restrict_room_creation = true
muc_room_locking = false
muc_room_default_public_jids = true

Now the lobby feature appears on my moderator screen (all looks fine) but after my buddies asks for Joining the room there is not query pop up on my screen (moderator screen) to allow users to enter.

Any hints are highly appreciated!
Kind regards, MS

Well that’s very strange. Did you restart everything ?

Yes, prosody, jicofo, jitsi-videobridge2
even reboot gives same result.

I was previously always confused with to choose the correct configuration file to edit:

  1. sudo nano -w /etc/prosody/conf.d/myserver.com.cfg.lua
    or
  2. sudo nano -w /etc/prosody/conf.avail/myserver.com.cfg.lua
    However, only (1) is the correct one, editing in (2) is messing up.

Jitsi functions smoothly so far, however without functional lobby feature.
where is the feature stored which should give the alert in moderator screen to accept joining the room?

That is strange. So by default /etc/prosody/conf.d/myserver.com.cfg.lua is a symlink to /etc/prosody/conf.avail/myserver.com.cfg.lua so basically those should be the same file. But the one prosody takes is 1. ( Include "conf.d/*.cfg.lua").

“messing up” in (2):
as moderator no audio, no video (both icons are strike-through on the GUI and not changeable), not even entering the standard view.

@Damencho:
I add the “Jitsi Meet authentication” in the prosody/conf.avail/myserver… but not in prosody/conf.d/myserver (see below)

could this be the reason for the issue?

Enable Jitsi Meet Authentication:

sudo nano -w /etc/prosody/conf.avail/myserver.com.cfg.lua

VirtualHost “myserver.com
Authentication = “internal_plain”

VirtualHost “guest.myserver.com
authentication = “anonymous”
c2s_require_encryption = false

I have just performed all changes in conf.d file only and not in conf.avail (which should lead to same output),
same result:
lobby feature appearing for both moderator and guest, however request is not reaching back to moderator.

ls -lart /etc/prosody/conf.d should report only symbolic links. If it’s not true you have a messed configuration. At this point maybe reinstalling could be an option.

here is the output, I have only altered the server name - is it messed up?

jitsiadmin@myserver:~$ sudo ls -lart /etc/prosody/conf.d
[sudo] password for jitsiadmin:
total 8
lrwxrwxrwx 1 root root 31 Aug 12 08:29 localhost.cfg.lua -> …/conf.avail/l ocalhost.cfg.lua
drwxr-xr-x 5 root root 4096 Aug 12 08:36 …
lrwxrwxrwx 1 root root 54 Aug 12 08:41 myserver.com.cfg.lua -> /e tc/prosody/conf.avail/myserver.com.cfg.lua
drwxr-xr-- 2 root prosody 4096 Aug 12 17:37 .

Still struggling to see how this could be possible; can you try it with unstable version ? When looking at your screen in normal mode (not tile view) if you click on your icon uppper right and hower the star to the lower right of the icon, do you see ‘Moderator’ displayed ?

it’s both, if you set a password people entering the password at the lobby invite enter directly without any knocking

I am using solely unstable version (nightly builds).
Yes, if I hover over my icon in the upper corner the “moderator” appears.

Maybe a bit closer to the issue:
when I tried now at working place with my office colleague (different IPs) the appearing option “join meeting” is grayed out on his screen (not clickable), he has no camera installed but still sound.

Trying yesterday at home was done with two laptops in intranet over same router:
at home on my 2nd laptop I still could click on “Join Meeting” button but on moderator screen knocking was not visible.

Sorry for the delay but I have searched a bit for an easy way to display what is in the Jitsi rooms and found none. Maybe the web admin can do it but I have been disgusted by the install procedure and never had the urge to complete it. I have searched quite a bit for the telnet module and found no way. So I have hacked together a prosody module.
if

  • you have the will and the knowledge to install a totally custom prosody module in your server
  • a working firewall (very important since it is based on telnet module and if you have no firewall it will open a giant security hole on port 5582)

I can push here the module and you can try it. Here is what it displays with a working lobby implementation:

(room after creating it)

muc:lstocc("myroom@conference.meet.example.com")
| h_kiiihztr6jfblx@guest.meet.example.com  owner  moderator
| focus@auth.meet.example.com  owner  moderator
| Result: nil

(lobby after enabling it)

muc:lstocc("myroom@lobby.meet.example.com")
| h_kiiihztr6jfblx@guest.meet.example.com  owner  moderator
| Result: nil

(lobby when knocking)

muc:lstocc("myroom@lobby.meet.example.com")
| h_kiiihztr6jfblx@guest.meet.example.com  owner  moderator
| q-pv1kzqxigyfqyj@guest.meet.example.com  none  participant
| Result: nil

The idea is to compare with what could be displayed at your site.

@Mr_Smith
if you want to try it, here it is.

-- mod_telnet_lstocc.lua

module:set_global();
module:depends("admin_telnet");

local console_env = module:shared("/*/admin_telnet/env");
local jid_split = import("util.jid", "prepped_split");

local _G = _G;

local prosody = _G.prosody;

local function check_muc(jid)
        local room_name, host = jid_split(jid);
        if not prosody.hosts[host] then
                return nil, "No such host: "..host;
        elseif not prosody.hosts[host].modules.muc then
                return nil, "Host '"..host.."' is not a MUC service";
        end
        return room_name, host;
end

function console_env.muc:lstocc(room_jid)
	local print = self.session.print;
        local room_name, host = check_muc(room_jid);
        if not room_name then
                return nil, "No such room: "..room_jid;
        end
        local room_obj = prosody.hosts[host].modules.muc.get_room_from_jid(room_jid);
        if not room_obj then
                return nil, "No such room: "..room_jid;
        end

        for _, occupant in room_obj:each_occupant() do
                aff = room_obj:get_affiliation(occupant.jid);
                print(occupant.bare_jid.."  "..aff.."  "..occupant.role);
        end
end

save this text as
/usr/share/jitsi-meet/prosody-plugins/mod_telnet_lstocc.lua
then in your prosody config add
“telnet_lstocc”;
in the modules_enabled section of the main (authenticated) host.
Restart prosody.
To test use
telnet localhost 5582
and enter
host:list()
if you get a list of the Prosody hosts, all is good.

Then create a room, enable the lobby, try to enter the same room with another computer and try the commands in my previous post, substituting the room name and the host.

Hi Guys,

I am also facing the same issue as of Mr. Smith. I am using however JWT authentication.

I also checked https://meet.jit.si/ but found that lobby feature is not enable there.

I have deployed now a new server (based on nightly build), with the only difference to my installation described above, that I did NOT install the latest prosody version prior to JitsiMeet installation.
My current prosody version therefore is 0.11.2-1

all additions required for lobby were performed in the file /etc/prosody/conf.d/myserver.com.cfg.lua

Same result as above:
lobby is enabled, moderator is not receiving the knocking from the conference participants.
The option “Join” can be clicked after adding name on buddies side (e.g. Jitsi Meet Electron on Debian) or can be clicked on Android, but nothing occurs on Moderator´s screen.

So in my opinion the issue lays in my settings, however is not caused by the prosody version.
(still did not try yet the approach offered by gpatel-fr described above)

Dear gpatel-fr,
Thank you VERY much for your effort, I have installed and applied your prosody module.

Below the output, the room was “lobbytest” and I have replaced “meet.example.com” with “myserver.com”.
It seems that the lobby is not created even after enabling it in the GUI:

Here the results on server with prosody 0.11.2

host:list()
| myserver.com
| auth.myserver.com
| conference.myserver.com (muc component)
| conferenceduration.myserver.com (conference_duration_component component)
| focus.myserver.com (component)
| guest.myserver.com
| internal.auth.myserver.com (muc component)
| lobby.myserver.com (muc component)
| localhost
| speakerstats.myserver.com (speakerstats_component component)
| OK: 10 hosts

after “lobbytest” room creation:

muc:lstocc(“lobbytest@conference.myserver.com”)
| focus@auth.myserver.com owner moderator
| ykb9-0verlp-8erj@guest.myserver.com owner moderator
| Result: nil

after enabling lobby:

muc:lstocc(“lobbytest@lobby.myserver.com”)
| Result: nil

after knocking:

muc:lstocc(“lobbytest@lobby.myserver.com”)
| s-fimgwo6buc2it9@guest.myserver.com none participant
| Result: nil

Here the results using prosody 0.11.5

host:list()
| auth.myserver.com
| conference.myserver.com (muc component)
| conferenceduration.myserver.com (conference_duration_component component)
| focus.myserver.com (component)
| guest.myserver.com
| internal.auth.myserver.com (muc component)
| lobby.myserver.com (muc component)
| localhost
| myserver.com
| speakerstats.myserver.com (speakerstats_component component)
| OK: 10 hosts

after “lobbytest” room creation:

muc:lstocc(“lobbytest@conference.myserver.comg”)
| focus@auth.myserver.com owner moderator
| te4unizqxbvhxbyk@guest.myserver.com owner moderator
| Result: nil

after enabling lobby:

muc:lstocc(“lobbytest@lobby.myserver.com”)
| Result: nil

after knocking:

muc:lstocc(“lobbytest@lobby.myserver.com”)
| rplf2azpprdpmm1m@guest.myserver.com none participant
| Result: nil