Issue with setting up jibri recording

Hello Guys,

First to mention that I have a customized jitsi setup which is up and running very well. Recently I tried to setup recording following instruction on https://docs.easyjitsi.com/docs/gettingstartedjibri.
My Jitsi meet setup is on one aws instance and I used another aws instance for jibri.

After following all steps, when I clicked on recording button on web ui, it displayed message recording failed to start.
After searching through various similar issues in community, I checked jibri logs and found that it is not able to connect to XMPP (prosody) server (Socket exception).
I have enabled tcp port 5222 on my jitsi meet instance, but when I am trying to run telnet 5222 from my Jibri instance, it is not able to connect.

On my jitsi meet instance, when I run telnet localhost 5222 or telnet 127.0.0.1 5222 or telnet 5222, it is good and getting connected.

Now what I think is that prosody on jitsi meet instance is not able to get connected from second instance. Any help how to proceed further on it ?

Any help would be appreciated.

I am having same problem. Please help

Can you attach jibri logs?

/etc/jitsi/jibri/config.json]
2020-07-17 11:40:48.535 INFO: [1] org.jitsi.jibri.Main.main() Using config file /etc/jitsi/jibri/config.json
2020-07-17 11:40:48.536 INFO: [1] org.jitsi.jibri.Main.main() Using port 3333 for internal HTTP API
2020-07-17 11:40:48.536 INFO: [1] org.jitsi.jibri.Main.main() Using port 2222 for the HTTP API
2020-07-17 11:40:49.531 INFO: [1] org.jitsi.jibri.Main.loadConfig() Parsed config:
JibriConfig(recordingDirectory=/home/ubuntu/letsmeetup/recordings, singleUseMode=false, enabledStatsD=true, finalizeRecordingScriptPath=/path/to/finalize_recording.sh, xmppEnvironments=[XmppEnvironmentConfig(name=Letsmeetup-Jibri, xmppServerHosts=[letsmeetup.in], xmppDomain=letsmeetup.in, controlLogin=XmppCredentials(domain=auth.letsmeetup.in, username=jibri, password=jibri), controlMuc=XmppMuc(domain=internal.auth.letsmeetup.in, roomName=JibriBrewery, nickname=JibriBrewery), sipControlMuc=null, callLogin=XmppCredentials(domain=recorder.letsmeetup.in, username=recorder, password=recorder), stripFromRoomDomain=conference., usageTimeoutMins=0, trustAllXmppCerts=true)])
2020-07-17 11:40:50.309 WARNING: [1] org.glassfish.jersey.internal.inject.Providers.checkProviderRuntime() A provider org.jitsi.jibri.api.http.internal.InternalHttpApi registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.jitsi.jibri.api.http.internal.InternalHttpApi will be ignored.
2020-07-17 11:40:50.832 INFO: [1] 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-07-17 11:40:50.834 INFO: [1] org.jitsi.xmpp.mucclient.MucClientManager.log() Setting a presence extension: org.jitsi.xmpp.extensions.jibri.JibriStatusPacketExt@771158fb
2020-07-17 11:40:50.855 INFO: [1] org.jitsi.jibri.api.xmpp.XmppApi.start() Connecting to xmpp environment on letsmeetup.in with config XmppEnvironmentConfig(name=Letsmeetup-Jibri, xmppServerHosts=[letsmeetup.in], xmppDomain=letsmeetup.in, controlLogin=XmppCredentials(domain=auth.letsmeetup.in, username=jibri, password=jibri), controlMuc=XmppMuc(domain=internal.auth.letsmeetup.in, roomName=JibriBrewery, nickname=JibriBrewery), sipControlMuc=null, callLogin=XmppCredentials(domain=recorder.letsmeetup.in, username=recorder, password=recorder), stripFromRoomDomain=conference., usageTimeoutMins=0, trustAllXmppCerts=true)
2020-07-17 11:40:50.856 INFO: [1] org.jitsi.jibri.api.xmpp.XmppApi.start() The trustAllXmppCerts config is enabled for this domain, all XMPP server provided certificates will be accepted
2020-07-17 11:40:50.915 WARNING: [19] org.jitsi.xmpp.mucclient.MucClient.log() Disabling certificate verification!
2020-07-17 11:40:50.997 WARNING: [1] org.glassfish.jersey.internal.inject.Providers.checkProviderRuntime() A provider org.jitsi.jibri.api.http.HttpApi registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.jitsi.jibri.api.http.HttpApi will be ignored.
2020-07-17 11:41:20.509 WARNING: [28] org.jivesoftware.smackx.ping.PingManager.pingServerIfNecessary() XMPPConnection was not authenticated
2020-07-17 11:41:21.077 SEVERE: [19] org.jitsi.xmpp.mucclient.MucClientManager.log() Failed to initialize and start a MucClient:
org.jivesoftware.smack.SmackException$ConnectionException: The following addresses failed: ‘letsmeetup.in:5222’ failed because: letsmeetup.in/3.7.39.104 exception: java.net.SocketTimeoutException: connect timed out
at org.jivesoftware.smack.SmackException$ConnectionException.from(SmackException.java:278)
at org.jivesoftware.smack.tcp.XMPPTCPConnection.connectUsingConfiguration(XMPPTCPConnection.java:619)
at org.jivesoftware.smack.tcp.XMPPTCPConnection.connectInternal(XMPPTCPConnection.java:902)
at org.jivesoftware.smack.AbstractXMPPConnection.connect(AbstractXMPPConnection.java:383)
at org.jitsi.xmpp.mucclient.MucClient.initializeConnectAndJoin(MucClient.java:277)
at org.jitsi.xmpp.mucclient.MucClientManager.lambda$addMucClient$0(MucClientManager.java:152)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)

It’s needed to allow to access TCP/5222 from the outside on the Jitsi server and on the firewall

You can see that I have allowed 5222 on jitsi aws instance firewall.

The output on the server

netstat -taunp | grep 5222

tcp 0 0 0.0.0.0:5222 0.0.0.0:* LISTEN 1180/lua5.1
tcp 0 0 127.0.0.1:5222 127.0.0.1:45884 ESTABLISHED 1180/lua5.1
tcp 0 0 127.0.0.1:5222 127.0.0.1:45896 ESTABLISHED 1180/lua5.1
tcp6 0 0 :::5222 :::* LISTEN 1180/lua5.1
tcp6 0 0 127.0.0.1:45884 127.0.0.1:5222 ESTABLISHED 1129/java
tcp6 0 0 127.0.0.1:45896 127.0.0.1:5222 ESTABLISHED 1044/java

Is there a firewall on the server? For example ufw
If this is the case

ufw status verbose

Oh, seems on ufw, port 5222 is not allowed. I am checking

Thanks emrah,

Seems recording is working fine now.
Thanks a lot once again :slight_smile:

1 Like