Jibri can not start after enabling Lobby feature

Before I enable the lobby feature, Jibri managed to record the conference.
But after enable the Lobby feature, every time I try to record, the recording fails to start.

What I have done to my Docker Jitsi to enable Lobby feature

- customize the config file from
~/.jitsi-meet-cfg/prosody/config/conf.d/jitsi-meet.cfg.lua
refference: https://github.com/jitsi/jitsi-meet/commit/273f357131fa629bb11e9b2e429fb118ae9f3af2

- and I even tried to whitelist the jibri user

here is the log from Jibri
2020-08-26 18:41:38.479 INFO: [110] org.jitsi.jibri.api.xmpp.XmppApi.handleStartJibriIq() Sending ‘pending’ response to start IQ
2020-08-26 18:41:39.871 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.visit() Visiting url my_domain/conference/verymotivationscoordinateeagerly#config.iAmRecorder=true&config.externalConnectUrl=null&config.startWithAudioMuted=true&config.startWithVideoMuted=true&interfaceConfig.APP_NAME=“Jibri”&config.analytics.disabled=true&config.p2p.enabled=false&config.prejoinPageEnabled=false&config.requireDisplayName=false
2020-08-26 18:41:40.016 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:41:40.534 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:41:41.041 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:41:41.549 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:41:42.057 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:41:42.564 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:41:43.071 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:41:43.578 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:41:44.085 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:41:44.592 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:41:45.099 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:41:45.606 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:41:46.114 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:41:46.621 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:41:47.130 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:41:47.636 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:41:48.143 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:41:48.650 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:41:49.157 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:41:49.664 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:41:50.171 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:41:50.678 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:41:51.186 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:41:51.693 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:41:52.199 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:41:52.706 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:41:53.213 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:41:53.720 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:41:54.227 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:41:54.734 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:41:55.240 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:41:55.748 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:41:56.255 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:41:56.762 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:41:57.269 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:41:57.776 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:41:58.283 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:41:58.798 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:41:59.305 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:41:59.811 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:42:00.318 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:42:00.826 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:42:01.333 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:42:01.840 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:42:02.347 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:42:02.854 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:42:03.361 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:42:03.868 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:42:04.375 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:42:04.881 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:42:05.388 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:42:05.896 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:42:06.403 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:42:06.910 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:42:07.417 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:42:07.924 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:42:08.431 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:42:08.937 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:42:09.444 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:42:09.951 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:42:10.457 FINE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.apply() Not joined yet: APP is not defined
2020-08-26 18:42:10.458 SEVERE: [122] org.jitsi.jibri.selenium.pageobjects.CallPage.visit() Timed out waiting for call page to load
2020-08-26 18:42:10.458 INFO: [122] org.jitsi.jibri.selenium.JibriSelenium.onSeleniumStateChange() Transitioning from state Starting up to Error: FailedToJoinCall SESSION Failed to join the call
2020-08-26 18:42:10.459 INFO: [122] org.jitsi.jibri.service.impl.FileRecordingJibriService.onServiceStateChange() File recording service transitioning from state Starting up to Error: FailedToJoinCall SESSION Failed to join the call
2020-08-26 18:42:10.459 INFO: [122] org.jitsi.jibri.api.xmpp.XmppApi.invoke() Current service had an error Error: FailedToJoinCall SESSION Failed to join the call, sending error iq
2020-08-26 18:42:10.460 FINE: [122] org.jitsi.jibri.statsd.JibriStatsDClient.incrementCounter() Incrementing statsd counter: stop:recording
2020-08-26 18:42:10.460 INFO: [122] org.jitsi.jibri.JibriManager.stopService() Stopping the current service
2020-08-26 18:42:10.460 INFO: [122] org.jitsi.jibri.service.impl.FileRecordingJibriService.stop() Stopping capturer
2020-08-26 18:42:10.461 INFO: [122] org.jitsi.jibri.util.JibriSubprocess.ffmpeg.stop() Stopping ffmpeg process
2020-08-26 18:42:10.461 INFO: [122] org.jitsi.jibri.util.JibriSubprocess.ffmpeg.stop() ffmpeg exited with value null
2020-08-26 18:42:10.461 INFO: [122] org.jitsi.jibri.service.impl.FileRecordingJibriService.stop() Quitting selenium
2020-08-26 18:42:10.476 INFO: [122] org.jitsi.jibri.service.impl.FileRecordingJibriService.stop() Participants in this recording:
2020-08-26 18:42:10.481 INFO: [122] org.jitsi.jibri.selenium.JibriSelenium.leaveCallAndQuitBrowser() Leaving call and quitting browser
2020-08-26 18:42:10.481 INFO: [122] org.jitsi.jibri.selenium.JibriSelenium.leaveCallAndQuitBrowser() Recurring call status checks cancelled
2020-08-26 18:42:10.488 INFO: [122] org.jitsi.jibri.selenium.JibriSelenium.leaveCallAndQuitBrowser() Got 3 log entries for type browser
2020-08-26 18:42:10.509 INFO: [122] org.jitsi.jibri.selenium.JibriSelenium.leaveCallAndQuitBrowser() Got 999 log entries for type driver
2020-08-26 18:42:10.623 INFO: [122] org.jitsi.jibri.selenium.JibriSelenium.leaveCallAndQuitBrowser() Got 0 log entries for type client
2020-08-26 18:42:10.624 INFO: [122] org.jitsi.jibri.selenium.JibriSelenium.leaveCallAndQuitBrowser() Leaving web call
2020-08-26 18:42:10.639 INFO: [122] org.jitsi.jibri.selenium.JibriSelenium.leaveCallAndQuitBrowser() Quitting chrome driver
2020-08-26 18:42:10.709 INFO: [122] org.jitsi.jibri.selenium.JibriSelenium.leaveCallAndQuitBrowser() Chrome driver quit
2020-08-26 18:42:10.710 INFO: [122] org.jitsi.jibri.service.impl.FileRecordingJibriService.stop() Finalizing the recording
2020-08-26 18:42:10.716 INFO: [126] org.jitsi.jibri.service.impl.FileRecordingJibriService.call() ls: cannot access ‘/config/recordings/yezschekceonfhup/*.mp4’: No such file or directory
2020-08-26 18:42:10.716 INFO: [126] org.jitsi.jibri.service.impl.FileRecordingJibriService.call() basename: missing operand
2020-08-26 18:42:10.716 INFO: [126] org.jitsi.jibri.service.impl.FileRecordingJibriService.call() Try ‘basename --help’ for more information.
2020-08-26 18:42:10.716 INFO: [126] org.jitsi.jibri.service.impl.FileRecordingJibriService.call() Uploading…
2020-08-26 18:42:10.716 INFO: [126] org.jitsi.jibri.service.impl.FileRecordingJibriService.call() /config/finalize.sh: 28: /config/finalize.sh: aws: not found
2020-08-26 18:42:10.716 INFO: [126] org.jitsi.jibri.service.impl.FileRecordingJibriService.call() /config/finalize.sh: 29: /config/finalize.sh: aws: not found
2020-08-26 18:42:10.717 INFO: [126] org.jitsi.jibri.service.impl.FileRecordingJibriService.call() /config/finalize.sh: 30: /config/finalize.sh: aws: not found
2020-08-26 18:42:10.717 INFO: [126] org.jitsi.jibri.service.impl.FileRecordingJibriService.call() /config/finalize.sh: 33: /config/finalize.sh: aws: not found
2020-08-26 18:42:10.717 INFO: [122] org.jitsi.jibri.service.impl.FileRecordingJibriService.finalize() Recording finalize script finished with exit value 127
2020-08-26 18:42:10.718 INFO: [122] org.jitsi.jibri.status.JibriStatusManager.log() Busy status has changed: BUSY -> IDLE
2020-08-26 18:42:10.718 INFO: [122] org.jitsi.jibri.api.xmpp.XmppApi.updatePresence() Jibri reports its status is now JibriStatus(busyStatus=IDLE, health=OverallHealth(healthStatus=HEALTHY, details={})), publishing presence to connections
2020-08-26 18:42:10.719 FINE: [122] org.jitsi.xmpp.mucclient.MucClientManager.log() Setting a presence extension: org.jitsi.xmpp.extensions.jibri.JibriStatusPacketExt@75dbc6aa
2020-08-26 18:42:10.720 FINE: [122] org.jitsi.xmpp.mucclient.MucClientManager.log() Replacing presence extension: org.jitsi.xmpp.extensions.jibri.JibriStatusPacketExt@74beb5a9

here is my prosody config file
admins = {
“focus@auth.my_domain”,
“jvb@auth.my_domain”
}

plugin_paths = { "/prosody-plugins/", "/prosody-plugins-custom" }
http_default_host = "my_domain"

VirtualHost "my_domain"


    authentication = "internal_hashed"


    ssl = {
        key = "/config/certs/my_domain.key";
        certificate = "/config/certs/my_domain.crt";
    }
    modules_enabled = {
        "bosh";
        "pubsub";
        "ping";
        "speakerstats";
        "conference_duration";
        "jibri_bypass";
        --"muc_lobby_rooms";


        "info";
"alert";


    }


    --main_muc = "muc.my_domain"
    --lobby_muc = "lobby.my_domain"


    speakerstats_component = "speakerstats.my_domain"
    conference_duration_component = "conferenceduration.my_domain"

    c2s_require_encryption = false
    muc_lobby_whitelist = { "recorder.my_domain" }

VirtualHost "guest.my_domain"
    authentication = "anonymous"
    c2s_require_encryption = false
    modules_enabled = {
            "muc_lobby_rooms";
            "jibri_bypass";
    }
    lobby_muc = "lobby.my_domain"
    main_muc = "conference.my_domain"
    --muc_lobby_whitelist = { "recorder.my_domain" }

Component "lobby.my_domain" "muc"
    storage = "memory"
    muc_room_cache_size = 1000
    restrict_room_creation = true
    muc_room_locking = false
    muc_room_default_public_jids = true

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



VirtualHost "auth.my_domain"
    ssl = {
        key = "/config/certs/auth.my_domain.key";
        certificate = "/config/certs/auth.my_domain.crt";
    }
    authentication = "internal_hashed"


VirtualHost "recorder.my_domain"
    modules_enabled = {
      "ping";
    }
    authentication = "internal_hashed"


Component "internal-muc.my_domain" "muc"
    storage = "memory"
    modules_enabled = {
        "ping";
        "jibri_bypass";
        "info";
"alert";

    }
    muc_room_locking = false
    muc_room_default_public_jids = true

Component "muc.my_domain" "muc"
    storage = "memory"
    modules_enabled = {
        "muc_meeting_id";
        "jibri_bypass";
        "info";
"alert";


    }
    muc_room_cache_size = 1000
    muc_room_locking = false
    muc_room_default_public_jids = true

Component "focus.my_domain"
    component_secret = "20322218f95297fb1a423ace5475ccd7"

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

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

Any input will be greatly appreciated

take a look at this post

1 Like

Actually I’ve done that also,
I enabled the module named jibri_bypass inside of these components:

  • VirtualHost “my_domain”
  • VirtualHost “guest.my_domain”
  • Component “conference.my_domain” “muc”
  • Component “internal-muc.my_domain” “muc”
  • Component “muc.my_domain” “muc”

take a look at my prosody config file above.

here is the module inside the prosody container
image

aftaid that I did notice that (module has not the same name that in the linked post). Take a look in the prosody.log file for the messages in the pre-join hook.

here is the mod_jibri_bypass.lua file

local MUC_NS = "http://jabber.org/protocol/muc";
local jid = require "util.jid";
local pre_jibri_user = os.getenv("JIBRI_RECORDER_USER")
local pre_jibri_domain = os.getenv("XMPP_RECORDER_DOMAIN")

module:hook("muc-occupant-pre-join", function (event)
    local room, stanza = event.room, event.stanza;

    local user, domain, res = jid.split(event.stanza.attr.from);
    log("info", "--------------> user %s domain %s res %s pass %s", tostring(user),tostring(domain),tostring(res),tostring(room:get_password()));

    if ( user == pre_jibri_user and domain == pre_jibri_domain ) then
      local join = stanza:get_child("x", MUC_NS);
      join:tag("password", { xmlns = MUC_NS }):text(room:get_password());
    end;
end);

here is the prosody log

[services.d] starting services
saslauthd[214] :num_procs  : 5
saslauthd[214] :mech_option: /etc/saslauthd.conf
saslauthd[214] :run_path   : /var/run/saslauthd
saslauthd[214] :auth_mech  : ldap
saslauthd[214] :mmaped shared memory segment on file: /var/run/saslauthd/cache.mmap
saslauthd[214] :bucket size: 96 bytes
saslauthd[214] :stats size : 36 bytes
saslauthd[214] :timeout    : 28800 seconds
saslauthd[214] :cache table: 985828 total bytes
saslauthd[214] :cache table: 1711 slots
saslauthd[214] :cache table: 10266 buckets
saslauthd[214] :flock file opened at /var/run/saslauthd/cache.flock
saslauthd[214] :using accept lock file: /var/run/saslauthd/mux.accept
saslauthd[214] :master pid is: 0
saslauthd[214] :listening on socket: /var/run/saslauthd/mux
saslauthd[214] :using process model
saslauthd[214] :forked child: 226
saslauthd[214] :forked child: 227
saslauthd[214] :forked child: 228
saslauthd[214] :forked child: 229
saslauthd[214] :acquired accept lock
[services.d] done.
startup             info        Hello and welcome to Prosody version 0.11.5
startup             info        Prosody is using the epoll backend for connection handling
modulemanager       error       Unable to load module 'alert': /usr/lib/prosody/modules/mod_alert.lua: No such file or directory
portmanager         info        Activated service 'http' on [*]:5280, [::]:5280
portmanager         info        Activated service 'https' on no ports
modulemanager       error       Unable to load module 'info': /usr/lib/prosody/modules/mod_info.lua: No such file or directory
portmanager         info        Activated service 'c2s' on [*]:5222, [::]:5222
portmanager         info        Activated service 'legacy_ssl' on no ports
modulemanager       error       Unable to load module 'alert': /usr/lib/prosody/modules/mod_alert.lua: No such file or directory
modulemanager       error       Unable to load module 'info': /usr/lib/prosody/modules/mod_info.lua: No such file or directory
general             info        Starting conference duration timer for conference.my_domain
conferenceduration.my_domain:conference_duration_component  info   No muc component found, will listen for it: conference.my_domain
general                                                          info   Starting speakerstats for conference.my_domain
speakerstats.my_domain:speakerstats_component               info   No muc component found, will listen for it: conference.my_domain
modulemanager                                                    error  Unable to load module 'alert': /usr/lib/prosody/modules/mod_alert.lua: No such file or directory
modulemanager                                                    error  Unable to load module 'info': /usr/lib/prosody/modules/mod_info.lua: No such file or directory
conference.my_domain:muc_domain_mapper                      warn   No 'muc_mapper_domain_base' option set, disabling muc_mapper plugin inactive
conferenceduration.my_domain:conference_duration_component  info   Hook to muc events on conference.my_domain
speakerstats.my_domain:speakerstats_component               info   Hook to muc events on conference.my_domain
guest.my_domain:muc_lobby_rooms                             info   Lobby component loaded lobby.my_domain
portmanager                                                      info   Activated service 'component' on [*]:5347
jcp56013b3e68e0                                                  info   Incoming Jabber component connection
focus.my_domain:component                                   info   External component successfully authenticated
c2s56013be4f1f0                                                  info   Client connected
c2s56013be4f1f0                                                  info   Stream encrypted (TLSv1.2 with ECDHE-RSA-AES256-GCM-SHA384)
c2s56013be4f1f0                                                  info   Authenticated as jvb@auth.my_domain
general                                                          info   --------------> user jvb domain auth.my_domain res XPyjCuPQ pass nil
c2s56013bed5130                                                  info   Client connected
c2s56013bed5130                                                  info   Stream encrypted (TLSv1.2 with ECDHE-RSA-AES256-GCM-SHA384)
c2s56013bed5130                                                  info   Authenticated as jibri@auth.my_domain
general                                                          info   --------------> user jibri domain auth.my_domain res me-RPykq pass nil
mod_bosh                                                         info   Client tried to use sid '711afcd8-c431-4671-9049-e083f2da204b' which we don't know about
mod_bosh                                                         info   Client tried to use sid '711afcd8-c431-4671-9049-e083f2da204b' which we don't know about
c2s56013bf2b720                                                  info   Client connected
c2s56013bf2b720                                                  info   Stream encrypted (TLSv1.2 with ECDHE-RSA-AES256-GCM-SHA384)
c2s56013bf2b720                                                  info   Authenticated as focus@auth.my_domain
general                                                          info   --------------> user focus domain auth.my_domain res focus1132028511307352 pass nil
general                                                          info   --------------> user focus domain auth.my_domain res focus1132028511307352 pass nil
mod_bosh                                                         info   New BOSH session, assigned it sid '13439759-f9b2-4d1a-bf0c-740827f8fa7f'
bosh13439759-f9b2-4d1a-bf0c-740827f8fa7f                         info   Authenticated as kjtgqc3cmzljrlqh@guest.my_domain
bosh13439759-f9b2-4d1a-bf0c-740827f8fa7f                         info   BOSH client disconnected: session close
speakerstats.my_domain:speakerstats_component               warn   A module has been configured that triggers external events.
speakerstats.my_domain:speakerstats_component               warn   Implement this lib to trigger external events.
mod_bosh                                                         info   New BOSH session, assigned it sid 'fe810beb-37d2-48c7-93dc-23dfe4a7933a'
boshfe810beb-37d2-48c7-93dc-23dfe4a7933a                         info   Authenticated as qbjzpsbreli6ejol@guest.my_domain
mod_bosh                                                         info   New BOSH session, assigned it sid 'd8bb7ecf-4af5-444d-964a-ebcd78324338'
boshd8bb7ecf-4af5-444d-964a-ebcd78324338                         info   Authenticated as cdhus6zapdr2qn3c@guest.my_domain
boshd8bb7ecf-4af5-444d-964a-ebcd78324338                         info   BOSH client disconnected: session close
mod_bosh                                                         info   New BOSH session, assigned it sid '6866357d-8a7e-483f-b33a-699168f6679c'
bosh6866357d-8a7e-483f-b33a-699168f6679c                         info   Authenticated as rzv4snooz26_hldm@guest.my_domain
bosh6866357d-8a7e-483f-b33a-699168f6679c                         info   BOSH client disconnected: session close
boshfe810beb-37d2-48c7-93dc-23dfe4a7933a                         info   BOSH client disconnected: session close
speakerstats.my_domain:speakerstats_component               warn   A module has been configured that triggers external events.
speakerstats.my_domain:speakerstats_component               warn   Implement this lib to trigger external events.
mod_bosh                                                         info   New BOSH session, assigned it sid '99446154-b1a2-450c-86cd-cd2c12b61acc'
bosh99446154-b1a2-450c-86cd-cd2c12b61acc                         info   Authenticated as xlo0sibcxcambvat@guest.my_domain
mod_bosh                                                         info   New BOSH session, assigned it sid 'b1157648-c6e4-4007-9c6c-f6e702f7b103'
boshb1157648-c6e4-4007-9c6c-f6e702f7b103                         info   Authenticated as admin@my_domain
boshb1157648-c6e4-4007-9c6c-f6e702f7b103                         info   BOSH client disconnected: session close
speakerstats.my_domain:speakerstats_component               warn   A module has been configured that triggers external events.
speakerstats.my_domain:speakerstats_component               warn   Implement this lib to trigger external events.
bosh99446154-b1a2-450c-86cd-cd2c12b61acc                         info   BOSH client disconnected: session close
mod_bosh                                                         info   New BOSH session, assigned it sid '944d3136-1bee-4434-b683-b593adacff80'
bosh944d3136-1bee-4434-b683-b593adacff80                         info   Authenticated as w9k6gehlrfleeysf@guest.my_domain
mod_bosh                                                         info   New BOSH session, assigned it sid '51d25e96-bca8-411e-9168-e83ffcbf14e3'
bosh51d25e96-bca8-411e-9168-e83ffcbf14e3                         info   Authenticated as pddmtwwkrzl1rz-r@guest.my_domain
bosh944d3136-1bee-4434-b683-b593adacff80                         info   BOSH client disconnected: session close
bosh51d25e96-bca8-411e-9168-e83ffcbf14e3                         info   BOSH client disconnected: session close
speakerstats.my_domain:speakerstats_component               warn   A module has been configured that triggers external events.
speakerstats.my_domain:speakerstats_component               warn   Implement this lib to trigger external events.
mod_bosh                                                         info   New BOSH session, assigned it sid '387146a6-1ddb-4f54-a7ac-fda76bd004fc'
bosh387146a6-1ddb-4f54-a7ac-fda76bd004fc                         info   Authenticated as y4gjocdzrjvbzohb@guest.my_domain
bosh387146a6-1ddb-4f54-a7ac-fda76bd004fc                         info   BOSH client disconnected: session close
mod_bosh                                                         info   New BOSH session, assigned it sid '76c573b7-ed5f-4249-9a9e-5a79462e7b1a'
bosh76c573b7-ed5f-4249-9a9e-5a79462e7b1a                         info   Authenticated as flwvgtqapwkr0olz@guest.my_domain
mod_bosh                                                         info   New BOSH session, assigned it sid 'd15e69d1-891f-499d-afcb-4ed3f5465ea7'
boshd15e69d1-891f-499d-afcb-4ed3f5465ea7                         info   Authenticated as fracp2qzr4e3mlhl@guest.my_domain
mod_bosh                                                         info   New BOSH session, assigned it sid '03dab761-d49d-4834-b52f-ee3b4d0507e1'
bosh03dab761-d49d-4834-b52f-ee3b4d0507e1                         info   Authenticated as aqy8awo87y54qson@guest.my_domain
boshd15e69d1-891f-499d-afcb-4ed3f5465ea7                         info   BOSH client disconnected: session close
mod_bosh                                                         info   New BOSH session, assigned it sid 'fca96c3e-5543-4111-8ef1-c363ebb0080e'
boshfca96c3e-5543-4111-8ef1-c363ebb0080e                         info   Authenticated as niuueqycy-lurumb@guest.my_domain
mod_bosh                                                         info   New BOSH session, assigned it sid '9350c8ac-d0cf-4185-a78b-c4e995aac588'
bosh9350c8ac-d0cf-4185-a78b-c4e995aac588                         info   Authenticated as mu_q5gzpfqqmhv_g@guest.my_domain
bosh9350c8ac-d0cf-4185-a78b-c4e995aac588                         info   BOSH client disconnected: session close
mod_bosh                                                         info   New BOSH session, assigned it sid '98b8f1db-f491-4c95-96bf-c08093475f29'
bosh98b8f1db-f491-4c95-96bf-c08093475f29                         info   Authenticated as matiiiuwxh-7ycrd@guest.my_domain
mod_bosh                                                         info   New BOSH session, assigned it sid '237722d1-0f2a-4acd-9d1f-a1c59b54b61a'
bosh237722d1-0f2a-4acd-9d1f-a1c59b54b61a                         info   Authenticated as sbjjlaf6btairwa5@guest.my_domain
boshfca96c3e-5543-4111-8ef1-c363ebb0080e                         info   BOSH client disconnected: session close
bosh03dab761-d49d-4834-b52f-ee3b4d0507e1                         info   BOSH client disconnected: session close
mod_bosh                                                         info   New BOSH session, assigned it sid 'f0c7b5f1-af7c-4b66-9a86-01f514c44ea3'
boshf0c7b5f1-af7c-4b66-9a86-01f514c44ea3                         info   Authenticated as mhinjs80ktra36pr@guest.my_domain
speakerstats.my_domain:speakerstats_component               warn   A module has been configured that triggers external events.
speakerstats.my_domain:speakerstats_component               warn   Implement this lib to trigger external events.

Hmm, I didn’t see the pre-join hook,
am I missing something?

it’s called, for example:
general info --------------> user jvb domain auth.my_domain res XPyjCuPQ pass nil

the password is nil, probably because you did not set a password for the room. So the problem is that you did not setup the jibri recorder in the lobby whitelist. Uncomment and set the proper name for your jibri.

Okay,
I have uncommented the jibri recorder in the lobby whitelist like this

VirtualHost "guest.my_domain"
    authentication = "anonymous"
    c2s_require_encryption = false
    modules_enabled = {
            "muc_lobby_rooms";
            "jibri_bypass";
    }
    lobby_muc = "lobby.my_domain"
    main_muc = "conference.my_domain"
    muc_lobby_whitelist = { "recorder.my_domain" }

after restarting the prosody docker while logging to the prosody docker
here is the log

conferenceduration.my_domain:conference_duration_component  info   Hook to muc events on conference.my_domain
speakerstats.my_domain:speakerstats_component               info   Hook to muc events on conference.my_domain
conference.my_domain:muc_domain_mapper                      warn   No 'muc_mapper_domain_base' option set, disabling muc_mapper plugin inactive
c2s55c23858dd30                                                  info   Client connected
c2s55c23858dd30                                                  info   Stream encrypted (TLSv1.2 with ECDHE-RSA-AES256-GCM-SHA384)
c2s55c23858dd30                                                  info   Authenticated as jvb@auth.my_domain
general                                                          info   --------------> user jvb domain auth.my_domain res Wdey9CEp pass nil
c2s55c2390ae020                                                  info   Client connected
c2s55c2390ae020                                                  info   Stream encrypted (TLSv1.2 with ECDHE-RSA-AES256-GCM-SHA384)
c2s55c2390ae020                                                  info   Authenticated as jibri@auth.my_domain
general                                                          info   --------------> user jibri domain auth.my_domain res sL6qluEZ pass nil
jcp55c2390e2ec0                                                  info   Incoming Jabber component connection
focus.my_domain:component                                   info   External component successfully authenticated
c2s55c2390eb4b0                                                  info   Client connected
c2s55c2390eb4b0                                                  info   Stream encrypted (TLSv1.2 with ECDHE-RSA-AES256-GCM-SHA384)
c2s55c2390eb4b0                                                  info   Authenticated as focus@auth.my_domain
general                                                          info   --------------> user focus domain auth.my_domain res focus1132028511307352 pass nil
general                                                          info   --------------> user focus domain auth.my_domain res focus1132028511307352 pass nil

and then, I tried to create a new meeting without password, and start recording,
it logs

mod_bosh                                                         info   New BOSH session, assigned it sid '89b1addb-1300-449c-8ad7-3b7ba221cf80'
bosh89b1addb-1300-449c-8ad7-3b7ba221cf80                         info   Authenticated as ftyhnwhggfdobuew@guest.my_domain
mod_bosh                                                         info   New BOSH session, assigned it sid '9457ab47-f272-4761-89f1-6c663a76a419'
bosh9457ab47-f272-4761-89f1-6c663a76a419                         info   Authenticated as jlq46behdsopuaxh@guest.my_domain
bosh9457ab47-f272-4761-89f1-6c663a76a419                         info   BOSH client disconnected: session close

the recording still cannot start,
after that I tried to set a password, and start the recording,
it logs

mod_bosh                                                         info   New BOSH session, assigned it sid 'd15fe59a-7500-4fb3-acaa-a2ece11cf0e3'
boshd15fe59a-7500-4fb3-acaa-a2ece11cf0e3                         info   Authenticated as -v4mense65yzfdc2@guest.my_domain
mod_bosh                                                         info   New BOSH session, assigned it sid '5dd4c8e8-1cc6-461c-8596-58bd8de249cb'
bosh5dd4c8e8-1cc6-461c-8596-58bd8de249cb                         info   BOSH client disconnected: session close

and still the recording failed to start…

Well, the logs you are providing don’t say me anything, sorry. Only thing I can say is that second and third logs seems singularly short to describe a meeting. I should see at least jicofo, jvb and 2 users for a regular meeting. There are only 2 connections shown.

How about this line, what does it mean? BOSH client disconnected: session close

and also, can you suggest me to see to what logs, or other config file to be checked?
may be I’m doing wrong

that a Prosody session has closed. Don’t have much meaning or relevance. by itself. When a line has the word ‘info’ in it, it means that it’s not an error, you can only interpret it by taking in consideration the whole log.

either you are doing it wrong, or the specific version of Jitsi you use has a problem since the post I referred you to clearly shows success from another person less than a few days ago. I can’t say more from the few snippets of the log file you have shown.
Maybe you could use the stuff I posted a few days ago, where it is ? ah yes here. I’d use it to display who is in the Jitsi rooms to help to understand the Prosody logs. And I’d use the whole log if it was my server. And I’d know exactly what I did too :slight_smile:

1 Like

I have missconfigured the XMPP_MUC_DOMAIN on .env file
It’s working now Lobby with recording feature…

Thanks man :smiley:

1 Like