Debian, jitsi-meet and jicofo

Hello,

I’m trying to install jitsi-meet on a private server running Linux Debian (testing up to date). I have installed jitsi-meet and jicofo to use authentification.

Without jicofo, jitsi-meet seems to run as expected. But with jicofo, I suppose I have a configuration trouble.

My domain is jitsi.systella.fr. Thus, I have written in jitsi.systella.fr.cfg.lua:

VirtualHost "jitsi.systella.fr"
authentication = "internal_plain"
ssl = {
            key = "key";
            certificate = "crt";
}

modules_enabled = {
    "bosh";
    "pubsub";
    "ping";
}

c2s_require_encryption = false

Component "conference.jitsi.systella.fr" "muc"
storage = "memory"
admins = { "focus@auth.jitsi.systella.fr" }

Component "jitsi-videobridge.jitsi.systella.fr"
component_secret = "cs2"

VirtualHost "auth.jitsi.systella.fr"
ssl = {
    key = "key2";
    certificate = "crt2";
}
authentication = "internal_plain"

Component "focus.jitsi.systella.fr"
component_secret = "cs1"

When I start jitsi and jicofo, jicofo.log contains some errors: like:

Jicofo 2020-02-13 18:29:45.236 GRAVE: [40] org.jitsi.meet.ComponentMain.log() host-unknown, host:localhost, port:5347 org.xmpp.component.ComponentException: host-unknown

I don’t know how fix this error. Any idea ?

Best regards,

JKB

In videobridge’s config, I have written:

JVB_HOSTNAME=jitsi.systella.fr
JVB_HOST=
JVB_SECRET=cs2
JVB_OPTS=""

and in jicofo’s config:

JICOFO_HOST=localhost
JICOFO_HOSTNAME=localhost
JICOFO_SECRET=cs1
JICOFO_PORT=5347
JICOFO_AUTH_DOMAIN=auth.jitsi.systella.fr
JICOFO_AUTH_USER=focus
JICOFO_AUTH_PASSWORD= 'password created by prosodyctl register'
JICOFO_OPTS=""
JAVA_SYS_PROPS= 'default values'

Why did you change this? Jicofo is trying to use hostname localhost when you are using different domain: jitsi.sys…

If I replace this line by JICOFO_HOSTNAME=
I obtain in jicofo logs the same error:

 Jicofo 2020-02-13 22:28:57.936 GRAVE: [40] org.jitsi.meet.ComponentMain.log() host-unknown, host:localhost, port:5347
org.xmpp.component.ComponentException: host-unknown
    at org.jivesoftware.whack.ExternalComponent.connect(ExternalComponent.java:243)
    at org.jivesoftware.whack.ExternalComponentManager.addComponent(ExternalComponentManager.java:242)
    at org.jivesoftware.whack.ExternalComponentManager.addComponent(ExternalComponentManager.java:222)
    at org.jitsi.meet.ComponentMain.lambda$getConnectCallable$0(ComponentMain.java:286)
    at org.jitsi.retry.RetryStrategy$TaskRunner.run(RetryStrategy.java:193)
    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.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
    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:834)

It should be JICOFO_HOSTNAME=“jitsi.systella.fr

Thanks a lot, it runs better, but not as expected. Login stalls.

Jicofo 2020-02-14 08:23:20.506 AVERTISSEMENT: [14] org.glassfish.jersey.internal.Errors.logErrors() The following warnings have been detected: WARNING: HK2 service reification failed for [org.glassfish.jersey.message.internal.DataSourceProvider] with an exception:
MultiException stack 1 of 2
MultiException stack 2 of 2
java.lang.IllegalArgumentException: Errors were discovered while reifying SystemDescriptor(
    implementation=org.glassfish.jersey.message.internal.DataSourceProvider
    contracts={javax.ws.rs.ext.MessageBodyReader,javax.ws.rs.ext.MessageBodyWriter}

WARNING: HK2 service reification failed for [org.glassfish.jersey.jaxb.internal.XmlJaxbElementProvider$App] with an exception:
MultiException stack 1 of 2
MultiException stack 2 of 2
java.lang.IllegalArgumentException: Errors were discovered while reifying SystemDescriptor(
    implementation=org.glassfish.jersey.jaxb.internal.XmlJaxbElementProvider$App
    contracts={javax.ws.rs.ext.MessageBodyReader,javax.ws.rs.ext.MessageBodyWriter}

Regards,

JKB

I have modified /usr/share/jicofo/jicofo.sh to start jicofo with Java 8 (openjdk). Same modification for video-bridge.
I can see http://jitsi.systella.fr, but if I try to create a new meeting room, I obtain a login/password fields and process stalls with, in French “connexion en cours”. Maybe “connection in progress” in English.

In jvb.log, I have now:

JVB 2020-02-14 16:30:58.733 INFOS: [18] org.jitsi.videobridge.health.Health.log() Performed a            successful health check in 71ms. Sticky failure: false
JVB 2020-02-14 16:31:03.324 PRÉCIS: [2155] org.jitsi.videobridge.xmpp.ComponentImpl.processIQ() (serving component 'JitsiVideobridge') Processing IQ (packetId YVZ12-216): <iq type="get" to="jitsi-    videobridge.jitsi.systella.fr" id="YVZ12-216" from="focus@auth.jitsi.systella.fr/focus1265136687441294"> <query xmlns="http://jabber.org/protocol/disco#info"/></iq>
JVB 2020-02-14 16:31:03.324 PRÉCIS: [2155] org.jitsi.videobridge.xmpp.ComponentImpl.processIQRequest() (serving component 'JitsiVideobridge') Processing IQ request (packetId YVZ12-216).
JVB 2020-02-14 16:31:03.325 PRÉCIS: [2155] org.jitsi.videobridge.xmpp.ComponentImpl.processIQ() (serving component 'JitsiVideobridge') Responding to IQ (packetId YVZ12-216) with: <iq type="result" id="YVZ12-216" from="jitsi-videobridge.jitsi.systella.fr" to="focus@auth.jitsi.systella.fr/focus1265136687441294"><query xmlns="http://jabber.org/protocol/disco#info"><identity category="component" type="conference" name="JitsiVideobridge"/><feature var="http://jabber.org/protocol/disco#info"/><feature var="urn:xmpp:ping"/><feature var="jabber:iq:last"/><feature var="urn:xmpp:time"/><feature var="http://jitsi.org/protocol/colibri"/><feature var="http://jitsi.org/protocol/healthcheck"/><feature var="urn:xmpp:jingle:apps:dtls:0"/><feature var="urn:xmpp:jingle:transports:ice-udp:1"/><feature var="urn:xmpp:jingle:transports:raw-udp:1"/><feature var="jabber:iq:version"/></query></iq>
JVB 2020-02-14 16:31:06.980 PRÉCIS: [2386] org.jitsi.videobridge.xmpp.ComponentImpl.processIQ() (serving component 'JitsiVideobridge') Processing IQ (packetId I9G3s-48): <iq type="result" id="I9G3s-48" from="jitsi.systella.fr" to="jitsi-videobridge.jitsi.systella.fr"/>
JVB 2020-02-14 16:31:08.734 INFOS: [18] org.jitsi.videobridge.Videobridge.log() CAT=stat create_conf,conf_id=e1f209bd7b7e1b7f conf_name=null,logging=false,conf_count=1,ch_count=0,v_streams=0
JVB 2020-02-14 16:31:08.889 INFOS: [18] org.jitsi.videobridge.health.Health.log() Performed a successful health check in 155ms. Sticky failure: false
JVB 2020-02-14 16:31:16.981 PRÉCIS: [2388] org.jitsi.videobridge.xmpp.ComponentImpl.processIQ() (serving component 'JitsiVideobridge') Processing IQ (packetId I9G3s-50): <iq type="result" id="I9G3s-50" from="jitsi.systella.fr" to="jitsi-videobridge.jitsi.systella.fr"/>
JVB 2020-02-14 16:31:18.890 INFOS: [18] org.jitsi.videobridge.Videobridge.log() CAT=stat create_conf,conf_id=1a19b3699d7781d8 conf_name=null,logging=false,conf_count=1,ch_count=0,v_streams=0
JVB 2020-02-14 16:31:19.209 INFOS: [18] org.jitsi.videobridge.health.Health.log() Performed a successful health check in 319ms. Sticky failure: false
JVB 2020-02-14 16:31:25.907 INFOS: [17] org.jitsi.videobridge.VideobridgeExpireThread.log() Running expire()
JVB 2020-02-14 16:31:26.979 PRÉCIS: [2619] org.jitsi.videobridge.xmpp.ComponentImpl.processIQ() (serving component 'JitsiVideobridge') Processing IQ (packetId I9G3s-52): <iq type="result" id="I9G3s-52" from="jitsi.systella.fr" to="jitsi-videobridge.jitsi.systella.fr"/>
JVB 2020-02-14 16:31:29.209 INFOS: [18] org.jitsi.videobridge.Videobridge.log() CAT=stat create_conf,conf_id=e5687bb6557ccc6e conf_name=null,logging=false,conf_count=1,ch_count=0,v_streams=0
JVB 2020-02-14 16:40:32.436 INFOS: [18] org.jitsi.videobridge.Videobridge.log() CAT=stat create_conf,conf_id=e67a4c7897794315 conf_name=null,logging=false,conf_count=1,ch_count=0,v_streams=0
JVB 2020-02-14 16:40:32.485 INFOS: [18] org.jitsi.videobridge.health.Health.log() Performed a successful health check in 49ms. Sticky failure: false
....
JVB 2020-02-14 16:40:42.489 AVERTISSEMENT: [15] org.jitsi.videobridge.EndpointMessageTransport.log() SCTP connection with ec9dda12488720a4 not ready yet.
JVB 2020-02-14 16:40:42.489 AVERTISSEMENT: [15] org.jitsi.videobridge.EndpointMessageTransport.log() No available transport channel, can't send a message

Best regards,

JKB

Any jicofo or prosody errors?

Prosody.log:

Feb 14 17:02:40 jcp55fa1b093ed0 info    Incoming Jabber component connection
Feb 14 17:02:40 jitsi-videobridge.jitsi.systella.fr:component   info    External component successfully authenticated
Feb 14 17:02:49 jcp55fa1bbb8180 info    component disconnected: focus.jitsi.systella.fr (closed)
Feb 14 17:02:49 c2s55fa1b821380 info    Client disconnected: closed
Feb 14 17:02:49 c2s55fa1af24150 info    Client connected
Feb 14 17:02:50 c2s55fa1af24150 info    Stream encrypted (TLSv1.2 with ECDHE-RSA-AES256-GCM-SHA384)Feb 14 17:02:50 c2s55fa1af24150 info    Authenticated as focus@auth.jitsi.systella.fr
Feb 14 17:02:50 focus.jitsi.systella.fr:component       warn    Component not connected, bouncing error for: <iq type='get' from='focus@auth.jitsi.systella.fr/focus1267403461049129' id='n5yJ3-25' to='focus.jitsi.systella.fr'>
Feb 14 17:02:50 jcp55fa1b92ca90 info    Incoming Jabber component connection
Feb 14 17:02:50 focus.jitsi.systella.fr:component       info    External component successfully authenticated
Feb 14 17:03:09 bosh87db4f92-eeb2-47da-8d85-5ef12707165b        info    BOSH client disconnected: session close
Feb 14 17:04:00 mod_bosh        info    New BOSH session, assigned it sid '98893bbb-fce6-4585-bb57-06c8c448b326'
Feb 14 17:04:00 bosh98893bbb-fce6-4585-bb57-06c8c448b326        info    BOSH client disconnected: session close
Feb 14 17:04:02 mod_bosh        info    New BOSH session, assigned it sid 'ac10787d-0165-403e-a092-3b460c253a21'
Feb 14 17:08:08 jcp55fa1b92ca90 info    component disconnected: focus.jitsi.systella.fr (false)
Feb 14 17:08:08 c2s55fa1af24150 info    Client disconnected: closed
Feb 14 17:08:08 c2s55fa1aeddbf0 info    Client connected
Feb 14 17:08:08 c2s55fa1aeddbf0 info    Stream encrypted (TLSv1.2 with ECDHE-RSA-AES256-GCM-SHA384)
Feb 14 17:08:08 c2s55fa1aeddbf0 info    Authenticated as focus@auth.jitsi.systella.fr
Feb 14 17:08:08 focus.jitsi.systella.fr:component       warn    Component not connected, bouncing error for: <iq type='get' from='focus@auth.jitsi.systella.fr/focus1267722195463778' id='y0sU3-25' to='focus.jitsi.systella.fr'>
Feb 14 17:08:09 jcp55fa1b0e0810 info    Incoming Jabber component connection
Feb 14 17:08:09 focus.jitsi.systella.fr:component       info    External component successfully authenticated
Feb 14 17:08:10 jcp55fa1b093ed0 info    component disconnected: jitsi-videobridge.jitsi.systella.fr (closed)
Feb 14 17:08:11 jcp55fa1ac116d0 info    Incoming Jabber component connection
Feb 14 17:08:11 jitsi-videobridge.jitsi.systella.fr:component   info    External component successfully authenticated
Feb 14 17:08:18 boshac10787d-0165-403e-a092-3b460c253a21        info    BOSH client disconnected: session close
Feb 14 17:08:23 mod_bosh        info    New BOSH session, assigned it sid '2d1c32fd-4fd1-4a6c-b841-42b609387152'
Feb 14 17:08:23 bosh2d1c32fd-4fd1-4a6c-b841-42b609387152        info    BOSH client disconnected: session close
Feb 14 17:08:24 mod_bosh        info    New BOSH session, assigned it sid '774e7872-86a9-4ac9-9593-6b9e42c535cc'
Feb 14 17:15:12 bosh774e7872-86a9-4ac9-9593-6b9e42c535cc        info    BOSH client disconnected: session close
Feb 14 17:15:14 mod_bosh        info    New BOSH session, assigned it sid 'da5ffe9f-9cae-4960-9368-98705b0de3d1'
Feb 14 17:15:14 boshda5ffe9f-9cae-4960-9368-98705b0de3d1        info    BOSH client disconnected: session close
Feb 14 17:15:19 mod_bosh        info    New BOSH session, assigned it sid '385b43fd-8db1-4ebf-862f-8a0b7432d49d'
Feb 14 17:20:56 mod_bosh        info    New BOSH session, assigned it sid 'dc93170f-8dbe-4210-a010-0b58ebace07f'
Feb 14 17:20:56 boshdc93170f-8dbe-4210-a010-0b58ebace07f        info    BOSH client disconnected: session close
Feb 14 17:21:13 mod_bosh        info    New BOSH session, assigned it sid '97aaa6bc-6a32-45f2-8fc4-fe8e71e4edfc'

I don’t like "focus.jitsi.systella.fr:component warn Component not connected, bouncing error for: "

In jicofo.log, I only have a ‘grave’ message:
Jicofo 2020-02-14 17:08:08.836 GRAVE: [18] org.jitsi.jicofo.discovery.DiscoveryUtil.discoverVersion().200 Failed to discover version, req: , response:

but it is possible this message was written when I restarted videobridge.

JKB

Some news.

Now, when I try to connect to https://jitsi.systella.fr, I obtain an interface that asks me for a conference room. If I want to create a new conference room, I obtain in prosody.log:

Mar 11 18:38:25 mod_bosh        info    New BOSH session, assigned it sid '24b08ff3-77e9-4651-b6f5-dfb6221203fb'
Mar 11 18:38:25 bosh24b08ff3-77e9-4651-b6f5-dfb6221203fb        info    BOSH client disconnected: session close

Just after, I have to enter login and password to create this new room. Right, I click on “OK” button and I wait…

In prosody.log, I can see a new line:
Mar 11 18:40:56 mod_bosh info New BOSH session, assigned it sid '4a3ae3a8-cd09-45c5-aa5b-6f4762dfee2c'

But internet browser only displays “connection in progress”.

In jvb.log, I have a lot of message like:
JVB 2020-03-11 18:43:12.867 PRÉCIS: [1931] org.jitsi.videobridge.xmpp.ComponentImpl.processIQ() (serving component ‘JitsiVideobridge’) Processing IQ (packetId wrGd7-328):
JVB 2020-03-11 18:43:12.867 PRÉCIS: [1931] org.jitsi.videobridge.xmpp.ComponentImpl.processIQRequest() (serving component ‘JitsiVideobridge’) Processing IQ request (packetId wrGd7-328).
JVB 2020-03-11 18:43:12.867 PRÉCIS: [1931] org.jitsi.videobridge.xmpp.ComponentImpl.processIQ() (serving component ‘JitsiVideobridge’) Responding to IQ (packetId wrGd7-328) with:
JVB 2020-03-11 18:43:15.025 PRÉCIS: [1933] org.jitsi.videobridge.xmpp.ComponentImpl.processIQ() (serving component ‘JitsiVideobridge’) Processing IQ (packetId IJ696-124):
JVB 2020-03-11 18:43:18.477 INFOS: [26] org.jitsi.videobridge.Videobridge.log() CAT=stat create_conf,conf_id=71b0f2226f70d3d conf_name=null,logging=false,conf_count=1,ch_count=0,v_streams=0
JVB 2020-03-11 18:43:18.524 INFOS: [26] org.jitsi.videobridge.health.Health.log() Performed a successful health check in 47ms. Sticky failure: false

I suppose something is misconfigured.

Any idea ?

Best regards,

JB

How do you modify jicofo.sh to use Java 8? I’m wondering if it will solve my issue too.

Replace java invocation in last line of file. For example:

LD_LIBRARY_PATH=$libs exec /usr/lib/jvm/java-8-openjdk-amd64/bin/java -Xmx3072m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp -Djava.library.path=$libs $LOGGING_CONFIG_PARAM $JAVA_SYS_PROPS -cp $cp $mainClass $@