All recorders are currently busy issue faced when we click start recording


#1

Hi,

I am facing All recorders are currently busy issue.

jicofo.log:

jicofo.log (410.7 KB)

jibri.log:

2018-11-01 15:34:47.668 INFO: [1] org.jitsi.jibri.Main.main() Using config file /etc/jitsi/jibri/config.json
2018-11-01 15:34:48.134 INFO: [1] org.jitsi.jibri.Main.loadConfig() Parsed config:
JibriConfig(recordingDirectory=/srv/recordings, enabledStatsD=true, finalizeRecordingScriptPath=/path/to/finalize_recording.sh, xmppEnvironments=[XmppEnvironmentConfig(name=prod environment, xmppServerHosts=[XXXXXXXXXXXXX], xmppDomain=XXXXXXXXXXXXX, controlLogin=XmppCredentials(domain=auth.XXXXXXXXXXXXX, username=jibri, password=jibriauthpass), controlMuc=XmppMuc(domain=internal.auth.XXXXXXXXXXXXX, roomName=JibriBrewery, nickname=jibri-nickname), sipControlMuc=null, callLogin=XmppCredentials(domain=recorder.XXXXXXXXXXXXX, username=recorder, password=jibrirecorderpass), stripFromRoomDomain=conference., usageTimeoutMins=0, trustAllXmppCerts=true)])
2018-11-01 15:34:48.559 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.
2018-11-01 15:34:48.778 INFO: [1] org.jitsi.jibri.api.xmpp.XmppApi.start() Connecting to xmpp environment on XXXXXXXXXXXXX with config XmppEnvironmentConfig(name=prod environment, xmppServerHosts=[XXXXXXXXXXXXX], xmppDomain=XXXXXXXXXXXXX, controlLogin=XmppCredentials(domain=auth.XXXXXXXXXXXXX, username=jibri, password=jibriauthpass), controlMuc=XmppMuc(domain=internal.auth.XXXXXXXXXXXXX, roomName=JibriBrewery, nickname=jibri-nickname), sipControlMuc=null, callLogin=XmppCredentials(domain=recorder.XXXXXXXXXXXXX, username=recorder, password=jibrirecorderpass), stripFromRoomDomain=conference., usageTimeoutMins=0, trustAllXmppCerts=true)
2018-11-01 15:34:48.783 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
2018-11-01 15:34:48.998 INFO: [1] class org.jitsi.xmpp.mucclient.MucClient.connected() [prod environment: auth.XXXXXXXXXXXXX@XXXXXXXXXXXXX] Xmpp connection status: connected
2018-11-01 15:34:49.066 INFO: [1] class org.jitsi.xmpp.mucclient.MucClient.authenticated() [prod environment: auth.XXXXXXXXXXXXX@XXXXXXXXXXXXX] Xmpp connection status: authenticated (resume from previous? false)
2018-11-01 15:34:49.121 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.

please help me about this issue.

Thanks&Regards,
Keerthi.


#2

Hi Team, same issue and logs here. Any suggestion ??


#3

Hi Team,

I frustrated to trying above issue. Can any one please provide a solution?

Thanks&Regards,
Keerthi.


#4

I’m not sure I can be of any help here, but I was wondering what java version do you use?


#5

Hi, Jibri device:

java version “1.8.0_191”
Java™ SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot™ 64-Bit Server VM (build 25.191-b12, mixed mode)

Jitsi device:

openjdk version “1.8.0_181”
OpenJDK Runtime Environment (build 1.8.0_181-8u181-b13-1ubuntu0.18.04.1-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)


#6

@damencho i see this in jicofo logs:

Jicofo 2018-11-01 15:35:05.131 SEVERE: [19] org.jitsi.jicofo.xmpp.BaseBrewery.start().196 Failed to create room: JibriBrewery@internal.auth.XXXXXXXXXXXXX
net.java.sip.communicator.service.protocol.OperationFailedException: Failed to join the room
	at org.jitsi.impl.protocol.xmpp.ChatRoomImpl.joinAs(ChatRoomImpl.java:298)
	at org.jitsi.impl.protocol.xmpp.ChatRoomImpl.join(ChatRoomImpl.java:209)
	at org.jitsi.jicofo.xmpp.BaseBrewery.start(BaseBrewery.java:190)
	at org.jitsi.jicofo.xmpp.BaseBrewery.maybeStart(BaseBrewery.java:141)
	at org.jitsi.jicofo.xmpp.BaseBrewery.registrationStateChanged(BaseBrewery.java:166)
	at org.jitsi.jicofo.ProtocolProviderHandler.registrationStateChanged(ProtocolProviderHandler.java:141)
	at net.java.sip.communicator.service.protocol.AbstractProtocolProviderService.fireRegistrationStateChanged(AbstractProtocolProviderService.java:187)
	at net.java.sip.communicator.service.protocol.AbstractProtocolProviderService.fireRegistrationStateChanged(AbstractProtocolProviderService.java:141)
	at org.jitsi.impl.protocol.xmpp.XmppProtocolProvider.notifyConnected(XmppProtocolProvider.java:345)
	at org.jitsi.impl.protocol.xmpp.XmppProtocolProvider.access$100(XmppProtocolProvider.java:62)
	at org.jitsi.impl.protocol.xmpp.XmppProtocolProvider$XmppConnectionListener.authenticated(XmppProtocolProvider.java:633)
	at org.jivesoftware.smack.AbstractXMPPConnection.callConnectionAuthenticatedListener(AbstractXMPPConnection.java:1263)
	at org.jivesoftware.smack.AbstractXMPPConnection.afterSuccessfulLogin(AbstractXMPPConnection.java:575)
	at org.jivesoftware.smack.tcp.XMPPTCPConnection.afterSuccessfulLogin(XMPPTCPConnection.java:379)
	at org.jivesoftware.smack.tcp.XMPPTCPConnection.loginInternal(XMPPTCPConnection.java:444)
	at org.jivesoftware.smack.AbstractXMPPConnection.login(AbstractXMPPConnection.java:494)
	at org.jitsi.impl.protocol.xmpp.XmppProtocolProvider.doConnect(XmppProtocolProvider.java:297)
	at org.jitsi.impl.protocol.xmpp.XmppProtocolProvider.access$000(XmppProtocolProvider.java:62)
	at org.jitsi.impl.protocol.xmpp.XmppProtocolProvider$1.call(XmppProtocolProvider.java:256)
	at org.jitsi.impl.protocol.xmpp.XmppProtocolProvider$1.call(XmppProtocolProvider.java:251)
	at org.jitsi.retry.RetryStrategy$TaskRunner.run(RetryStrategy.java:193)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
	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)
Caused by: org.jivesoftware.smack.XMPPException$XMPPErrorException: XMPP error reply received from jibribrewery@internal.auth.XXXXXXXXXXXXX: XMPPError: forbidden - auth
	at org.jivesoftware.smack.XMPPException$XMPPErrorException.ifHasErrorThenThrow(XMPPException.java:131)
	at org.jivesoftware.smack.StanzaCollector.nextResultOrThrow(StanzaCollector.java:256)
	at org.jivesoftware.smack.StanzaCollector.nextResultOrThrow(StanzaCollector.java:208)
	at org.jivesoftware.smackx.muc.MultiUserChat.getConfigurationForm(MultiUserChat.java:781)
	at org.jitsi.impl.protocol.xmpp.ChatRoomImpl.joinAs(ChatRoomImpl.java:244)
	... 27 more


#7

I cannot see any error in jicofo or jibri

jibri.log (3.1 KB)
jicofo.log (8.7 KB)


#8

Hi @damencho,

Java version:

openjdk version “1.8.0_181”
OpenJDK Runtime Environment (build 1.8.0_181-8u181-b13-1ubuntu0.16.04.1-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)

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":"/srv/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": "prod environment",
        // The hosts of the XMPP servers to connect to as part of
        //  this environment
        "xmpp_server_hosts": [
            "XXXXXXXXXXXXX"
        ],
        // The xmpp domain we'll connect to on the XMPP server
        "xmpp_domain": "XXXXXXXXXXXXX",
        // Jibri will login to the xmpp server as a privileged user 
        "control_login": {
            // The domain to use for logging in
            "domain": "auth.XXXXXXXXXXXXX",
            // 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.XXXXXXXXXXXXX",
            "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.XXXXXXXXXXXXX",
            "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"
    }
]

}

I am not able to find out the finalize_recording.sh file. how can i create this file.

Please provide a solution for above issue.

Thanks,
Keerthi.


#9

@keerthireddyb https://github.com/jitsi/jibri/blob/master/resources/finalize_recording.sh


#10

Hi @damencho,

Thanks for your response.

I created that file in jibri installed system. after that also i did get any solution for above issue. again i faced same issue(All recorders are currently busy issue faced when we click start recording).

Please provide solution or suggestion for above issue.

Thanks,
Keerthi.


#11

Hi All,

Can you please provide a solution for All recorders are currently busy issue. I am eagerly waiting for your response. please suggest.

Thanks,
Keerthi.


#12

Can you make sure both jicofo and jibri are the latest versions? There were changes recently that introduced an incompatibility between mismatched versions.