Adding new JVB to already installed Jitsi-server bundle

Hi,
I have already installed Jitsi-Server, which have it’s own JVB.
Now I am trying to add new JVB vm, I am trying MUC approach.

Info I’ve got from forum so far is, Jitsi-server’s Jicofo (sip-communicator.prop) needs this line,
org.jitsi.jicofo.BRIDGE_MUC=JvbRoom@internal.subdomain.domain.com

(New JVB VM doesn’t have SSL cert or domain name)
Now newly installed JVB’s config(/etc/jitsi/videobridge/config)

JVB_HOSTNAME=subdomain.domain.com

JVB_HOST=subdomain.domain.com

JVB_PORT=5347

JVB_SECRET=same_as_1st_jvb

JVB_OPTS=–apis=rest,xmpp

newly installed JVB’s config/etc/jitsi/videobridge/sip-communicator.properties)

org.jitsi.videobridge.AUTHORIZED_SOURCE_REGEXP=focus@auth.subdomain.domain.com/.*
org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=new_jvb_vm_local_ip
org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=new_jvb_vm_public_ip
org.jitsi.videobridge.DISABLE_TCP_HARVESTER=true
org.jitsi.videobridge.xmpp.user.jvb2.HOSTNAME=subdomain.domain.com
org.jitsi.videobridge.xmpp.user.jvb2.DOMAIN=auth.subdomain.domain.com
#org.jitsi.videobridge.xmpp.user.jvb2.USERNAME=jvb
#org.jitsi.videobridge.xmpp.user.jvb2.PASSWORD=some_pass
org.jitsi.videobridge.xmpp.user.jvb2.MUC_JIDS=JvbRoom@internal.subdomain.domain.com
org.jitsi.videobridge.xmpp.user.jvb2.MUC=JvbRoom@internal.subdomain.domain.com
org.jitsi.videobridge.xmpp.user.jvb2.MUC_NICKNAME=jvb-2
org.jitsi.videobridge.xmpp.user.jvb2.DISABLE_CERTIFICATE_VERIFICATION=true

LOGS on JVB

JVB 2019-08-22 11:53:54.366 SEVERE: [34] org.jitsi.xmpp.mucclient.MucClientManager.log() Failed to initialize and start a MucClient:
org.jivesoftware.smack.sasl.SASLErrorException: SASLError using SCRAM-SHA-1: not-authorized
at org.jivesoftware.smack.SASLAuthentication.authenticationFailed(SASLAuthentication.java:292)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(XMPPTCPConnection.java:1100)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.access$300(XMPPTCPConnection.java:1000)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader$1.run(XMPPTCPConnection.java:1016)
at java.lang.Thread.run(Thread.java:748)
JVB 2019-08-22 11:53:58.972 SEVERE: [37] org.jitsi.meet.ComponentMain.call().299 conflict, host:subdomain.domain.com, port:5347
org.xmpp.component.ComponentException: conflict
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$3.call(ComponentMain.java:291)
at org.jitsi.meet.ComponentMain$3.call(ComponentMain.java:276)
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)
JVB 2019-08-22 11:54:03.977 SEVERE: [37] org.jitsi.meet.ComponentMain.call().299 conflict, host:subdomain.domain.com, port:5347

What am I missing?

Hi,

The bridge has two different ways to connect to an XMPP server – as a component and as a user. To use multiple bridges with one jicofo, you need the MUC functionality, which in turn requires the XMPP user connection.

The errors you see are from the XMPP component connection, which fails because another component (the other bridge) is already connected. You can ignore the errors, or disable the XMPP component mode by removing the “xmpp” api from /etc/jitsi/videobridge/config.

The configuration of the XMPP user connection is in the properties file (the “xmpp” api in “config” is unrelated). As far as I can see your configuration is correct. You should see something like this:
JVB 2019-08-22 08:10:35.482 INFO: [45] org.jitsi.xmpp.mucclient.MucClient.log() [MucClient id=jvb2 hostname=auth.subdomain.domain.com] connected
JVB 2019-08-22 08:10:35.550 INFO: [45] org.jitsi.xmpp.mucclient.MucClient.log() Joined MUC: jvbroom@internal.auth.subdomain.domain.com

Hope this helps,

Boris

Hi @Boris_Grozev , now JVB is connected to MUC, but now only thing remained is that org.jivesoftware.smack.sasl.SASLErrorException: SASLError using SCRAM-SHA-1: not-authorized error,
I checked in prosody,
Aug 23 06:18:05 jitsi-videobridge.subdomain.domain.com:component warn Component not connected, bouncing error for:
I think JVB is not being authenticated. The username/password we have provided in config, do we have to update them in prosody somewhere?

I checked Can not invite participant -- no bridge available, also have same problem, but it’s last question is unanswered, I will update both threads once issue solves.

Thanks in advance.

Hi,

You need to create an account on prosody for the second bridge. You
can do so with prosodyctl register USER DOMAIN PASSWORD.

Boris

Yes I did create user recently,
Both JVB able to join room,
I did face one problem though when both JVB are conneced to brewery room, jicofo was not able to, it was trying to create brewery room and failing with error forbidden auth.
But I stopped both JVB and then restarted jicofo, now jicofo is able to join room, I again started JVBs.

But still jicofo is throwing error and user’s not able to join conference
Jicofo 2019-08-23 11:48:59.583 SEVERE: [37] org.jitsi.jicofo.JitsiMeetConferenceImpl.log() Can not invite participant – no bridge available.
Jicofo 2019-08-23 11:48:59.583 SEVERE: [37] org.jitsi.jicofo.JitsiMeetConferenceImpl.log() Can not invite participant – no bridge available.