Failed to start a Jibri session, no Jibris available

Hi,

I have issue in setting up Recording enabled with jibri on Digitalocean.

VM 1 : Jitsi VM 2: Jibri

Jibri Log:

2019-09-23 06:44:55.313 INFO: [136] org.jitsi.xmpp.mucclient.MucClient.log() [MucClient ] closed on error:
org.jivesoftware.smack.XMPPException$StreamErrorException: host-unknown You can read more about the meaning of this stream error at
This server does not serve auth.domain-name</stream:error>
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(XMPPTCPConnection.java:1064)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.access$300(XMPPTCPConnection.java:1000)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader$1.run(XMPPTCPConnection.java:1016)
at java.lang.Thread.run(Thread.java:748)

Jicofo log :

Jicofo 2019-09-23 06:12:16.392 SEVERE: [89] org.jitsi.jicofo.recording.jibri.JibriSession.log() Unable to find an available Jibri, can’t start
Jicofo 2019-09-23 06:12:16.394 INFO: [89] org.jitsi.jicofo.recording.jibri.JibriRecorder.log() Failed to start a Jibri session, no Jibris available

Prosody config : version : prosody-0.11

storage = “memory”
muc_room_cache_size = 1000

Kindly suggest what is causing this issue.

Thanks & Regards,
Rajeshkanna

Apparently some xmpp domain in your jibri config is wrong and is unknown to prosody.

Thanks damencho!. After changing the XMPP settings on the jibri config file from IP adddress to domain-name.com. The Recording started to happen.

After Start Recording it says “Recording failed to start” and close the process.

Jibri log.0.txt

2019-09-23 11:13:24.152 FINE: [35] org.jitsi.jibri.statsd.JibriStatsDClient.incrementCounter() Incrementing statsd counter: start:recording
2019-09-23 11:13:24.159 INFO: [35] org.jitsi.jibri.status.JibriStatusManager.log() Busy status has changed: IDLE -> BUSY
2019-09-23 11:13:24.161 INFO: [35] org.jitsi.jibri.api.xmpp.XmppApi.updatePresence() Jibri reports its status is now JibriStatus(busyStatus=BUSY, health=OverallHealth(healthStatus=HEALTHY, details={})), publishing presence to connections
2019-09-23 11:13:24.161 INFO: [35] org.jitsi.xmpp.mucclient.MucClientManager.log() Setting a presence extension: org.jitsi.xmpp.extensions.jibri.JibriStatusPacketExt@230ec393
2019-09-23 11:13:25.847 FINE: [44] org.jitsi.jibri.selenium.pageobjects.CallPage.visit() Visiting url https://domain.com/fiercewolvespaintexactly#config.iAmRecorder=true&config.externalConnectUrl=null&config.startWithAudioMuted=true&config.startWithVideoMuted=true&interfaceConfig.APP_NAME=“Jibri”&config.analytics.disabled=true&config.p2p.enabled=false
2019-09-23 11:13:56.923 SEVERE: [44] org.jitsi.jibri.selenium.pageobjects.CallPage.visit() Timed out waiting for call page to load
2019-09-23 11:13:56.934 INFO: [44] org.jitsi.jibri.selenium.JibriSelenium.onSeleniumStateChange() Transitioning from state Starting up to Error: SESSION Failed to join call
2019-09-23 11:13:56.936 INFO: [44] org.jitsi.jibri.service.impl.FileRecordingJibriService.onServiceStateChange() File recording service transitioning from state Starting up to Error: SESSION Failed to join call
2019-09-23 11:13:56.936 INFO: [44] org.jitsi.jibri.api.xmpp.XmppApi.invoke() Current service had an error, sending error iq
2019-09-23 11:13:56.938 FINE: [44] org.jitsi.jibri.statsd.JibriStatsDClient.incrementCounter() Incrementing statsd counter: stop:recording

Kindly suggest to resolve this issue.

Thanks & Regards,
Rajeshkanna

You jibri instance cannot open the page (timeouts after 30 seconds I think). Check firewall and make sure jibri can access the web page. Also make sure you run jibri with java8.

I did quick install + secure domain + etherpad integration (in my local ip with nginx) then I started trying to add recording. But same problem happend. plz help @damencho @saghul
I followed below link to install jibri. Then configured prosody,jicofo and jitsi meet.


and also configured jbri config and and restarted jicofo.jibri and also installed openjdk-8
but in console I saw jibri failed to start (jibri status) but didnt know what to do:

my Jicofo log summary:

java.net.SocketException: Broken pipe (Write failed)
Jicofo 2019-12-04 15:47:36.267 INFO: [112] org.jitsi.jicofo.xmpp.FocusComponent.handleConferenceIq().401 Focus request for room: newroom@conference.192.168.0.149
Jicofo 2019-12-04 15:47:37.379 INFO: [113] org.jitsi.jicofo.xmpp.FocusComponent.handleConferenceIq().401 Focus request for room: newroom@conference.192.168.0.149
Jicofo 2019-12-04 15:47:42.444 INFO: [115] org.jitsi.jicofo.xmpp.FocusComponent.handleConferenceIq().401 Focus request for room: newroom@conference.192.168.0.149
Jicofo 2019-12-04 15:47:47.483 INFO: [90] org.jitsi.jicofo.xmpp.FocusComponent.handleConferenceIq().401 Focus request for room: newroom@conference.192.168.0.149
Jicofo 2019-12-04 15:47:51.057 INFO: [92] org.jitsi.jicofo.xmpp.FocusComponent.handleConferenceIq().401 Focus request for room: newroom@conference.192.168.0.149
Jicofo 2019-12-04 15:47:51.059 INFO: [92] org.jitsi.jicofo.auth.AbstractAuthAuthority.log() Authentication session created for username2@192.168.0.149 SID: b8846e35-5e0e-44a5-b855-7f61ba9d7868
Jicofo 2019-12-04 15:47:51.060 INFO: [92] org.jitsi.jicofo.auth.AbstractAuthAuthority.log() Authenticated jid: username2@192.168.0.149/9323c724-0d52-4359-acac-3d49fcdbcbaa with session: AuthSession[ID=username2@192.168.0.149, JID=username2@192.168.0.149/9323c724-0d52-4359-acac-3d49fcdbcbaa, SID=b8846e35-5e0e-44a5-b855-7f61ba9d7868, MUID=3841465d020b15d5915acf56cd69a8bc, LIFE_TM_SEC=0, R=newroom@conference.192.168.0.149]@739822485
Jicofo 2019-12-04 15:47:51.060 INFO: [92] org.jitsi.jicofo.auth.AbstractAuthAuthority.log() Jid username2@192.168.0.149/9323c724-0d52-4359-acac-3d49fcdbcbaa authenticated as: username2@192.168.0.149
Jicofo 2019-12-04 15:47:51.077 INFO: [92] org.jitsi.jicofo.FocusManager.log() Created new focus for newroom@conference.192.168.0.149@auth.192.168.0.149. Conference count 1,options: 
Jicofo 2019-12-04 15:47:51.078 INFO: [92] org.jitsi.jicofo.JitsiMeetConferenceImpl.log() Lip-sync enabled in newroom@conference.192.168.0.149
Jicofo 2019-12-04 15:47:51.079 INFO: [92] org.jitsi.jicofo.JitsiMeetConferenceImpl.log() Joining the room: newroom@conference.192.168.0.149
Jicofo 2019-12-04 15:47:51.156 INFO: [94] org.jitsi.jicofo.xmpp.FocusComponent.handleConferenceIq().401 Focus request for room: newroom@conference.192.168.0.149
Jicofo 2019-12-04 15:47:51.157 INFO: [94] org.jitsi.jicofo.auth.AbstractAuthAuthority.log() Authenticated jid: a41019ca-ecc2-4dfc-b78a-dcfa38cb1c11@guest.192.168.0.149/942334a5-b424-4fc8-a675-59bdde65c0bc with session: AuthSession[ID=username2@192.168.0.149, JID=a41019ca-ecc2-4dfc-b78a-dcfa38cb1c11@guest.192.168.0.149/942334a5-b424-4fc8-a675-59bdde65c0bc, SID=b8846e35-5e0e-44a5-b855-7f61ba9d7868, MUID=3841465d020b15d5915acf56cd69a8bc, LIFE_TM_SEC=0, R=newroom@conference.192.168.0.149]@739822485
Jicofo 2019-12-04 15:47:51.157 INFO: [94] org.jitsi.jicofo.auth.AbstractAuthAuthority.log() Jid a41019ca-ecc2-4dfc-b78a-dcfa38cb1c11@guest.192.168.0.149/942334a5-b424-4fc8-a675-59bdde65c0bc authenticated as: username2@192.168.0.149
Jicofo 2019-12-04 15:47:51.183 INFO: [51] org.jitsi.jicofo.ChatRoomRoleAndPresence.log() Chat room event ChatRoomMemberPresenceChangeEvent[type=MemberJoined sourceRoom=org.jitsi.impl.protocol.xmpp.ChatRoomImpl@31802aef member=ChatMember[newroom@conference.192.168.0.149/a41019ca, jid: null]@727817303]
Jicofo 2019-12-04 15:47:51.188 INFO: [51] org.jitsi.jicofo.JitsiMeetConferenceImpl.log() Member newroom@conference.192.168.0.149/a41019ca joined.
Jicofo 2019-12-04 15:49:03.021 SEVERE: [134] org.jitsi.jicofo.recording.jibri.JibriSession.log() Unable to find an available Jibri, can't start
Jicofo 2019-12-04 15:49:03.022 INFO: [134] org.jitsi.jicofo.recording.jibri.JibriRecorder.log() Failed to start a Jibri session, no Jibris available

Jibri log :

2019-12-04 15:29:29.518 INFO: [1] org.jitsi.jibri.Main.main() Jibri run with args [--config, /etc/jitsi/jibri/config.json]
2019-12-04 15:29:29.520 INFO: [1] org.jitsi.jibri.Main.main() Using config file /etc/jitsi/jibri/config.json
2019-12-04 15:29:29.520 INFO: [1] org.jitsi.jibri.Main.main() Using port 3333 for internal HTTP API
2019-12-04 15:29:29.521 INFO: [1] org.jitsi.jibri.Main.main() Using port 2222 for the HTTP API

I was also having prosody error though working fine (I didnt use certificate)

Dec 04 14:24:17 portmanager	error	Error binding encrypted port for https: No key present in SSL/TLS configuration for https port 5281
Dec 04 14:46:44 portmanager	error	Error binding encrypted port for https: No key present in SSL/TLS configuration for https port 5281
Dec 04 14:46:44 portmanager	error	Error binding encrypted port for https: No key present in SSL/TLS configuration for https port 5281

my Jicofo config :

# Jitsi Conference Focus settings
# sets the host name of the XMPP server
JICOFO_HOST=localhost

# sets the XMPP domain (default: none)
JICOFO_HOSTNAME=192.168.0.149

# sets the secret used to authenticate as an XMPP component
JICOFO_SECRET=hNhxSwav

# sets the port to use for the XMPP component connection
JICOFO_PORT=5347

# sets the XMPP domain name to use for XMPP user logins
JICOFO_AUTH_DOMAIN=auth.192.168.0.149

# sets the username to use for XMPP user logins
JICOFO_AUTH_USER=focus

# sets the password to use for XMPP user logins
JICOFO_AUTH_PASSWORD=9qjZ3RSL

# extra options to pass to the jicofo daemon
JICOFO_OPTS=""

# adds java system props that are passed to jicofo (default are for home and logging config file)
JAVA_SYS_PROPS="-Dnet.java.sip.communicator.SC_HOME_DIR_LOCATION=/etc/jitsi -Dnet.java.sip.communicator.SC_HOME_DIR_NAME=jicofo -Dnet.java.sip.communicator.SC_LOG_DIR_LOCATION=/var/log/jitsi -Djava.util.logging.config.file=/etc/jitsi/jicofo/logging.properties"

my Jibri config :

{
    // NOTE: this is a *SAMPLE* config file, it will need to be configured with
    // values from your environment

    // Where recording files should be temporarily stored
    "recording_directory":"/tmp/recordings",
    // The path to the script which will be run on completed recordings
    "finalize_recording_script_path": "/path/to/finalize_recording.sh",
    "xmpp_environments": [
        { 
            // A friendly name for this environment which can be used
            //  for logging, stats, etc.
            "name": "myjitsi prod environment",
            // The hosts of the XMPP servers to connect to as part of
            //  this environment
            "xmpp_server_hosts": [
		"192.168.0.149"
            ],
            // The xmpp domain we'll connect to on the XMPP server
            "xmpp_domain": "192.168.0.149",
            // Jibri will login to the xmpp server as a privileged user 
            "control_login": {
                // The domain to use for logging in
                "domain": "auth.192.168.0.149",
                // The credentials for logging in
                "username": "jibri",
                "password": "jibriauthpass"
            },
            // Using the control_login information above, Jibri will join 
            //  a control muc as a means of announcing its availability 
            //  to provide services for a given environment
            "control_muc": {
                "domain": "internal.auth.192.168.0.149",
                "room_name": "JibriBrewery",
                "nickname": "jibri-nickname"
            },
            // All participants in a call join a muc so they can exchange
            //  information.  Jibri can be instructed to join a special muc
            //  with credentials to give it special abilities (e.g. not being
            //  displayed to other users like a normal participant)
            "call_login": {
                "domain": "recorder.192.168.0.149",
                "username": "recorder",
                "password": "jibrirecorderpass"
            },
            // When jibri gets a request to start a service for a room, the room
            //  jid will look like:
            //  roomName@optional.prefixes.subdomain.xmpp_domain
            // We'll build the url for the call by transforming that into:
            //  https://xmpp_domain/subdomain/roomName
            // So if there are any prefixes in the jid (like jitsi meet, which
            //  has its participants join a muc at conference.xmpp_domain) then
            //  list that prefix here so it can be stripped out to generate
            //  the call url correctly
            "room_jid_domain_string_to_strip_from_start": "conference.",
            // The amount of time, in minutes, a service is allowed to continue.
            //  Once a service has been running for this long, it will be
            //  stopped (cleanly).  A value of 0 means an indefinite amount
            //  of time is allowed
            "usage_timeout": "0"
        }
    ]
}

Thanx in advance :heart:

For some reason your jibri does not connect to the xmpp server, and nothing in the logs about it …

what should I do then? should I reinstall jibri?
in that case how can I uninstall jibri and restart again?

wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | sudo apt-key add -
sudo sh -c "echo 'deb https://download.jitsi.org stable/' > /etc/apt/sources.list.d/jitsi-stable.list"
sudo apt-get update
sudo apt-get install jibri

should I install this as root or normally in home?
when I checked jibri service status it said it failed to start… actually what is the cause


I installed openjdk8 after jibri installation can that be problem?
I also faced SocketException Broken Pipe error in jicofo log which is not normal

java.net.SocketException: Broken pipe (Write failed)

plz help and thanx for the reply :heart: