Need help adding a video-bridge to jitsi-meet server

tutorial

#1

Hello, I have been following the tutorial for load-balancing my jitsi meet server by adding an extra videobridge - https://jitsi.org/news/tutorial-video-how-to-load-balance-jitsi-meet/

I am at the end of the tutorial and it seems that my connection to port 5347 is being refused when jicofo and jvb try to connect to it. Prosody seems to reload and boot up just fine. I can’t figure out what the problem is. I am running my jitsi meet server on aws, and I have port 5347 open in the security group. I have no firewall on the server. I have jitsi-meet installed on the main server via the manual set-up and it is running with jetty as it’s webserver. I previously had nginx running, but ran into the same problem I am having now.

here is the prosody log

Sep 25 18:10:17 mod_posix       info    Received SIGHUP
Sep 25 18:10:17 general info    Reloading configuration file
Sep 25 18:10:17 general info    Re-opening log files

however there we’re other logs when i restarted the server that showed this:

Sep 25 17:39:04 general info    Hello and welcome to Prosody version 0.9.10
Sep 25 17:39:04 general info    Prosody is using the select backend for connection handling
Sep 25 17:39:04 socket  warn    server.lua, [<my host ip address>]:5347: Cannot assign requested address
Sep 25 17:39:04 portmanager     error   Failed to open server port 5347 on <my host ip address>, Cannot assign requested address
Sep 25 17:39:04 portmanager     info    Activated service 'component' on no ports
Sep 25 17:39:04 portmanager     info    Activated service 's2s' on [::]:5269, [*]:5269
Sep 25 17:39:04 portmanager     info    Activated service 'c2s' on [::]:5222, [*]:5222
Sep 25 17:39:04 portmanager     info    Activated service 'legacy_ssl' on no ports
Sep 25 17:39:04 mod_posix       info    Prosody is about to detach from the console, disabling further console output
Sep 25 17:39:04 mod_posix       info    Successfully daemonized to PID 1287
Sep 25 17:39:04 portmanager     info    Activated service 'http' on [::]:5280, [*]:5280
Sep 25 17:39:04 portmanager     info    Activated service 'https' on [::]:5281, [*]:5281

here is the jicofo log

Jicofo 2018-09-25 18:28:39.363 SEVERE: [29] org.jitsi.meet.ComponentMain.call().323 java.net.ConnectException: Connection refused (Connection refused), host:<my host name>, port:5347
org.xmpp.component.ComponentException: java.net.ConnectException: Connection refused (Connection refused)
        at org.jivesoftware.whack.ExternalComponent.connect(ExternalComponent.java:296)
        at org.jivesoftware.whack.ExternalComponentManager.addComponent(ExternalComponentManager.java:242)
        at org.jivesoftware.whack.ExternalComponentManager.addComponent(ExternalComponentManager.java:222)
        at org.jitsi.meet.ComponentMain$3.call(ComponentMain.java:315)
        at org.jitsi.meet.ComponentMain$3.call(ComponentMain.java:300)
        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: java.net.ConnectException: Connection refused (Connection refused)
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
        at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
        at java.net.Socket.connect(Socket.java:589)
        at org.jivesoftware.whack.ExternalComponent.connect(ExternalComponent.java:174)
        ... 12 more

and the jvb log

VB 2018-09-25 18:32:06.665 SEVERE: [41] org.jitsi.meet.ComponentMain.call().323 java.net.ConnectException: Connection refused (Connection refused), host:<my host name>, port:5347
org.xmpp.component.ComponentException: java.net.ConnectException: Connection refused (Connection refused)
        at org.jivesoftware.whack.ExternalComponent.connect(ExternalComponent.java:296)
        at org.jivesoftware.whack.ExternalComponentManager.addComponent(ExternalComponentManager.java:242)
        at org.jivesoftware.whack.ExternalComponentManager.addComponent(ExternalComponentManager.java:222)
        at org.jitsi.meet.ComponentMain$3.call(ComponentMain.java:315)
        at org.jitsi.meet.ComponentMain$3.call(ComponentMain.java:300)
        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: java.net.ConnectException: Connection refused (Connection refused)
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
        at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
        at java.net.Socket.connect(Socket.java:589)
        at org.jivesoftware.whack.ExternalComponent.connect(ExternalComponent.java:174)
        ... 12 more

Thanks in advance. I am new to all of this, so any help would be really appreciated


#2

Maybe your prosody is only listening on localhost port 5347. netstat -anp | grep lua

You need to add to your main prosody config component_interface = "0.0.0.0"


#3

hey damencho, thanks for the reply!

here is the output of netstat -anp | grep lua

tcp        0      0 0.0.0.0:5280            0.0.0.0:*               LISTEN      1287/lua5.1
tcp        0      0 0.0.0.0:5281            0.0.0.0:*               LISTEN      1287/lua5.1
tcp        0      0 0.0.0.0:5222            0.0.0.0:*               LISTEN      1287/lua5.1
tcp        0      0 0.0.0.0:5269            0.0.0.0:*               LISTEN      1287/lua5.1
tcp6       0      0 :::5280                 :::*                    LISTEN      1287/lua5.1
tcp6       0      0 :::5281                 :::*                    LISTEN      1287/lua5.1
tcp6       0      0 :::5222                 :::*                    LISTEN      1287/lua5.1
tcp6       0      0 :::5269                 :::*                    LISTEN      1287/lua5.1

and here is part of my /etc/prosody/prosody.cfg.lua file

-- Prosody Example Configuration File
--
-- Information on configuring Prosody can be found on our
-- website at http://prosody.im/doc/configure
--
-- Tip: You can check that the syntax of this file is correct
-- when you have finished by running: luac -p prosody.cfg.lua
-- If there are any errors, it will let you know what and where
-- they are, otherwise it will keep quiet.
--
-- The only thing left to do is rename this file to remove the .dist ending, and fill in the
-- blanks. Good luck, and happy Jabbering!


---------- Server-wide settings ----------
-- Settings in this section apply to the whole server and are the default settings
-- for any virtual hosts

-- This is a (by default, empty) list of accounts that are admins
-- for the server. Note that you must create the accounts separately
-- (see http://prosody.im/doc/creating_accounts for info)
-- Example: admins = { "user1@example.com", "user2@example.net" }
admins = { }

component_ports = { 5347 }
# previously had component_interface = "my ip address"
component_interface = "0.0.0.0"

I also tried leaving both component_interfaces in the file at the same time, and that didn’t change anything either

The logs are still returning the same errors.

any other ideas? Again thanks a lot for your help


#4

That is strange I do not see prosody listening on port 5347 at all. Which version of prosody is this?


#5

Prosody version 0.9.10