Jibri recording docker "ibri IQ not accepted by any conference"

Hi,

i use docker " stable-8218 "

and i want to use recording, but in logs i got this:

jicofo_1   | Jicofo 2023-01-16 19:17:24.773 WARNING: [20] JibriIqHandler.handleRequest#66: Jibri IQ not accepted by any conference: <iq xmlns='jabber:client' to='focus@auth.meet.jitsi/focus' from='rocketchat63c58b7aae2a5c1de0468e88@muc.meet.jitsi/541b30de' id='Zm9jdXNAYXV0aC5tZWV0LmppdHNpL2ZvY3VzADlmMDMxODEzLTQ5YTUtNDU3OS04OTNjLWNmNjU5NjljOGE2MjpzZW5kSVEAEtB2yBSEOJc=' type='set'><jibri xmlns='http://jitsi.org/protocol/jibri' action='start' recording_mode='file' app_data='{"file_recording_metadata":{"share":true}}'/></iq>

what could this mean?

lol okay

“ENABLE_RECORDING=1”

was missing in .env file… but i still cant record a jitsi session… i start containers like this:

“docker-compose -f docker-compose.yml -f jibri.yml up” and all seems up including jibri

root@meet:~# docker ps
CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS              PORTS                                                                          NAMES
62a5d6d16076        jitsi/web:stable-8218        "/init"                  32 minutes ago      Up 53 seconds       0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp                                       docker-jitsi-meet_web_1
08ab60268348        jitsi/jibri:stable-8218      "/init"                  33 minutes ago      Up 53 seconds                                                                                      docker-jitsi-meet_jibri_1
f7502da773d9        jitsi/jicofo:stable-8218     "/init"                  33 minutes ago      Up 53 seconds                                                                                      docker-jitsi-meet_jicofo_1
74e44c179824        jitsi/jvb:stable-8218        "/init"                  2 hours ago         Up 53 seconds       127.0.0.1:8080->8080/tcp, 0.0.0.0:10000->10000/udp                             docker-jitsi-meet_jvb_1
b4671962e059        jitsi/prosody:stable-8218    "/init"                  2 hours ago         Up 54 seconds       5222/tcp, 5280/tcp, 5347/tcp                                                   docker-jitsi-meet_prosody_1

thats my jibri.yml:

version: '3.5'

services:
    jibri:
        image: jitsi/jibri:${JITSI_IMAGE_VERSION:-stable-8218}
        restart: ${RESTART_POLICY:-unless-stopped}
        volumes:
            - ${CONFIG}/jibri:/config:Z
        shm_size: '2gb'
        cap_add:
            - SYS_ADMIN
        environment:
            - CHROMIUM_FLAGS
            - DISPLAY=:0
            - ENABLE_STATS_D
            - JIBRI_HTTP_API_EXTERNAL_PORT
            - JIBRI_HTTP_API_INTERNAL_PORT
            - JIBRI_RECORDING_RESOLUTION
            - JIBRI_USAGE_TIMEOUT
            - JIBRI_XMPP_USER
            - JIBRI_XMPP_PASSWORD
            - JIBRI_BREWERY_MUC
            - JIBRI_RECORDER_USER
            - JIBRI_RECORDER_PASSWORD
            - JIBRI_RECORDING_DIR
            - JIBRI_FINALIZE_RECORDING_SCRIPT_PATH
            - JIBRI_STRIP_DOMAIN_JID
            - PUBLIC_URL
            - TZ
            - XMPP_AUTH_DOMAIN
            - XMPP_DOMAIN
            - XMPP_INTERNAL_MUC_DOMAIN
            - XMPP_MUC_DOMAIN
            - XMPP_RECORDER_DOMAIN
            - XMPP_SERVER
            - XMPP_PORT
            - XMPP_TRUST_ALL_CERTS
        depends_on:
            - jicofo
        networks:
            meet.jitsi:

and my docker-compose.yml:

version: '3.5'

services:
    # Frontend
    web:
        image: jitsi/web:${JITSI_IMAGE_VERSION:-stable-8218}
        restart: ${RESTART_POLICY:-unless-stopped}
        ports:
            - '${HTTP_PORT}:80'
            - '${HTTPS_PORT}:443'
        volumes:
            - ${CONFIG}/web:/config:Z
            - ${CONFIG}/web/crontabs:/var/spool/cron/crontabs:Z
            - ${CONFIG}/transcripts:/usr/share/jitsi-meet/transcripts:Z
        environment:
            - AMPLITUDE_ID
            - ANALYTICS_SCRIPT_URLS
            - ANALYTICS_WHITELISTED_EVENTS
            - AUDIO_QUALITY_OPUS_BITRATE
            - AUTO_CAPTION_ON_RECORD
            - BRANDING_DATA_URL
            - CALLSTATS_CUSTOM_SCRIPT_URL
            - CALLSTATS_ID
            - CALLSTATS_SECRET
            - CHROME_EXTENSION_BANNER_JSON
            - CONFCODE_URL
            - CONFIG_EXTERNAL_CONNECT
            - DEFAULT_LANGUAGE
            - DEPLOYMENTINFO_ENVIRONMENT
            - DEPLOYMENTINFO_ENVIRONMENT_TYPE
            - DEPLOYMENTINFO_REGION
            - DEPLOYMENTINFO_SHARD
            - DEPLOYMENTINFO_USERREGION
            - DESKTOP_SHARING_FRAMERATE_MIN
            - DESKTOP_SHARING_FRAMERATE_MAX
            - DIALIN_NUMBERS_URL
            - DIALOUT_AUTH_URL
            - DIALOUT_CODES_URL
            - DISABLE_AUDIO_LEVELS
            - DISABLE_DEEP_LINKING
            - DISABLE_GRANT_MODERATOR
            - DISABLE_HTTPS
            - DISABLE_KICKOUT
            - DISABLE_LOCAL_RECORDING
            - DISABLE_POLLS
            - DISABLE_PRIVATE_CHAT
            - DISABLE_PROFILE
            - DISABLE_REACTIONS
            - DISABLE_REMOTE_VIDEO_MENU
            - DISABLE_START_FOR_ALL
            - DROPBOX_APPKEY
            - DROPBOX_REDIRECT_URI
            - DYNAMIC_BRANDING_URL
            - ENABLE_AUDIO_PROCESSING
            - ENABLE_AUTH
            - ENABLE_BREAKOUT_ROOMS
            - ENABLE_CALENDAR
            - ENABLE_COLIBRI_WEBSOCKET
            - ENABLE_E2EPING
            - ENABLE_FILE_RECORDING_SHARING
            - ENABLE_GUESTS
            - ENABLE_HSTS
            - ENABLE_HTTP_REDIRECT
            - ENABLE_IPV6
            - ENABLE_LETSENCRYPT
            - ENABLE_LIPSYNC
            - ENABLE_NO_AUDIO_DETECTION
            - ENABLE_NOISY_MIC_DETECTION
            - ENABLE_OCTO
            - ENABLE_OPUS_RED
            - ENABLE_PREJOIN_PAGE
            - ENABLE_P2P
            - ENABLE_WELCOME_PAGE
            - ENABLE_CLOSE_PAGE
            - ENABLE_LIVESTREAMING
            - ENABLE_LOCAL_RECORDING_NOTIFY_ALL_PARTICIPANT
            - ENABLE_LOCAL_RECORDING_SELF_START
            - ENABLE_RECORDING
            - ENABLE_REMB
            - ENABLE_REQUIRE_DISPLAY_NAME
            - ENABLE_SERVICE_RECORDING
            - ENABLE_SIMULCAST
            - ENABLE_STATS_ID
            - ENABLE_STEREO
            - ENABLE_SUBDOMAINS
            - ENABLE_TALK_WHILE_MUTED
            - ENABLE_TCC
            - ENABLE_TRANSCRIPTIONS
            - ENABLE_XMPP_WEBSOCKET
            - ENABLE_JAAS_COMPONENTS
            - ETHERPAD_PUBLIC_URL
            - ETHERPAD_URL_BASE
            - E2EPING_NUM_REQUESTS
            - E2EPING_MAX_CONFERENCE_SIZE
            - E2EPING_MAX_MESSAGE_PER_SECOND
            - GOOGLE_ANALYTICS_ID
            - GOOGLE_API_APP_CLIENT_ID
            - HIDE_PREMEETING_BUTTONS
            - HIDE_PREJOIN_DISPLAY_NAME
            - HIDE_PREJOIN_EXTRA_BUTTONS
            - INVITE_SERVICE_URL
            - LETSENCRYPT_DOMAIN
            - LETSENCRYPT_EMAIL
            - LETSENCRYPT_USE_STAGING
            - MATOMO_ENDPOINT
            - MATOMO_SITE_ID
            - MICROSOFT_API_APP_CLIENT_ID
            - NGINX_RESOLVER
            - NGINX_WORKER_PROCESSES
            - NGINX_WORKER_CONNECTIONS
            - PEOPLE_SEARCH_URL
            - PREFERRED_LANGUAGE
            - PUBLIC_URL
            - P2P_PREFERRED_CODEC
            - RESOLUTION
            - RESOLUTION_MIN
            - RESOLUTION_WIDTH
            - RESOLUTION_WIDTH_MIN
            - START_AUDIO_MUTED
            - START_AUDIO_ONLY
            - START_BITRATE
            - START_SILENT
            - START_WITH_AUDIO_MUTED
            - START_VIDEO_MUTED
            - START_WITH_VIDEO_MUTED
            - TESTING_CAP_SCREENSHARE_BITRATE
            - TESTING_OCTO_PROBABILITY
            - TOKEN_AUTH_URL
            - TOOLBAR_BUTTONS
            - TRANSLATION_LANGUAGES
            - TRANSLATION_LANGUAGES_HEAD
            - TZ
            - USE_APP_LANGUAGE
            - VIDEOQUALITY_BITRATE_H264_LOW
            - VIDEOQUALITY_BITRATE_H264_STANDARD
            - VIDEOQUALITY_BITRATE_H264_HIGH
            - VIDEOQUALITY_BITRATE_VP8_LOW
            - VIDEOQUALITY_BITRATE_VP8_STANDARD
            - VIDEOQUALITY_BITRATE_VP8_HIGH
            - VIDEOQUALITY_BITRATE_VP9_LOW
            - VIDEOQUALITY_BITRATE_VP9_STANDARD
            - VIDEOQUALITY_BITRATE_VP9_HIGH
            - VIDEOQUALITY_ENFORCE_PREFERRED_CODEC
            - VIDEOQUALITY_PREFERRED_CODEC
            - XMPP_AUTH_DOMAIN
            - XMPP_BOSH_URL_BASE
            - XMPP_DOMAIN
            - XMPP_GUEST_DOMAIN
            - XMPP_MUC_DOMAIN
            - XMPP_RECORDER_DOMAIN
            - XMPP_PORT
            - WHITEBOARD_ENABLED
            - WHITEBOARD_COLLAB_SERVER_BASE_URL
        networks:
            meet.jitsi:

    # XMPP server
    prosody:
        image: jitsi/prosody:${JITSI_IMAGE_VERSION:-stable-8218}
        restart: ${RESTART_POLICY:-unless-stopped}
        expose:
            - '${XMPP_PORT:-5222}'
            - '5347'
            - '5280'
        volumes:
            - ${CONFIG}/prosody/config:/config:Z
            - ${CONFIG}/prosody/prosody-plugins-custom:/prosody-plugins-custom:Z
        environment:
            - AUTH_TYPE
            - DISABLE_POLLS
            - ENABLE_AUTH
            - ENABLE_AV_MODERATION
            - ENABLE_BREAKOUT_ROOMS
            - ENABLE_END_CONFERENCE
            - ENABLE_GUESTS
            - ENABLE_IPV6
            - ENABLE_LOBBY
            - ENABLE_RECORDING
            - ENABLE_XMPP_WEBSOCKET
            - ENABLE_JAAS_COMPONENTS
            - GC_TYPE
            - GC_INC_TH
            - GC_INC_SPEED
            - GC_INC_STEP_SIZE
            - GC_GEN_MIN_TH
            - GC_GEN_MAX_TH
            - GLOBAL_CONFIG
            - GLOBAL_MODULES
            - JIBRI_RECORDER_USER
            - JIBRI_RECORDER_PASSWORD
            - JIBRI_XMPP_USER
            - JIBRI_XMPP_PASSWORD
            - JICOFO_AUTH_PASSWORD
            - JICOFO_COMPONENT_SECRET
            - JIGASI_XMPP_USER
            - JIGASI_XMPP_PASSWORD
            - JVB_AUTH_USER
            - JVB_AUTH_PASSWORD
            - JWT_APP_ID
            - JWT_APP_SECRET
            - JWT_ACCEPTED_ISSUERS
            - JWT_ACCEPTED_AUDIENCES
            - JWT_ASAP_KEYSERVER
            - JWT_ALLOW_EMPTY
            - JWT_AUTH_TYPE
            - JWT_ENABLE_DOMAIN_VERIFICATION
            - JWT_TOKEN_AUTH_MODULE
            - MATRIX_UVS_URL
            - MATRIX_UVS_ISSUER
            - MATRIX_UVS_AUTH_TOKEN
            - MATRIX_UVS_SYNC_POWER_LEVELS
            - LOG_LEVEL
            - LDAP_AUTH_METHOD
            - LDAP_BASE
            - LDAP_BINDDN
            - LDAP_BINDPW
            - LDAP_FILTER
            - LDAP_VERSION
            - LDAP_TLS_CIPHERS
            - LDAP_TLS_CHECK_PEER
            - LDAP_TLS_CACERT_FILE
            - LDAP_TLS_CACERT_DIR
            - LDAP_START_TLS
            - LDAP_URL
            - LDAP_USE_TLS
            - MAX_PARTICIPANTS
            - PROSODY_RESERVATION_ENABLED
            - PROSODY_RESERVATION_REST_BASE_URL
            - PUBLIC_URL
            - TURN_CREDENTIALS
            - TURN_HOST
            - TURNS_HOST
            - TURN_PORT
            - TURNS_PORT
            - TURN_TRANSPORT
            - TZ
            - XMPP_DOMAIN
            - XMPP_AUTH_DOMAIN
            - XMPP_GUEST_DOMAIN
            - XMPP_MUC_DOMAIN
            - XMPP_INTERNAL_MUC_DOMAIN
            - XMPP_MODULES
            - XMPP_MUC_MODULES
            - XMPP_MUC_CONFIGURATION
            - XMPP_INTERNAL_MUC_MODULES
            - XMPP_RECORDER_DOMAIN
            - XMPP_PORT
        networks:
            meet.jitsi:
                aliases:
                    - ${XMPP_SERVER:-xmpp.meet.jitsi}

    # Focus component
    jicofo:
        image: jitsi/jicofo:${JITSI_IMAGE_VERSION:-stable-8218}
        restart: ${RESTART_POLICY:-unless-stopped}
        volumes:
            - ${CONFIG}/jicofo:/config:Z
        environment:
            - AUTH_TYPE
            - BRIDGE_AVG_PARTICIPANT_STRESS
            - BRIDGE_STRESS_THRESHOLD
            - ENABLE_AUTH
            - ENABLE_AUTO_OWNER
            - ENABLE_CODEC_VP8
            - ENABLE_CODEC_VP9
            - ENABLE_CODEC_H264
            - ENABLE_OCTO
            - ENABLE_RECORDING
            - ENABLE_SCTP
            - ENABLE_AUTO_LOGIN
            - JICOFO_AUTH_PASSWORD
            - JICOFO_ENABLE_BRIDGE_HEALTH_CHECKS
            - JICOFO_CONF_INITIAL_PARTICIPANT_WAIT_TIMEOUT
            - JICOFO_CONF_SINGLE_PARTICIPANT_TIMEOUT
            - JICOFO_ENABLE_HEALTH_CHECKS
            - JIBRI_BREWERY_MUC
            - JIBRI_REQUEST_RETRIES
            - JIBRI_PENDING_TIMEOUT
            - JIGASI_BREWERY_MUC
            - JIGASI_SIP_URI
            - JVB_BREWERY_MUC
            - MAX_BRIDGE_PARTICIPANTS
            - OCTO_BRIDGE_SELECTION_STRATEGY
            - SENTRY_DSN="${JICOFO_SENTRY_DSN:-0}"
            - SENTRY_ENVIRONMENT
            - SENTRY_RELEASE
            - TZ
            - XMPP_DOMAIN
            - XMPP_AUTH_DOMAIN
            - XMPP_INTERNAL_MUC_DOMAIN
            - XMPP_MUC_DOMAIN
            - XMPP_RECORDER_DOMAIN
            - XMPP_SERVER
            - XMPP_PORT
        depends_on:
            - prosody
        networks:
            meet.jitsi:

    # Video bridge
    jvb:
        image: jitsi/jvb:${JITSI_IMAGE_VERSION:-stable-8218}
        restart: ${RESTART_POLICY:-unless-stopped}
        ports:
            - '${JVB_PORT:-10000}:${JVB_PORT:-10000}/udp'
            - '127.0.0.1:${JVB_COLIBRI_PORT:-8080}:8080'
        volumes:
            - ${CONFIG}/jvb:/config:Z
        environment:
            - DOCKER_HOST_ADDRESS
            - ENABLE_COLIBRI_WEBSOCKET
            - ENABLE_OCTO
            - JVB_ADVERTISE_IPS
            - JVB_ADVERTISE_PRIVATE_CANDIDATES
            - JVB_AUTH_USER
            - JVB_AUTH_PASSWORD
            - JVB_BREWERY_MUC
            - JVB_DISABLE_STUN
            - JVB_PORT
            - JVB_MUC_NICKNAME
            - JVB_STUN_SERVERS
            - JVB_OCTO_BIND_ADDRESS
            - JVB_OCTO_REGION
            - JVB_OCTO_RELAY_ID
            - JVB_WS_DOMAIN
            - JVB_WS_SERVER_ID
            - PUBLIC_URL
            - SENTRY_DSN="${JVB_SENTRY_DSN:-0}"
            - SENTRY_ENVIRONMENT
            - SENTRY_RELEASE
            - COLIBRI_REST_ENABLED
            - SHUTDOWN_REST_ENABLED
            - TZ
            - XMPP_AUTH_DOMAIN
            - XMPP_INTERNAL_MUC_DOMAIN
            - XMPP_SERVER
            - XMPP_PORT
        depends_on:
            - prosody
        networks:
            meet.jitsi:

# Custom network so all services can communicate using a FQDN
networks:
    meet.jitsi:

where should i find some logs deppending why jibri not working?

Check the jibri container logs. There will also be log files in /cofing in that container.

here a example log:

log.0.txt (30.7 KB)

i think that could be the reason:


Jibri 2023-01-17 09:32:59.593 SEVERE: [66] [session_id=hvabbzasejowdbnl] JibriSelenium.joinCall$lambda-3#327: An error occurred while joining the call

but i dont know why jibri cant connect to the call

Check the browser.txt logs file.

From the logs:

Jibri 2023-01-17 09:32:59.593 SEVERE: [66] [session_id=hvabbzasejowdbnl] JibriSelenium.joinCall$lambda-3#327: An error occurred while joining the call
org.openqa.selenium.TimeoutException: timeout: Timed out receiving message from renderer: 60.000
  (Session info: chrome=108.0.5359.71)
  (Driver info: chromedriver=108.0.5359.71 (1e0e3868ee06e91ad636a874420e3ca3ae3756ac-refs/branch-heads/5359@{#1016}),platform=Linux 4.19.0-18-amd64 x86_64) (WARNING: The server did not provide any stacktrace information)

Hard to tell since there is no information. Does your server have enough resources for this?

browser0.txt:

Jibri 2023-01-17 16:41:41.196 INFO: [66] JibriSelenium.leaveCallAndQuitBrowser#350: [2023-01-17T16:41:12+0100] [INFO] Done waiting for pending navigations. Status: ok

Jibri 2023-01-17 16:41:41.196 INFO: [66] JibriSelenium.leaveCallAndQuitBrowser#350: [2023-01-17T16:41:12+0100] [FINE] DevTools WebSocket Command: Page.navigate (id=20) (session_id=146515557381FE0D44D427E11041E76D) 1E73C6E2224EADD528C3B4F8237DF9F3 {
   "url": "https://meet.gut********"
}

Jibri 2023-01-17 16:41:41.197 INFO: [66] JibriSelenium.leaveCallAndQuitBrowser#350: [2023-01-17T16:41:12+0100] [FINE] DevTools WebSocket Response: Page.navigate (id=20) (session_id=146515557381FE0D44D427E11041E76D) 1E73C6E2224EADD528C3B4F8237DF9F3 {
   "errorText": "net::ERR_CONNECTION_TIMED_OUT",
   "frameId": "1E73C6E2224EADD528C3B4F8237DF9F3",
   "loaderId": "CA3EA48CEE7F78B47D5BA4859EF49DA2"
}

Jibri 2023-01-17 16:41:41.197 INFO: [66] JibriSelenium.leaveCallAndQuitBrowser#350: [2023-01-17T16:41:12+0100] [FINE] DevTools WebSocket Command: Runtime.evaluate (id=21) (session_id=146515557381FE0D44D427E11041E76D) 1E73C6E2224EADD528C3B4F8237DF9F3 {
   "expression": "1"
}

Jibri 2023-01-17 16:41:41.197 INFO: [66] JibriSelenium.leaveCallAndQuitBrowser#350: [2023-01-17T16:41:12+0100] [FINE] DevTools WebSocket Event: Page.frameStartedLoading (session_id=146515557381FE0D44D427E11041E76D) 1E73C6E2224EADD528C3B4F8237DF9F3 {
   "frameId": "1E73C6E2224EADD528C3B4F8237DF9F3"
}

Jibri 2023-01-17 16:41:41.197 INFO: [66] JibriSelenium.leaveCallAndQuitBrowser#350: [2023-01-17T16:41:12+0100] [FINE] DevTools WebSocket Event: Runtime.executionContextsCleared (session_id=146515557381FE0D44D427E11041E76D) 1E73C6E2224EADD528C3B4F8237DF9F3 {
}

Jibri 2023-01-17 16:41:41.197 INFO: [66] JibriSelenium.leaveCallAndQuitBrowser#350: [2023-01-17T16:41:12+0100] [FINE] DevTools WebSocket Event: Page.frameNavigated (session_id=146515557381FE0D44D427E11041E76D) 1E73C6E2224EADD528C3B4F8237DF9F3 {
   "frame": {
      "adFrameStatus": {
         "adFrameType": "none"
      },
      "crossOriginIsolatedContextType": "NotIsolated",
      "domainAndRegistry": "",
      "gatedAPIFeatures": [  ],
      "id": "1E73C6E2224EADD528C3B4F8237DF9F3",
      "loaderId": "53023CC3CF681835D82BC9A394ED49C9",
      "mimeType": "text/html",
      "secureContextType": "InsecureScheme",
      "securityOrigin": "://",
      "unreachableUrl": "https://meet.gut********/",
      "url": "chrome-error://chromewebdata/"
   },
   "type": "Navigation"

i think it cant handle the letsencrypt staging cert?

Looks like a timeout error connecting to your server, for some reason.

mhhh i dont get it… could it be a prob with letsencrypt cert? jibri tries to join the call via the public url or via internal docker network?

It doesn’t look like a LetsEncrypt problem. Jibri uses the public URL to join the meeting.

@saghul Was this issue resolved? I do have issue with recording with this stable version.

Jibri 2023-05-04 05:39:36.731 SEVERE: [60] [session_id=oluihjwipoqfyifu] JibriSelenium.joinCall$lambda-3#327: An error occurred while joining the call
org.openqa.selenium.WebDriverException: unknown error: net::ERR_CONNECTION_RESET
(Session info: chrome=109.0.5414.74)
(Driver info: chromedriver=109.0.5414.74 (e7c5703604daa9cc128ccf5a5d3e993513758913-refs/branch-heads/5414@{#1172}),platform=Linux 5.10.0-0.deb10.17-amd64 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 0 milliseconds
Build info: version: ‘unknown’, revision: ‘unknown’, time: ‘unknown’
System info: host: ‘jibri-88f45dfc-ld72t’, ip: ‘10.244.3.14’, os.name: ‘Linux’, os.arch: ‘amd64’, os.version: ‘5.10.0-0.deb10.17-amd64’, java.version: ‘11.0.18’
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities {acceptInsecureCerts: false, acceptSslCerts: false, browserConnectionEnabled: false, browserName: chrome, chrome: {chromedriverVersion: 109.0.5414.74 (e7c5703604da…, userDataDir: /tmp/.com.google.Chrome.xXCO8u}, cssSelectorsEnabled: true, databaseEnabled: false, goog:chromeOptions: {debuggerAddress: localhost:35815}, handlesAlerts: true, hasTouchScreen: false, javascriptEnabled: true, locationContextEnabled: true, mobileEmulationEnabled: false, nativeEvents: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: LINUX, platformName: LINUX, proxy: Proxy(), rotatable: false, setWindowRect: true, strictFileInteractability: false, takesHeapSnapshot: true, takesScreenshot: true, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unexpectedAlertBehaviour: ignore, unhandledPromptBehavior: ignore, version: 109.0.5414.74, webStorageEnabled: true, webauthn:extension:credBlob: true, webauthn:extension:largeBlob: true, webauthn:virtualAuthenticators: true}
Session ID: 667db7f8f391d146976762c411491b82
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:214)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:166)
at org.openqa.selenium.remote.http.JsonHttpResponseCodec.reconstructValue(JsonHttpResponseCodec.java:40)
at org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:80)
at org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:44)
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158)
at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:543)
at org.openqa.selenium.remote.RemoteWebDriver.get(RemoteWebDriver.java:271)
at org.jitsi.jibri.selenium.pageobjects.AbstractPageObject.visit(AbstractPageObject.kt:35)
at org.jitsi.jibri.selenium.JibriSelenium.joinCall$lambda-3(JibriSelenium.kt:295)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
Jibri 2023-05-04 05:39:36.748 INFO: [60] [session_id=oluihjwipoqfyifu] JibriSelenium.onSeleniumStateChange#216: Transitioning from state Starting up to Error: FailedToJoinCall SESSION Failed to join the call
Jibri 2023-05-04 05:39:36.757 INFO: [60] [session_id=oluihjwipoqfyifu] StatefulJibriService.onServiceStateChange#39: File recording service transitioning from state Starting up to Error: FailedToJoinCall SESSION Failed to join the call
Jibri 2023-05-04 05:39:36.760 INFO: [60] XmppApi$createServiceStatusHandler$1.invoke#317: Current service had an error Error: FailedToJoinCall SESSION Failed to join the call, sending error iq
Jibri 2023-05-04 05:39:36.762 FINE: [60] JibriStatsDClient.incrementCounter#38: Incrementing statsd counter: stop:recording

Indeed, there is no common issue to be solved. Most probably there is some configuration problem on the environment, such as missing firewall rule…

@emrah Can you make any sense of the error message I pasted? What are the possible causes of the issue?

Looks like the recorder cannot join the meeting. Do you set any authentication method for prosody?

Yes, the authentication seems to be successful. However, based on what I observed, the connection to the URL is being reset by the peer when attempting to establish a TLS connection. This error message suggests a possible issue with the TLS handshake or with the TLS implementation on the server side.

I am trying it from Jibri pod in k8s.

root@jibri-548587c7f5-k7gcm:/# curl -v https://my-url

  • Trying 144.126.252.242:443…
  • Connected to my-url (144.xxx.xxx.xxx) port 443 (#0)
  • ALPN, offering h2
  • ALPN, offering http/1.1
  • successfully set certificate verify locations:
  • CAfile: /etc/ssl/certs/ca-certificates.crt
  • CApath: /etc/ssl/certs
  • TLSv1.3 (OUT), TLS handshake, Client hello (1):
  • OpenSSL SSL_connect: Connection reset by peer in connection to my-url:443
  • Closing connection 0
    curl: (35) OpenSSL SSL_connect: Connection reset by peer in connection to my-url:443

I hope this indicate the cause. Do you have any idea what could be causing this issue?

I can confirm there is no outbound blocked by network rules. I am able to access other Jitsi public URLs using curl with same method.

I am using stable stable-8218

@emrah @saghul

curl sends a TLS Client Hello, and then the remote end drops the connection. You should check the logs on whatever server my-url is, they may contain the reason why it drops the connection.

When I tested, this IP didn’t accept https requests from the outside.

Original URL is not updated here. It was a sample URL. I think this similar to the issue here - Got jibri status off and failure error - #7 by Fabricando_Sua_Ideia

But there are not host entries int the pods I run in K8s. Still investigating.

I meant https://....gr...ad.com
It didn’t respond yesterday

But Jibri uses public URL to connect to Web. It should not be able to record without it.