Jibri not connecting to Jicofo

Hi there,

We have an installation of Jibri on an ubuntu instance, when it starts up we get these logs:

2021-01-14 11:00:26.624 INFO: [1] org.jitsi.jibri.Main.handleCommandLineArgs() Jibri run with args [--config, /etc/jitsi/jibri/config.json]
2021-01-14 11:00:26.709 INFO: [1] org.jitsi.jibri.Main.setupLegacyConfig() Checking legacy config file /etc/jitsi/jibri/config.json
2021-01-14 11:00:27.309 INFO: [1] org.jitsi.jibri.Main.loadConfigFromFile() Parsed legacy config:
JibriConfig(jibriId=null, recordingDirectory=null, singleUseMode=null, enabledStatsD=null, finalizeRecordingScriptPath=null, xmppEnvironments=null)
2021-01-14 11:00:27.736 INFO: [1] org.jitsi.jibri.webhooks.v1.JwtInfo.Companion.fromConfig() got jwtConfig: {}
2021-01-14 11:00:27.737 INFO: [1] org.jitsi.jibri.webhooks.v1.JwtInfo.Companion.fromConfig() Unable to create JwtInfo: com.typesafe.config.ConfigException$Missing: reference.conf @ jar:file:/opt/jitsi/jibri/jibri.jar!/reference.conf: 52: No configuration setting found for key 'signing-key-path'
2021-01-14 11:00:27.754 INFO: [1] org.jitsi.jibri.Main.main() Using port 3333 for internal HTTP API
2021-01-14 11:00:27.781 FINE: [16] org.jitsi.jibri.webhooks.v1.WebhookClient.invokeSuspend() Updating 0 subscribers of status
2021-01-14 11:00:28.110 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
2021-01-14 11:00:28.123 INFO: [1] org.jitsi.jibri.Main.main() Using port 2222 for HTTP API
2021-01-14 11:01:27.750 FINE: [16] org.jitsi.jibri.webhooks.v1.WebhookClient.invokeSuspend() Updating 0 subscribers of status
2021-01-14 11:02:27.750 FINE: [16] org.jitsi.jibri.webhooks.v1.WebhookClient.invokeSuspend() Updating 0 subscribers of status
2021-01-14 11:03:06.661 INFO: [35] org.jitsi.jibri.api.http.internal.InternalHttpApi.invokeSuspend() Jibri gracefully shutting down

We have a dockerized Jicofo on another instance, when we try and record it gives us the “No jibris available” error. It doesn’t receive anything in the logs when Jibri starts up. We expecting at least to see that a connection was made from Jibri to Jicofo.

We have checked that all our ports are open.

Here’s our Jibri config file:

{
    environments = [
        {
            // A user-friendly name for this environment
            name = "prod environment"

        // A list of XMPP server hosts to which we'll connect
        xmpp-server-hosts = [ "OUR_DOMAIN" ]

        // The base XMPP domain
        xmpp-domain = "OUR_DOMAIN"

        // The MUC we'll join to announce our presence for
        // recording and streaming services
        control-muc {
            domain = "internal.auth.OUR_DOMAIN"
            room-name = "JibriBrewery"
            nickname = "jibrinickname"
        }

        // The login information for the control MUC
        control-login {
            domain = "OUR_DOMAIN"
            username = "jibri"
            password = "JIBRI_PASS"
        }

        // An (optional) MUC configuration where we'll
        // join to announce SIP gateway services
        sip-control-muc {
            domain = "internal.auth.wprod.sendit.media"
            room-name = "JibriBrewery"
            nickname = "jibrinickname"
        }

        // The login information the selenium web client will use
        call-login {
            domain = "OUR_DOMAIN"
            username = "recorder"
            password = "RECORDER_PASS"
        }

        // The value we'll strip from the room JID domain to derive
        // the call URL
        strip-from-room-domain = ""

        // How long Jibri sessions will be allowed to last before
        // they are stopped.  A value of 0 allows them to go on
        // indefinitely
        usage-timeout = 1 hour

        // Whether or not we'll automatically trust any cert on
        // this XMPP domain
        trust-all-xmpp-certs = true
    }
]

}

The top object of the config file needs to be scope under “jibri”, and environments needs to be scoped under api.xmpp:

jibri {
   api {
       xmpp {
            environments = [
            ]
       }
   }
}

Look at reference.conf and match its format.

Thank you we were a bit confused as to what the total file should look like.

We have our prosody/jitsi, etc. running on OURSUBDOMAIN.OURDOMAIN.COM. Now when I try to start up Jibri in it’s own instance we get an error host-unknown. I tried many suggestions I could find online to change control-login part of the config to point to eg: auth.OURSUBDOMAIN.OURDOMAIN.COM, and combinations without, but we keep getting this error (We are able to access a jitsi call ourselves at that domain of ours):

2021-01-15 13:37:29.366 INFO: [1] org.jitsi.jibri.Main.handleCommandLineArgs() Jibri run with args [--config, /etc/jitsi/jibri/config.json]
2021-01-15 13:37:29.451 INFO: [1] org.jitsi.jibri.Main.setupLegacyConfig() Checking legacy config file /etc/jitsi/jibri/config.json
2021-01-15 13:37:30.051 INFO: [1] org.jitsi.jibri.Main.loadConfigFromFile() Parsed legacy config:
JibriConfig(jibriId=null, recordingDirectory=null, singleUseMode=null, enabledStatsD=null, finalizeRecordingScriptPath=null, xmppEnvironments=null)
2021-01-15 13:37:30.490 INFO: [1] org.jitsi.jibri.webhooks.v1.JwtInfo.Companion.fromConfig() got jwtConfig: {}

2021-01-15 13:37:30.490 INFO: [1] org.jitsi.jibri.webhooks.v1.JwtInfo.Companion.fromConfig() Unable to create JwtInfo: com.typesafe.config.ConfigException$Missing: /etc/jitsi/jibri/jibri.conf: 106: No configuration setting found for key 'signing-key-path'
2021-01-15 13:37:30.517 FINE: [16] org.jitsi.jibri.webhooks.v1.WebhookClient.invokeSuspend() Updating 0 subscribers of status
2021-01-15 13:37:30.519 INFO: [1] org.jitsi.jibri.Main.main() Using port 3333 for internal HTTP API
2021-01-15 13:37:30.845 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
2021-01-15 13:37:30.854 INFO: [1] org.jitsi.jibri.api.xmpp.XmppApi.start() Connecting to xmpp environment on wprod.sendit.media with config XmppEnvironmentConfig(name=prod environment, xmppServerHosts=[wprod.sendit.media], xmppDomain=wprod.sendit.media, controlLogin=XmppCredentials(domain=auth.wprod.sendit.media, username=jibri, password=6c24accc57eacbb750c06e300b70cc5d), controlMuc=XmppMuc(domain=internal.auth.wprod.sendit.media, roomName=JibriBrewery, nickname=jibrinickname), sipControlMuc=XmppMuc(domain=internal.auth.wprod.sendit.media, roomName=JibriBrewery, nickname=jibrinickname), callLogin=XmppCredentials(domain=recorder.wprod.sendit.media, username=recorder, password=b4e685ea95441fbe56ecd1f6270bd19d), stripFromRoomDomain=, usageTimeoutMins=60, trustAllXmppCerts=true)
2021-01-15 13:37:30.855 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
2021-01-15 13:37:30.880 INFO: [1] org.jitsi.jibri.Main.main() Using port 2222 for HTTP API
2021-01-15 13:37:30.889 WARNING: [25] org.jitsi.xmpp.mucclient.MucClient.log() Disabling certificate verification!
2021-01-15 13:37:30.940 WARNING: [25] org.jitsi.xmpp.mucclient.MucClient.log() [MucClient id=wprod.sendit.media hostname=wprod.sendit.media] error connecting
org.jivesoftware.smack.XMPPException$StreamErrorException: host-unknown You can read more about the meaning of this stream error at http://xmpp.org/rfcs/rfc6120.html#streams-error-conditions
<stream:error><host-unknown xmlns='urn:ietf:params:xml:ns:xmpp-streams'/><text>This server does not serve auth.wprod.sendit.media</text></stream:error>
    at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(XMPPTCPConnection.java:1059)
    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)
2021-01-15 13:37:30.945 WARNING: [37] org.jivesoftware.smack.AbstractXMPPConnection.callConnectionClosedOnErrorListener() Connection XMPPTCPConnection[not-authenticated] (0) closed with error
org.jivesoftware.smack.XMPPException$StreamErrorException: host-unknown You can read more about the meaning of this stream error at http://xmpp.org/rfcs/rfc6120.html#streams-error-conditions
<stream:error><host-unknown xmlns='urn:ietf:params:xml:ns:xmpp-streams'/><text>This server does not serve auth.wprod.sendit.media</text></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)
2021-01-15 13:37:30.946 WARNING: [37] org.jitsi.xmpp.mucclient.MucClient.log() Closed on error:
org.jivesoftware.smack.XMPPException$StreamErrorException: host-unknown You can read more about the meaning of this stream error at http://xmpp.org/rfcs/rfc6120.html#streams-error-conditions
<stream:error><host-unknown xmlns='urn:ietf:params:xml:ns:xmpp-streams'/><text>This server does not serve auth.wprod.sendit.media</text></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)
2021-01-15 13:37:32.951 WARNING: [38] org.jitsi.xmpp.mucclient.MucClient.log() Reconnection failed:
org.jivesoftware.smack.XMPPException$StreamErrorException: host-unknown You can read more about the meaning of this stream error at http://xmpp.org/rfcs/rfc6120.html#streams-error-conditions
<stream:error><host-unknown xmlns='urn:ietf:params:xml:ns:xmpp-streams'/><text>This server does not serve auth.wprod.sendit.media</text></stream:error>
    at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(XMPPTCPConnection.java:1059)
    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)
2021-01-15 13:37:32.959 WARNING: [40] org.jivesoftware.smack.AbstractXMPPConnection.callConnectionClosedOnErrorListener() Connection XMPPTCPConnection[not-authenticated] (0) closed with error
org.jivesoftware.smack.XMPPException$StreamErrorException: host-unknown You can read more about the meaning of this stream error at http://xmpp.org/rfcs/rfc6120.html#streams-error-conditions
<stream:error><host-unknown xmlns='urn:ietf:params:xml:ns:xmpp-streams'/><text>This server does not serve auth.wprod.sendit.media</text></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)
2021-01-15 13:37:32.959 WARNING: [40] org.jitsi.xmpp.mucclient.MucClient.log() Closed on error:
org.jivesoftware.smack.XMPPException$StreamErrorException: host-unknown You can read more about the meaning of this stream error at http://xmpp.org/rfcs/rfc6120.html#streams-error-conditions
<stream:error><host-unknown xmlns='urn:ietf:params:xml:ns:xmpp-streams'/><text>This server does not serve auth.wprod.sendit.media</text></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)