How to add the secondary jvb to main jitsi-server

Is the architecture in your diagram implemented? How can information synchronization be achieved between jms, or can a jvb point to multiple JM servers? Thank you

螢幕快照 2020-03-18 上午11.56.53
I followed this thread to setup second jvb connecting to the main meet server.

Quick install, therefore using Prosody 0.9.10.
On meet server stopped the jvb,

my second jvb from different VM seems connected to meet server OK.
2 people is working fine because P2P
3 people failed but Jicofo DID find the second jvb since no complains in log and browser js console.

Jicofo complains:
Failed to allocate channels, will consider the bridge faulty.

Is there other ports need to be opened to allow meet(w/ Jicofo) to connect to the 2nd jvb?

Second jvb should have accessible port 10000 and also its private and public address configured.

2nd jvb is not next the 1st meet server, but in google cloud for scaling group.

listening ports
443 tcp
8080 tcp for /colibri/stats
10000-20000 udp for media

documents said need ICE setup to promote its public IP ?

Hi Boris for this configuration in the other machine where i installed only jitsi-videobridge which conf i must put in the videobridge config?

I have both 1st videobridge and 2nd videobridge connected to 1st machine.
jicofo.log showed “Added videobridge” of 1st & 2nd videobridge

P2P works but still failed when 3rd people join the meet.
but no SEVERE logs in jicofo.log nor jvb.log

Is there other setting i’m missing ??

Just a quick summary of what I have done in my setup to get it working. If I get a confirmation that this is the way it is supposed to work, I am going to add a page to the Wiki as I did with the LDAP authentication.

Note: This setup is meant to be done with the current (2020-03-31) stable version of Jitsi that includes videbridge2.

On the main instance which consists of the basic Jitsi installation, add a file /etc/prosody/conf.avail/interface.cfg.lua with the following content:

-- https://prosody.im/doc/components#adding_an_external_component
component_interface = "0.0.0.0"

This allows prosody to listen on all local interfaces, including loopback.

Note: If you specify a fixed IP there, you will have to modify all local jitsi services to connect to this IP / hostname. Since the local hostname jitsi.example.com usually points to 127.0.0.1, this might require some work. Listening on 0.0.0.0 allows the services to connect to any interface.

Question: Do I have to firewall prosody ports and allow only the additional bridges to connect to port 5347 after doing so or is everything required to authenticate by default (and therfore safe)?

Enable the new prosody configuration by linking it to the main config directory and restarting prosody:

sudo ln -sf /etc/prosody/conf.avail/interface.cfg.lua /etc/prosody/conf.d/
sudo service prosody restart

To add extra bridges install just the jitsi-videobridge2 package on those systems. When told that The jisti-videobridge package needs the DNS hostname of your instance, enter the same hostname you did as for the main instance - in my case jitsi.example.com.

Change or add the following values in /etc/jitsi/videobridge/sip-communicator.properties. You can find the correct <password> in the same file on the main instance.

org.jitsi.videobridge.xmpp.user.shard.HOSTNAME=jitsi.example.com
org.jitsi.videobridge.xmpp.user.shard.PASSWORD=<password>
org.jitsi.videobridge.xmpp.user.shard.DISABLE_CERTIFICATE_VERIFICATION=true

Question: is there an option to avoid disabling the certificate verification? I’m guessing some self-signed certs are required to be transferred from the main instance?
Question: What about settings like JVB_HOST, JVB_SECRET in /etc/jitsi/videobridge/config? Do they need to be updated? Others?

Finally restart the service on the new videobridge:

sudo service jitsi-videobridge2 restart

TODO: Add some information on how to check if its working. I just got multiple teams of three (so they don’t use a p2p connection) and watched the videobridge logs.

3 Likes

Debug with chrome://webrtc-internals/

I found the reason for no video and no error in jvb.log

is that
in setRemoteDescription, the a=candidate is still suggesting a private IP
even after I set the /etc/jitsi/videobridge/sip-communicator.properties
org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=my_private_ip
org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=my_public_ip
and still won’t work after restart /etc/init.d/jitsi-videobridge restart

:stuck_out_tongue_closed_eyes:
I finally resolved the issue looking into jvb.log line by line and found a permission issue.

chown jvb:jitsi /etc/jitsi/videobridge/sip-communicator.properties

because i backup sip-communicator.properties (root:root) before upgrading the jitsi-meet
now ice4j can work properly and add candidate

a=candidate:2 1 ssltcp 1694498815 {mypublicip} 4443 typ srflx raddr {myprivateip} rport 4443 generation 0

:sweat_smile:

I’m sorry but which configuration is valid today? Since this is a quite long discussion I cannot find which one is the latest and works.

Is this above still valid? -> How to add the secondary jvb to main jitsi-server
Or this one? -> How to add the secondary jvb to main jitsi-server

This one. :wink:

1 Like

Hi guys and thank you a lot for your nice work.
I have my jitsi with 2 jibri machine and it works well.
But when I have added a secondary video bridge, app’s users sometimes (always when recording) can’t see no more chrome’s users and vice versa. When recording finishes all returns well (in rec jitsi app’s people are not appearing), do you know if there’s an additional setting for this in secondary videobridge and / or in jibri machine?
My post ref: https://community.jitsi.org/t/config-4-videobridge-and-2-jibri/53105

I added a second video bridge on a different machine (say, JVB)
My primary machine has Jitsi Meet Server (say, JMS)

Now all configurations above configure JVB instance. How does the JMS instance know that a new JVB server has been added. Is there some configuration that I need to change on the primary Jitsi Meet instance that connects the JVB instance to it, and allows jicofo to distribute conferences between my primary instance and the JVB instance.

If someone can point to the detailed instructions that would be very useful.
How does the primary

My issue is now resolved, it was a TCP permission issue. The new way of connecting the JVB is very easy and intuitive.

1 Like