plugin_paths = { "/usr/share/jitsi-meet/prosody-plugins/" }


muc_mapper_domain_base = "DOMAINname";

turncredentials_secret = "TURNSEC";

turncredentials = {
  { type = "stun", host = "DOMAINname", port = "3478" },
  { type = "turn", host = "DOMAINname", port = "3478", transport = "udp" },
  { type = "turns", host = "DOMAINname", port = "443", transport = "tcp" }
};

cross_domain_bosh = false;
consider_bosh_secure = true;

ssl = {
  protocol = "tlsv1_2+";
  ciphers = "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384"
}


VirtualHost "guest.DOMAINname"
    authentication = "anonymous"
    c2s_require_encryption = false
    modules_enabled = {
            "muc_lobby_rooms";
            "conference_duration";
            "turncredentials";
        }

    lobby_muc = "lobby.DOMAINname"
    main_muc = "conference.DOMAINname"
    muc_lobby_whitelist = { "recorder.DOMAINname" }

VirtualHost "DOMAINname"
        authentication = "internal_hashed"
        ssl = {
                key = "/etc/prosody/certs/DOMAINname.key";
                certificate = "/etc/prosody/certs/DOMAINname.crt";
        }
        speakerstats_component = "speakerstats.DOMAINname"
        conference_duration_component = "conferenceduration.DOMAINname"
        -- we need bosh
        modules_enabled = {
            "bosh";
            "pubsub";
            "ping";
            "speakerstats";
            "turncredentials";
            "conference_duration";
        }
        c2s_require_encryption = false
        lobby_muc = "lobby.DOMAINname"
        main_muc = "conference.DOMAINname"
        muc_lobby_whitelist = { "recorder.DOMAINname" } 

Component "conference.DOMAINname" "muc"
    storage = "memory"
    modules_enabled = {
        "muc_meeting_id";
        "muc_domain_mapper";
    }
    admins = { "focus@auth.DOMAINname" }
    muc_room_locking = false
    muc_room_default_public_jids = true

Component "internal.auth.DOMAINname" "muc"
    storage = "memory"
    modules_enabled = {
      "ping";
    }
    admins = { "focus@auth.DOMAINname", "jvb@auth.DOMAINname" }
    muc_room_locking = false
    muc_room_default_public_jids = true

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

Component "focus.DOMAINname"
    component_secret = "COMPSEC"

Component "speakerstats.DOMAINname" "speakerstats_component"
    muc_component = "conference.DOMAINname"

Component "conferenceduration.DOMAINname" "conference_duration_component"
    muc_component = "conference.DOMAINname"

Component "lobby.DOMAINname" "muc"
    storage = "memory"
    restrict_room_creation = true
    muc_room_locking = false
    muc_room_default_public_jids = true        
    
Component "internal.auth.DOMAINname" "muc"
    modules_enabled = { "muc_mam" }


Component "internal.auth.DOMAINname" "muc"
        modules_enabled = {
                "ping";
        }
        storage = "internal"
        muc_room_cache_size = 1000


VirtualHost "recorder.DOMAINname"
        modules_enabled = {
                "ping";
        }
        authentication = "internal_plain"