Multiple moderators in one meeting

Hi,
We use Jitsi Meet every week and we have about 50 - 70 participants per meeting.
We have two problems:

  1. From time to time someone forget to mute his microphone and the moderator do not observe to mute him.
  2. When moderator has connection problems and disconnects / reconnects someone else randomly is made moderator, but he / she do not know how to moderate.

Is there a solution that can allow us have multiple moderators (2 or 3) and when one is of the other is granted with moderator privileges?

I have tried the solution with password protected users that can create meeting, but when he / she reconnects again moderator privileges are granted randomly.

Thanks.

Use authentication, where moderators are authenticated and the rest are guests.

is this done through JWT authentication?

Hi,
Thank you for your prompt response; I will try it to see how it works.

@damencho

I have setup secure domain with users & it works fine. When i enable anonymous users, then only 1 of the authenticated user is made as moderator & anyone who joins later are considered guests.

I want to know if multiple moderators can login + anonymous guests?

Like John, Joe & Jim are admins. When they come to a room all of them are given an option to login as moderator

George is a guest and he is automatically placed into the room as guest

1 Like

Doesn’t your browsers save a cookie or something to know that you are moderator?

Maybe I’m guessing here, but if you have authenticated before even when you enter an open room you still are known as moderator, right?

multiple moderators works fine if i remove anonymous domain

This guide worked on the first attempt for me (follow only the secure domain part if your server is already deployed)
It is easy to follow for mere mortals like us…

this is what i have.

i’m looking to do multiple moderators logging in + Guest joining without any login

That is exactly what it does once this guide is followed.
A moderator has to open the room, the guests can enter without moderator priviledges.
Other moderators can login too if they have a prosody username.

I can show you via our own instance of jitsi if needed :slight_smile:

will check the guide again… & if i need any help, i’ll reach out … thanks

hi

i followed you guide but still no luck… after the 1st moderator logs in, the next person to join is not presented with a login screen, instead just a box for “name”

would like to take a look at how you did it/

must be some silly issue on my end but would love to take a look

hi

can you please let me know when you can walk me thro your setup?

i’ve tried to set it up multiple times and still only 1 moderator per room. everyone else defaults to guest.

@damencho can you please chime in, if you can?

my settings
conf.mydomain.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 = "conf.mydomain.com";

turncredentials_secret = "SECRET";

turncredentials = {
  { type = "stun", host = "conf.mydomain.com", port = "4446" },
  { type = "turn", host = "conf.mydomain.com", port = "4446", transport = "udp" },
  { type = "turns", host = "conf.mydomain.com", port = "443", transport = "tcp" }
};

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

VirtualHost "conf.mydomain.com"
        -- enabled = false -- Remove this line to enable this host
        authentication = "internal_plain"
        -- 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/conf.mydomain.com.key";
                certificate = "/etc/prosody/certs/conf.mydomain.com.crt";
        }
        speakerstats_component = "speakerstats.conf.mydomain.com"
        conference_duration_component = "conferenceduration.conf.mydomain.com"
        -- we need bosh
        modules_enabled = {
            "bosh";
            "pubsub";
            "ping"; -- Enable mod_ping
            "speakerstats";
            "turncredentials";
            "conference_duration";
        }
        c2s_require_encryption = false

Component "conference.conf.mydomain.com" "muc"
    storage = "memory"
    modules_enabled = {
        "muc_meeting_id";
        "muc_domain_mapper";
        "vhs";
        -- "token_verification";
    }
    admins = { "focus@auth.conf.mydomain.com" }
    muc_room_locking = false
    muc_room_default_public_jids = true

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

VirtualHost "auth.conf.mydomain.com"
    ssl = {
        key = "/etc/prosody/certs/auth.conf.mydomain.com.key";
        certificate = "/etc/prosody/certs/auth.conf.mydomain.com.crt";
    }
    authentication = "internal_plain"

Component "focus.conf.mydomain.com"
    component_secret = "xxxxx"

Component "speakerstats.conf.mydomain.com" "speakerstats_component"
    muc_component = "conference.conf.mydomain.com"

Component "conferenceduration.conf.mydomain.com" "conference_duration_component"
    muc_component = "conference.conf.mydomain.com"

--jibri1
Component "internal.auth.conf.mydomain.com" "muc"
    storage = "memory"
    modules_enabled = {
      "ping";
    }
    muc_room_cache_size = 1000

    admins = { "focus@auth.conf.mydomain.com", "jvb@auth.conf.mydomain.com" }

VirtualHost "recorder.conf.mydomain.com"
    modules_enabled = {
      "ping";
    }
    authentication = "internal_plain"

VirtualHost "guest.conf.mydomain.com"
    authentication = "anonymous"
    c2s_require_encryption = false
    modules_enabled = {
        "ping"; -- Enable mod_ping
        "speakerstats";
        "turncredentials";
        "conference_duration";
    }

/etc/jitsi/jicofo/sip-communicator.properties

org.jitsi.jicofo.BRIDGE_MUC=JvbBrewery@internal.auth.conf.mydomain.com
org.jitsi.jicofo.jibri.BREWERY=JibriBrewery@internal.auth.conf.mydomain.com
org.jitsi.jicofo.jibri.PENDING_TIMEOUT=90
org.jitsi.jicofo.auth.URL=XMPP:conf.mydomain.com

in case you are not using jwt, your 2nd moderator must still remembered as authenticated user. try by visiting other room as the first user and come back to whatever room he/she must moderate. cmiiw

Thanks. Will try

Can you please let me know how to configure jwt? I find the guide a bit too complex for me

Sorry I took so long to answer!
What you experience is the normal behaviour of jitsi on a secure domain
1- First person to create a room has to authenticate as a moderator
2 - All subsequent people added to the same conversation are guests, unless they had previously logged as a moderator on your site.
3 - If a guest in the room wants moderator priviledges, he/she has to click on the three dots on the bottom right of the screen, then select settings. In the settings, in the profile tab, there is a field for the display name and at the bottom a login button. If the person logs with the prosody credentials there, he/she will also be a moderator. This is retained for future sessions on jitsi on the same computer and browser.

I can show you on my own instance if needed

1 Like

Thanks for all replies.
Normand_Nadon solution worked.

1 Like

Hello sir can you help me how to set this up…i have self hosted jitsi in linux vm and use it as an iframe.

How to do that??