Load balancing in jitsi meet


#1

1- Working of JVB.
2- Can i create more than one JVB instance on one machine.


#2

Why would you need that?


#3

I done a web application with the help of jitsi meet api and functionality is video and audio call,screen share with system and mic audio, and also recording.

When 32 user use this application at the time with audio or video calling then this application is running(working) good. But i’m use screen share then my web application is video or audio quality is decrease.

Question.
1 - what is the server configuration for more than 100 user use at the time.
2 - All this functionality is possible with one JVB use one server machine.


#4

What is the browser you use and its version? About screensharing what is the problems that you see?

It is possible that one server handle 100 or more participants. The most important is network connectivity, this is why there is no point of running more than one jvb instances on the same machine, better spread jvb instances on different machines having good connectivity.

The default configuration will use the same jvb for all participants in one conference, there is also an option to spread them across different jvb instances and different geolocations https://jitsi.org/news/jitsi-meet-now-with-geographical-bridge-cascading/


#5

I have two machine first is my local server machine and second is amazon machine.
than on the first machine 103.249.237.9 is my main server of jitsi meet
and second is enggheads.net So i’m install on this machine JVB and configure with main server machine. And i’m configure with the help of youtube video(load balancing) but this is not working.

prosody logs:-

Jan 07 17:48:06 general info Re-opening log files
Jan 07 17:48:13 mod_posix warn Received SIGTERM
Jan 07 17:48:13 general info Shutting down: Received SIGTERM
Jan 07 17:48:13 general info Shutting down…
Jan 07 17:48:13 general info Shutdown status: Cleaning up
Jan 07 17:48:13 general info Shutdown complete
Jan 07 17:48:13 general info Hello and welcome to Prosody version 0.9.10
Jan 07 17:48:13 general info Prosody is using the select backend for connection handling
Jan 07 17:48:16 socket warn server.lua, [enggheads.net]:5347: Cannot assign requested address
Jan 07 17:48:16 portmanager error Failed to open server port 5347 on enggheads.net, Cannot assign requested address
Jan 07 17:48:16 portmanager info Activated service ‘component’ on no ports
Jan 07 17:48:16 portmanager info Activated service ‘s2s’ on [::]:5269, :5269
Jan 07 17:48:17 portmanager info Activated service ‘c2s’ on [::]:5222, :5222
Jan 07 17:48:17 portmanager info Activated service ‘legacy_ssl’ on no ports
Jan 07 17:48:17 mod_posix info Prosody is about to detach from the console, disabling further console output
Jan 07 17:48:17 mod_posix info Successfully daemonized to PID 14821
Jan 07 17:48:17 portmanager info Activated service ‘http’ on [::]:5280, :5280
Jan 07 17:48:17 portmanager info Activated service ‘https’ on [::]:5281, :5281

jicofo log
Jicofo 2019-01-07 17:54:23.309 INFO: [10] org.eclipse.jetty.server.AbstractConnector.doStart() Started SelectChannelConnector@0.0.0.0:8888
Jicofo 2019-01-07 17:54:23.315 INFO: [1] org.jitsi.impl.configuration.ConfigurationServiceImpl.log() org.jitsi.focus.STATS_PUBSUB_NODE=sharedStatesNode
Jicofo 2019-01-07 17:54:23.315 INFO: [1] org.jitsi.impl.configuration.ConfigurationServiceImpl.log() org.jitsi.focus.pubsub.ADDRESS=103.249.237.9
Jicofo 2019-01-07 17:54:23.328 INFO: [1] org.jitsi.xmpp.component.ComponentBase.loadConfig().202 Component org.jitsi.jicofo. config:
Jicofo 2019-01-07 17:54:23.328 INFO: [1] org.jitsi.xmpp.component.ComponentBase.loadConfig().203 ping interval: 10000 ms
Jicofo 2019-01-07 17:54:23.328 INFO: [1] org.jitsi.xmpp.component.ComponentBase.loadConfig().204 ping timeout: 5000 ms
Jicofo 2019-01-07 17:54:23.328 INFO: [1] org.jitsi.xmpp.component.ComponentBase.loadConfig().205 ping threshold: 3
Jicofo 2019-01-07 17:54:25.335 SEVERE: [29] org.jitsi.meet.ComponentMain.call().323 java.net.SocketTimeoutException: connect timed out, host:103.249.237.9, port:5347
org.xmpp.component.ComponentException: java.net.SocketTimeoutException: connect timed out
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.SocketTimeoutException: connect timed out
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 log:-

JVB 2019-01-07 17:56:56.784 INFO: [10] org.jitsi.rest.MuxServerConnector.doStart() Started MuxServerConnector@39466ce9{HTTP/1.1}{0.0.0.0:8080}
JVB 2019-01-07 17:56:56.789 INFO: [10] org.eclipse.jetty.server.Server.doStart() Started @1936ms
JVB 2019-01-07 17:56:56.897 INFO: [10] org.eclipse.jetty.server.Server.doStart() jetty-9.2.10.v20150310
JVB 2019-01-07 17:56:56.899 INFO: [10] org.eclipse.jetty.server.handler.ContextHandler.doStart() Started o.e.j.s.h.ContextHandler@55fca108{/,null,AVAILABLE}
JVB 2019-01-07 17:56:56.915 INFO: [10] org.eclipse.jetty.server.handler.ContextHandler.doStart() Started o.e.j.s.ServletContextHandler@3de69538{/,null,AVAILABLE}
JVB 2019-01-07 17:56:57.257 INFO: [10] org.jitsi.rest.MuxServerConnector.doStart() Started MuxServerConnector@66f30998{SSL-http/1.1}{:::443}
JVB 2019-01-07 17:56:57.258 INFO: [10] org.eclipse.jetty.server.Server.doStart() Started @2409ms
JVB 2019-01-07 17:56:57.261 INFO: [10] org.eclipse.jetty.server.Server.doStart() jetty-9.2.10.v20150310
JVB 2019-01-07 17:56:57.278 WARNING: [10] org.eclipse.jetty.util.component.AbstractLifeCycle.setFailed() FAILED MuxServerConnector@1763c999{HTTP/1.1}{0.0.0.0:80}: java.net.SocketException: Operation not permitted
java.net.SocketException: Operation not permitted
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:433)
at sun.nio.ch.Net.bind(Net.java:425)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at org.ice4j.socket.MuxServerSocketChannelFactory.openAndBindServerSocketChannel(MuxServerSocketChannelFactory.java:261)
at org.ice4j.socket.jdk8.MuxingServerSocketChannel.openAndBind(MuxingServerSocketChannel.java:295)
at org.ice4j.socket.jdk8.MuxServerSocketChannel.openAndBind(MuxServerSocketChannel.java:64)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.ice4j.socket.MuxServerSocketChannelFactory.openAndBindMuxServerSocketChannel(MuxServerSocketChannelFactory.java:181)
at org.jitsi.rest.MuxServerConnector.open(MuxServerConnector.java:170)
at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:80)
at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:236)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at org.eclipse.jetty.server.Server.doStart(Server.java:366)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at org.jitsi.rest.AbstractJettyBundleActivator.doStart(AbstractJettyBundleActivator.java:215)
at org.jitsi.rest.AbstractJettyBundleActivator.start(AbstractJettyBundleActivator.java:566)
at org.jitsi.videobridge.rest.PublicClearPortRedirectBundleActivator.start(PublicClearPortRedirectBundleActivator.java:127)
at org.jitsi.impl.osgi.framework.BundleImpl.start(BundleImpl.java:307)
at org.jitsi.impl.osgi.framework.launch.FrameworkImpl.startLevelChanged(FrameworkImpl.java:472)
at org.jitsi.impl.osgi.framework.startlevel.FrameworkStartLevelImpl$Command.run(FrameworkStartLevelImpl.java:137)
at org.jitsi.impl.osgi.framework.AsyncExecutor.runInThread(AsyncExecutor.java:122)
at org.jitsi.impl.osgi.framework.AsyncExecutor.access$000(AsyncExecutor.java:28)
at org.jitsi.impl.osgi.framework.AsyncExecutor$1.run(AsyncExecutor.java:231)
JVB 2019-01-07 17:56:57.279 WARNING: [10] org.eclipse.jetty.util.component.AbstractLifeCycle.setFailed() FAILED org.eclipse.jetty.server.Server@24c70b9b: java.net.SocketException: Operation not permitted
java.net.SocketException: Operation not permitted
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:433)
at sun.nio.ch.Net.bind(Net.java:425)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at org.ice4j.socket.MuxServerSocketChannelFactory.openAndBindServerSocketChannel(MuxServerSocketChannelFactory.java:261)
at org.ice4j.socket.jdk8.MuxingServerSocketChannel.openAndBind(MuxingServerSocketChannel.java:295)
at org.ice4j.socket.jdk8.MuxServerSocketChannel.openAndBind(MuxServerSocketChannel.java:64)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.ice4j.socket.MuxServerSocketChannelFactory.openAndBindMuxServerSocketChannel(MuxServerSocketChannelFactory.java:181)
at org.jitsi.rest.MuxServerConnector.open(MuxServerConnector.java:170)
at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:80)
at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:236)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at org.eclipse.jetty.server.Server.doStart(Server.java:366)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at org.jitsi.rest.AbstractJettyBundleActivator.doStart(AbstractJettyBundleActivator.java:215)
at org.jitsi.rest.AbstractJettyBundleActivator.start(AbstractJettyBundleActivator.java:566)
at org.jitsi.videobridge.rest.PublicClearPortRedirectBundleActivator.start(PublicClearPortRedirectBundleActivator.java:127)
at org.jitsi.impl.osgi.framework.BundleImpl.start(BundleImpl.java:307)
at org.jitsi.impl.osgi.framework.launch.FrameworkImpl.startLevelChanged(FrameworkImpl.java:472)
at org.jitsi.impl.osgi.framework.startlevel.FrameworkStartLevelImpl$Command.run(FrameworkStartLevelImpl.java:137)
at org.jitsi.impl.osgi.framework.AsyncExecutor.runInThread(AsyncExecutor.java:122)
at org.jitsi.impl.osgi.framework.AsyncExecutor.access$000(AsyncExecutor.java:28)
at org.jitsi.impl.osgi.framework.AsyncExecutor$1.run(AsyncExecutor.java:231)
JVB 2019-01-07 17:56:57.279 SEVERE: [10] org.jitsi.rest.AbstractJettyBundleActivator.doStart().222 Failed to initialize and/or start a new Jetty HTTP(S) server instance.
java.net.SocketException: Operation not permitted
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:433)
at sun.nio.ch.Net.bind(Net.java:425)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at org.ice4j.socket.MuxServerSocketChannelFactory.openAndBindServerSocketChannel(MuxServerSocketChannelFactory.java:261)
at org.ice4j.socket.jdk8.MuxingServerSocketChannel.openAndBind(MuxingServerSocketChannel.java:295)
at org.ice4j.socket.jdk8.MuxServerSocketChannel.openAndBind(MuxServerSocketChannel.java:64)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.ice4j.socket.MuxServerSocketChannelFactory.openAndBindMuxServerSocketChannel(MuxServerSocketChannelFactory.java:181)
at org.jitsi.rest.MuxServerConnector.open(MuxServerConnector.java:170)
at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:80)
at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:236)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at org.eclipse.jetty.server.Server.doStart(Server.java:366)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at org.jitsi.rest.AbstractJettyBundleActivator.doStart(AbstractJettyBundleActivator.java:215)
at org.jitsi.rest.AbstractJettyBundleActivator.start(AbstractJettyBundleActivator.java:566)
at org.jitsi.videobridge.rest.PublicClearPortRedirectBundleActivator.start(PublicClearPortRedirectBundleActivator.java:127)
at org.jitsi.impl.osgi.framework.BundleImpl.start(BundleImpl.java:307)
at org.jitsi.impl.osgi.framework.launch.FrameworkImpl.startLevelChanged(FrameworkImpl.java:472)
at org.jitsi.impl.osgi.framework.startlevel.FrameworkStartLevelImpl$Command.run(FrameworkStartLevelImpl.java:137)
at org.jitsi.impl.osgi.framework.AsyncExecutor.runInThread(AsyncExecutor.java:122)
at org.jitsi.impl.osgi.framework.AsyncExecutor.access$000(AsyncExecutor.java:28)
at org.jitsi.impl.osgi.framework.AsyncExecutor$1.run(AsyncExecutor.java:231)
JVB 2019-01-07 17:56:57.280 WARNING: [10] org.jitsi.videobridge.rest.PublicClearPortRedirectBundleActivator.log() Could not start redirect from clear port(80) to secure port:Operation not permitted
JVB 2019-01-07 17:56:57.632 INFO: [10] org.jitsi.videobridge.util.UlimitCheck.log() Running with open files limit 65000 (hard 65000), thread limit 65000 (hard 65000).
JVB 2019-01-07 17:56:57.632 INFO: [10] org.jitsi.videobridge.VideobridgeExpireThread.log() Starting with 60 second interval.
JVB 2019-01-07 17:56:57.636 INFO: [10] org.jitsi.videobridge.Videobridge.log() Authorized source regexp: focus@auth.103.249.237.9/.*


#6

Chrome browser use in testing time and in screen share time video quality is decrease and buffering video at userend.
1 - what is the main problem’s and how it is solved.


#7

You need to fix this and then restart jvb. You need to specify the ip address that is locally available to the machine running prosody not a dns, more info: https://prosody.im/doc/components
If this is on aws you also need to forward that port in the security group.

And the jvb on the prosody machine also needs an update in the config about the address and not using localhost as JVB_HOST and a restart of course.


#8

On amozon machine install jvb with enggheads.net domain name.
and all configuration is complete with load balancing youtube video.

enggheads.net machine jvb log:-

JVB 2019-01-08 05:33:49.857 INFO: [1] org.jitsi.impl.configuration.ConfigurationServiceImpl.log() org.jitsi.videobridge.AUTHORIZED_SOURCE_REGEXP=focus@auth.enggheads.net/.*
JVB 2019-01-08 05:33:49.857 INFO: [1] org.jitsi.impl.configuration.ConfigurationServiceImpl.log() org.jitsi.videobridge.ENABLE_STATISTICS=true
JVB 2019-01-08 05:33:49.857 INFO: [1] org.jitsi.impl.configuration.ConfigurationServiceImpl.log() org.jitsi.videobridge.PUBSUB_SERVICE=103.249.237.9
JVB 2019-01-08 05:33:49.858 INFO: [1] org.jitsi.impl.configuration.ConfigurationServiceImpl.log() org.jitsi.videobridge.PUBSUB_NODE=sharedStatsNode
JVB 2019-01-08 05:33:49.858 INFO: [1] org.jitsi.impl.configuration.ConfigurationServiceImpl.log() org.jitsi.videobridge.STATISTICS_TRANSPORT=pubsub
JVB 2019-01-08 05:33:49.867 SEVERE: [43] org.jitsi.meet.ComponentMain.call().323 java.net.ConnectException: Connection refused (Connection refused), host:enggheads.net, port:5347

Now how can i solved it.


#9
at org.jivesoftware.whack.ExternalComponent.connect(ExternalComponent.java:174)
... 12 more

JVB 2019-01-08 06:40:39.467 INFO: [29] org.jitsi.videobridge.IceUdpTransportManager.log() Using component socket: true
JVB 2019-01-08 06:40:39.470 INFO: [29] org.ice4j.ice.harvest.AbstractUdpListener.() Initialized AbstractUdpListener with address 172.31.4.179:10000/udp. Receive buffer size 10485760 (asked for 10485760)
JVB 2019-01-08 06:40:39.470 INFO: [29] org.ice4j.ice.harvest.SinglePortUdpHarvester.() Initialized SinglePortUdpHarvester with address 172.31.4.179:10000/udp
JVB 2019-01-08 06:40:39.472 INFO: [29] org.ice4j.ice.harvest.AbstractTcpListener.addLocalAddresses() Not using link-local address /fe80:0:0:0:31:2eff:fe13:5bba%eth0 for TCP candidates.
JVB 2019-01-08 06:40:39.473 WARNING: [29] org.jitsi.videobridge.IceUdpTransportManager.log() Failed to initialize TCP harvester on port 443: java.net.SocketException: Permission denied. Retrying on port 4443.
JVB 2019-01-08 06:40:39.473 INFO: [29] org.ice4j.ice.harvest.AbstractTcpListener.addLocalAddresses() Not using link-local address /fe80:0:0:0:31:2eff:fe13:5bba%eth0 for TCP candidates.
JVB 2019-01-08 06:40:39.476 INFO: [29] org.jitsi.videobridge.IceUdpTransportManager.log() Initialized TCP harvester on port 4443, using SSLTCP:true
JVB 2019-01-08 06:40:39.514 INFO: [29] org.jitsi.videobridge.health.Health.log() Performed a successful health check in 714ms. Sticky failure: false


#10

Did you try what I said? Check prosody to listen for port 5347 on the public interface and make the two jvbs connect to it.


#11

Another question,
i’m very confuse by load balancing youtube video.
In second machine i’m install JVB by the

apt-get -y install jitsi-videobridge

and ask DNS name so which DNS name use for install second JVB
main server machine DNS name or Second JVB machine DNS name.

because youtube video use main server DNS name to install second JVB.


#12

yes i’m try

– Plugins path gets uncommented during jitsi-meet-tokens package install - that’s where token plugin is located
–plugin_paths = { “/usr/share/jitsi-meet/prosody-plugins/” }

VirtualHost “103.249.237.9”
– enabled = false – Remove this line to enable this host
authentication = “anonymous”
admins = {
“jitsi-videobridge.103.249.237.9”,
videobridge2.enggheads.net”,
}
– Properties below are modified by jitsi-meet-tokens package config
– and authentication above is switched to “token”
–app_id=“example_app_id”
–app_secret=“example_app_secret”
– Assign this host a certificate for TLS, otherwise it would use the one
– set in the global section (if any).
– Note that old-style SSL on port 5223 only supports one certificate, and will always
– use the global one.
ssl = {
key = “/etc/prosody/certs/103.249.237.9.key”;
certificate = “/etc/prosody/certs/103.249.237.9.crt”;
}
– we need bosh
modules_enabled = {
“bosh”;
“pubsub”;
“ping”; – Enable mod_ping
}

    c2s_require_encryption = false

Component “conference.103.249.237.9” “muc”
storage = “null”
–modules_enabled = { “token_verification” }
admins = { “focus@auth.103.249.237.9” }

Component “jitsi-videobridge.103.249.237.9”
component_secret = “@3Hvyk9F

Component “videobridge2.enggheads.net
component_secret = “IHtx0pcW”

VirtualHost “auth.103.249.237.9”
ssl = {
key = “/etc/prosody/certs/auth.103.249.237.9.key”;
certificate = “/etc/prosody/certs/auth.103.249.237.9.crt”;
}
authentication = “internal_plain”

Component “focus.103.249.237.9”
component_secret = “xv3@A@x3”


#13

Prosody main config file

admins = { }

component_ports = { 5347 }
component_interface = “54.255.211.186”

– Enable use of libevent for better performance under high load
– For more information see: http://prosody.im/doc/libevent
–use_libevent = true;

– This is the list of modules Prosody will load on startup.
– It looks for mod_modulename.lua in the plugins folder, so make sure that exists too.
– Documentation on modules can be found at: http://prosody.im/doc/module


#14

Does your server that is running prosody has this address as an address to a local interface?


#15

No it’s not my prosody server machine address. my prosody server machine address is 103.249.237.9
.


#16

So this will not work. You need to put there an ip address to instruct prosody to listen to, if that ip address is not configured on that machine it will not work.
Use ip address that you see when executing # ifconfig.
Make sure all ports are open (or forwarded if machine is behind nat, which is the case for aws machines).

Then edit the config on all jvbs to instruct them to connect to that ip address.


#17

Another question,
i’m very confuse by load balancing youtube video.
In second machine i’m install JVB by the

apt-get -y install jitsi-videobridge

and ask DNS name so which DNS name use for install second JVB
main server machine DNS name or Second JVB machine DNS name.

because youtube video use main server DNS name to install second JVB.


#18

The same value you entered when configuring jitsi-meet. This is normally the dns of the deployment (like meet.jit.si).
Then you go edit the config entering the ip address of the signalling node (where prosody is) and restart jvb.


#19

prosody error

Jan 08 17:17:22 portmanager error Failed to open server port 5347 on 103.249.237.9, Cannot assign requested address


#20

root@jitsi-virtual-machine:~# ufw status
Status: active

To Action From


8080 ALLOW Anywhere
5347/tcp ALLOW Anywhere
8080 (v6) ALLOW Anywhere (v6)
5347/tcp (v6) ALLOW Anywhere (v6)