JVB error: host-unknown, host:localhost, port:5347

Hallo folks,

after a fresh Jitsi installation I get this error in the JVG log files:

        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:285)
        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)
2020-03-31 18:57:12.918 INFORMATION: [18] Videobridge.createConference#326: create_conf, id=b54a0c101b83b49b gid=null logging=false
2020-03-31 18:57:12.926 INFORMATION: [18] Health.doRun#294: Performed a successful health check in 9ms. Sticky failure: false
2020-03-31 18:57:14.932 SCHWERWIEGEND: [28] ComponentMain.lambda$getConnectCallable$0#293: 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:285)
        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)

My current versions are:

➜  prosody git:(master) dpkg -l | grep 'jitsi\|prosody'
ii  jitsi-meet                      1.0.4335-1                  all          WebRTC JavaScript video conferences
ii  jitsi-meet-prosody              1.0.3928-1                  all          Prosody configuration for Jitsi Meet
ii  jitsi-meet-turnserver           1.0.3928-1                  all          Configures coturn to be used with Jitsi Meet
ii  jitsi-meet-web                  1.0.3928-1                  all          WebRTC JavaScript video conferences
ii  jitsi-meet-web-config           1.0.3928-1                  all          Configuration for web serving of Jitsi Meet
rc  jitsi-videobridge               1126-1                      amd64        WebRTC compatible Selective Forwarding Unit (SFU)
ii  jitsi-videobridge2              2.1-157-g389b69ff-1         all          WebRTC compatible Selective Forwarding Unit (SFU)
ii  prosody                         0.11.2-1                    amd64        Lightweight Jabber/XMPP server
➜  prosody git:(master) 

It seems to be a connection issue between JVB and Prosody. I cannot start any video conference.

Can somebody help?

Thanks

Mebus

Can you give more details?
What OS you installed on? Steps you follow? Prosody version?

Jvb tries to connect as component where this should be disabled, we are migrating away of using component for the bridge, and this migration should be handled by the install scripts.
Can you paste your /etc/jitsi/videobridge/config (mask sensitive data)? Have you touched that file by hand?

are there any other services runnig on the server that by accident also use jitse ports?

Hey damencho,

the underlying operating system is Debian 10. This is the content of /etc/jitsi/videobridge/config:

# Jitsi Videobridge settings

# sets the XMPP domain (default: none)
JVB_HOSTNAME=meet.example.com

# sets the hostname of the XMPP server (default: domain if set, localhost otherwise)
JVB_HOST=

# sets the port of the XMPP server (default: 5275)
JVB_PORT=5347

# sets the shared secret used to authenticate to the XMPP server
JVB_SECRET=12345

# extra options to pass to the JVB daemon
JVB_OPTS=""


# adds java system props that are passed to jvb (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=videobridge -Dnet.java.sip.communicator.SC_LOG_DIR_LOCATION=/var/log/jitsi -Djava.util.logging.config.file=/etc/jitsi/videobridge/logging.properties"

Mebus

There shouldn’t be any other services running on the server :relaxed:

Could it be that Prosody should think that JVB is connected from meet.example.com instead of localhost? Should JVB pass a Hostname for the VirtualHost in Prosody?

Mebus

all ports open on the firewall? 80 443 4443 10000
post webserver config

Hey,

firewall is all open, I deleted this stuff because auf certbot:

# this is jitsi-meet nginx module configuration
# this forward all http traffic to the nginx virtual host port
# and the rest to the turn server

stream {
    upstream web {
        server 127.0.0.1:4444;
    }
    upstream turn {
        server 127.0.0.1:4445;
    }
    # since 1.13.10
    map $ssl_preread_alpn_protocols $upstream {
        "h2"            web;
        "http/1.1"      web;
        "h2,http/1.1"   web;
        default         turn;
    }

    server {
        listen 443;

        # since 1.11.5
        ssl_preread on;
        proxy_pass $upstream;

        # Increase buffer to serve video
        proxy_buffer_size 10m;
    }
}

I think i need at least some of it? :stuck_out_tongue:

I am using this vhost config:

Mebus

From your post above it looks like you have port 443 in /etc/nginx/sites-enabled/[yourhostname].conf and in /etc/nginx/modules-enabled/60-jitsi-meet.conf. Are you?

Hi, I have the same problem but my nginx seems configured correctly (coturn is enable and nginx is configured to use it).

Everything work correctly, I can connect with multiple user, I can chat, I can share video…

I have only strange message in my /var/log/jitsi/jvb.log
2020-04-09 15:18:59.744 SEVERE: [36] ComponentMain.lambda$getConnectCallable$0#293: host-unknown, host:localhost, port:5347

I’m seeing these message every 5 second, even if there are no users connected in meetings !

Suggestion ?

thank you.

I could solve it by removing the api xmpp from /etc/jitsi/videobridge/config file, JVB_OPTS value, after enabling the stats.

The content of this value is now:

# extra options to pass to the JVB daemon
JVB_OPTS=" --apis=rest "

When it was set to…

# extra options to pass to the JVB daemon
JVB_OPTS=" --apis=rest,xmpp "

I had this problem.

Thank you, I confirm that when the xmpp parameter are removed the error message disappears.

1 Like

Why do these options break the videobridge?

Mebus

I’ve some of

Component "jvb-1.meet.example.com"
   component_secret = "s3cret"

And had to pass the subdomain to jvb-config

JVB_OPTS="--apis=rest,xmpp --subdomain=jvb-1"

Hi,

Does this changes stopped breaking videobridge? once in a while my video bridge crashes.

Can confirm the same problem and solution here.
After removing xmpp from the options line, the error messages are gone.

Something is broken in the Jitsi set up scripts, I had to add a videobridge section to my prosody configuration as described here: Host-unknown for videobridge [SOLVED] .

You can later verify this by doing:

tail -f /var/log/jitsi/jvb.log /var/log/prosody/prosody.log

Can confirm videobridge error " SEVERE: [31] ComponentMain.lambda$getConnectCallable$0#293: host-unknown, host:localhost, port:5347" stops in removing xmpp in videobridge config “JVB_OPTS=”–apis=rest,xmpp". Happens across bridges sharing videobridge to another machine. Error with actual domain names in sharing as well as local. Running three bridges and using telegraph and Grafana for logging. As if the XMPP server is inaccessible but he bridge but secrets are all the same and no firewall.
Thoughts?

I am just having the same issue here, and don’t really know, what can be done.

I was trying to configure grafana / telegraf monitoring via this great explanation:

the document explicitly tells us to add xmpp to the videobridge config file:
JVB_OPTS="--apis=rest,xmpp"

As soon as i do so, i will get that error in the logs:

2020-07-13 16:28:34.057 SEVERE: [36] ComponentMain.lambda$getConnectCallable$0#293: host-unknown, host:foo.bar, port:5347
org.xmpp.component.ComponentException: host-unknown

The error vanishes if xmpp is removed from that file again.
But Grafana won’t show any output without xmpp i presume, right?

I have a setup with 2 additional videobridges.

Any hint highly appreciated.
Thanks
Sascha

ok, forget it…seems the fix is to add a space after “rest,”:
JVB_OPTS="--apis=rest, xmpp"

No errors in the logs anymore.
However…still no values in grafana, but that might be something else.

Cheers
Sascha