[SOLVED] Running videobridge on seperate server

Hi there,

Right now i already installed jitsi on 1 server, and it works fine.

After that, i tried to separate the videobridge on other server.


red circle on 1 vm => VM A
blue circle on 1 vm => VM B

what i do on previous condition is:
on VM A, i stop the videobridge service, allow port 5347 on firewall, no additional config
on VM B, i install videobridge and then run it with this command:

/etc/init.d/jitsi-videobridge stop
/etc/init.d/jitsi-videobridge start --domain={{VM A DOMAIN}} --port=5347 --secret={{JVB SECRET ON VM A}} &

With this config, I got error when doing conference. I believe there must be something on VM A that should be configured to tell the prosody that the videobridge is in VM B (CMIIW). is there any doc regarding this? or anyone can help me?

I’m not sure that these params like that work. You need to edit /etc/jitsi/videobridge/config

You need to let jicofo discover the new bridge, the default time is 1 minute, or you can just restart jicofo when you start jvb.

oh okey, let me try that. thanks!!

stupid question:
what is the different between JVB hostname & jvb host? right now i assume
JVB hostname is the domain where the videobridge installed
JVB host is the domain where the prosody installed

is that right?

image

Yes, that’s right. JVB host can be and an ip address where to connect as a xmpp component, this is the address of the xmpp server.

Hostname is the domain you used when installing jitsi meet. But those settings you should already have on the first server, the only difference is that jvb host will be localhost or empty.

hmmm ok…

the jitsi still error, already restart the jocofo and prosody

Is there any additional config for jicofo and prosody?

jvb.log:

JVB 2019-04-29 06:25:19.731 SEVERE: [26] org.jitsi.meet.ComponentMain.call().323 java.net.ConnectException: Connection refused (Connection refused), host:localhost, po$
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
JVB 2019-04-29 06:25:20.681 SEVERE: [18] org.jitsi.videobridge.health.Health.log() Health check failed in 0ms:
java.lang.Exception: No XMPP components
        at org.jitsi.videobridge.health.Health.checkXmppConnection(Health.java:269)
        at org.jitsi.videobridge.health.Health.doCheck(Health.java:225)
        at org.jitsi.videobridge.health.Health.doRun(Health.java:495)
        at org.jitsi.util.concurrent.PeriodicRunnableWithObject.run(PeriodicRunnableWithObject.java:87)
        at org.jitsi.util.concurrent.RecurringRunnableExecutor.run(RecurringRunnableExecutor.java:216)
        at org.jitsi.util.concurrent.RecurringRunnableExecutor.runInThread(RecurringRunnableExecutor.java:292)
        at org.jitsi.util.concurrent.RecurringRunnableExecutor.access$000(RecurringRunnableExecutor.java:36)
        at org.jitsi.util.concurrent.RecurringRunnableExecutor$1.run(RecurringRunnableExecutor.java:328)
JVB 2019-04-29 06:25:24.731 SEVERE: [26] org.jitsi.meet.ComponentMain.call().323 java.net.ConnectException: Connection refused (Connection refused), host:localhost, po$
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)

jicofo.log:

Jicofo 2019-04-29 14:30:25.930 INFO: [67] org.jitsi.jicofo.xmpp.FocusComponent.handleConferenceIq().402 Focus request for room: room1@conference.ayoketemu.infrasvc.id
Jicofo 2019-04-29 14:30:25.940 INFO: [67] org.jitsi.jicofo.FocusManager.log() Created new focus for room1@conference.ayoketemu.infrasvc.id@auth.ayoketemu.infrasvc.id. $
Jicofo 2019-04-29 14:30:25.941 INFO: [67] org.jitsi.jicofo.JitsiMeetConferenceImpl.log() Lip-sync enabled in room1@conference.ayoketemu.infrasvc.id
Jicofo 2019-04-29 14:30:25.942 INFO: [67] org.jitsi.jicofo.JitsiMeetConferenceImpl.log() Joining the room: room1@conference.ayoketemu.infrasvc.id
Jicofo 2019-04-29 14:30:26.107 WARNING: [67] org.jitsi.xmpp.component.ComponentBase.verifyProcessingTime().540 PROCESSING TIME LIMIT EXCEEDED - it took 180ms to proces$
Jicofo 2019-04-29 14:30:26.168 INFO: [38] org.jitsi.jicofo.ChatRoomRoleAndPresence.log() Chat room event ChatRoomMemberPresenceChangeEvent[type=MemberJoined sourceRoom$
Jicofo 2019-04-29 14:30:26.171 INFO: [38] org.jitsi.jicofo.ChatRoomRoleAndPresence.log() Granted owner to room1@conference.ayoketemu.infrasvc.id/cdf11c52
Jicofo 2019-04-29 14:30:26.171 INFO: [38] org.jitsi.jicofo.JitsiMeetConferenceImpl.log() Member room1@conference.ayoketemu.infrasvc.id/cdf11c52 joined.
Jicofo 2019-04-29 14:31:25.372 INFO: [38] org.jitsi.jicofo.ChatRoomRoleAndPresence.log() Chat room event ChatRoomMemberPresenceChangeEvent[type=MemberLeft sourceRoom=o$
Jicofo 2019-04-29 14:31:25.373 INFO: [38] org.jitsi.jicofo.ChatRoomRoleAndPresence.log() Owner has left the room !
Jicofo 2019-04-29 14:31:25.373 INFO: [38] org.jitsi.jicofo.JitsiMeetConferenceImpl.log() Member room1@conference.ayoketemu.infrasvc.id/cdf11c52 is leaving
Jicofo 2019-04-29 14:31:25.373 WARNING: [38] org.jitsi.jicofo.JitsiMeetConferenceImpl.log() Participant not found for room1@conference.ayoketemu.infrasvc.id/cdf11c52 t$
Jicofo 2019-04-29 14:31:25.377 INFO: [38] org.jitsi.jicofo.FocusManager.log() Disposed conference for room: room1@conference.ayoketemu.infrasvc.id conference count: 0
Jicofo 2019-04-29 14:31:27.126 INFO: [72] org.jitsi.jicofo.xmpp.FocusComponent.handleConferenceIq().402 Focus request for room: room1@conference.ayoketemu.infrasvc.id
Jicofo 2019-04-29 14:31:27.126 INFO: [72] org.jitsi.jicofo.FocusManager.log() Created new focus for room1@conference.ayoketemu.infrasvc.id@auth.ayoketemu.infrasvc.id. $
Jicofo 2019-04-29 14:31:27.126 INFO: [72] org.jitsi.jicofo.JitsiMeetConferenceImpl.log() Lip-sync enabled in room1@conference.ayoketemu.infrasvc.id
Jicofo 2019-04-29 14:31:27.127 INFO: [72] org.jitsi.jicofo.JitsiMeetConferenceImpl.log() Joining the room: room1@conference.ayoketemu.infrasvc.id
Jicofo 2019-04-29 14:31:27.214 INFO: [38] org.jitsi.jicofo.ChatRoomRoleAndPresence.log() Chat room event ChatRoomMemberPresenceChangeEvent[type=MemberJoined sourceRoom$
Jicofo 2019-04-29 14:31:27.216 INFO: [38] org.jitsi.jicofo.ChatRoomRoleAndPresence.log() Granted owner to room1@conference.ayoketemu.infrasvc.id/5d77acc2
Jicofo 2019-04-29 14:31:27.216 INFO: [38] org.jitsi.jicofo.JitsiMeetConferenceImpl.log() Member room1@conference.ayoketemu.infrasvc.id/5d77acc2 joined.
Jicofo 2019-04-29 14:33:32.578 INFO: [38] org.jitsi.jicofo.ChatRoomRoleAndPresence.log() Chat room event ChatRoomMemberPresenceChangeEvent[type=MemberLeft sourceRoom=o$
Jicofo 2019-04-29 14:33:32.578 INFO: [38] org.jitsi.jicofo.ChatRoomRoleAndPresence.log() Owner has left the room !
Jicofo 2019-04-29 14:33:32.578 INFO: [38] org.jitsi.jicofo.JitsiMeetConferenceImpl.log() Member room1@conference.ayoketemu.infrasvc.id/5d77acc2 is leaving
Jicofo 2019-04-29 14:33:32.578 WARNING: [38] org.jitsi.jicofo.JitsiMeetConferenceImpl.log() Participant not found for room1@conference.ayoketemu.infrasvc.id/5d77acc2 t$
Jicofo 2019-04-29 14:33:32.580 INFO: [38] org.jitsi.jicofo.FocusManager.log() Disposed conference for room: room1@conference.ayoketemu.infrasvc.id conference count: 0
Jicofo 2019-04-29 14:33:36.135 INFO: [65] org.jitsi.jicofo.xmpp.FocusComponent.handleConferenceIq().402 Focus request for room: room1@conference.ayoketemu.infrasvc.id
Jicofo 2019-04-29 14:33:36.135 INFO: [65] org.jitsi.jicofo.FocusManager.log() Created new focus for room1@conference.ayoketemu.infrasvc.id@auth.ayoketemu.infrasvc.id. $
Jicofo 2019-04-29 14:33:36.136 INFO: [65] org.jitsi.jicofo.JitsiMeetConferenceImpl.log() Lip-sync enabled in room1@conference.ayoketemu.infrasvc.id
Jicofo 2019-04-29 14:33:36.136 INFO: [65] org.jitsi.jicofo.JitsiMeetConferenceImpl.log() Joining the room: room1@conference.ayoketemu.infrasvc.id
Jicofo 2019-04-29 14:33:36.284 INFO: [38] org.jitsi.jicofo.ChatRoomRoleAndPresence.log() Chat room event ChatRoomMemberPresenceChangeEvent[type=MemberJoined sourceRoom$
Jicofo 2019-04-29 14:33:36.286 INFO: [38] org.jitsi.jicofo.ChatRoomRoleAndPresence.log() Granted owner to room1@conference.ayoketemu.infrasvc.id/495fbaf0
Jicofo 2019-04-29 14:33:36.286 INFO: [38] org.jitsi.jicofo.JitsiMeetConferenceImpl.log() Member room1@conference.ayoketemu.infrasvc.id/495fbaf0 joined.
Jicofo 2019-04-29 14:34:27.734 INFO: [51] org.jitsi.jicofo.xmpp.FocusComponent.handleConferenceIq().402 Focus request for room: room1@conference.ayoketemu.infrasvc.id
Jicofo 2019-04-29 14:34:27.823 INFO: [38] org.jitsi.jicofo.ChatRoomRoleAndPresence.log() Chat room event ChatRoomMemberPresenceChangeEvent[type=MemberJoined sourceRoom$
Jicofo 2019-04-29 14:34:27.824 INFO: [38] org.jitsi.jicofo.JitsiMeetConferenceImpl.log() Member room1@conference.ayoketemu.infrasvc.id/c47b82a2 joined.
Jicofo 2019-04-29 14:34:27.832 SEVERE: [38] org.jitsi.jicofo.JitsiMeetConferenceImpl.log() Can not invite participant -- no bridge available.
Jicofo 2019-04-29 14:34:27.833 SEVERE: [38] org.jitsi.jicofo.JitsiMeetConferenceImpl.log() Can not invite participant -- no bridge available.
Jicofo 2019-04-29 14:34:28.521 INFO: [38] org.jitsi.jicofo.ChatRoomRoleAndPresence.log() Chat room event ChatRoomMemberPresenceChangeEvent[type=MemberLeft sourceRoom=o$
Jicofo 2019-04-29 14:34:28.521 INFO: [38] org.jitsi.jicofo.ChatRoomRoleAndPresence.log() Owner has left the room !

It is connection refused. Make sure prosody is listening on that interface you are trying to connect to and there is no firewall refusing the connection. This is port 3457, I think.

you mean 5347?

i see, you think the problem is the network, i’ll try to troubleshoot the network more. i’ll post the result later. thanks!

Yes, 5347.

still got nothing weird on the network stuff.

but 1 thing i notice is that prosody just listen on 5347 to localhost when i start the service, while other port listen to all ip. is that normal or maybe misconfigure on the prosody side?

This is the default prosody configuration. You can control the address where it listens with component_interface (component_interface = "0.0.0.0"; to listens to all): https://prosody.im/doc/components

hi can u inbox me i am having a problem on ->unfortunately something went wrong, we are trying to fix this, - i am a newbie

@Alice, first of all, you are hijacking someone’s thread. Are you trying to run videobridge on a separate server? If not, please create a new topic and ask your question there.

its okay - i am sorry

already add the config and restart the prosody.

image

but still no effect. it is still listening to localhost. hmmm…

This is a config that needs to go in the general section of the config, not in the component section. Open and add it in the beginning of /etc/prosody/prosody.cfg
In the documentation it is written -- Global config section --

oh sorry, okey2
done!

but know when i run the videobridge again, the log is like this:

host-unknown,

i assume it has wrong JVB_HOST configuration. i was trying to reconfigure the JVB_HOST using IP, it doesnt work either, any idea?

additional info, this is my jvb sip-comm configuration:

No this is not the JVB_HOST, but JVB_HOSTNAME. It connects and says to the server I’m ayo… host and server reply I do not have such configured component (host-unknown).
Make sure you use the same /etc/jitsi/videobridge/config file that is on server A just change JVB_HOST to be the ip address of the xmpp server.

done! it works! thx for your help @damencho!! :smiley: