Does that mean that if the IP changes some time after the start of JVB, JVB won’t know this and simply stop working? Because I don’t start my VM (with the docker inside) all that often, but my public IP changes daily…
But that would explain why I thought that it worked as desired after I had completely reinstalled Jitsi. And two days later I found that it didn’t work anymore…
Yep, if ip changes it stops working, if you have configured auto-discovering of the public address you need to restart jvb on every IP change.
huh! Well that would seem to explain everything.
Gotta see how to deal with this. My initial idea is to control the time when the IP address changes and schedule a periodic restart of the JVB container right after that. Let’s see if that works. I’ll report back.
Thanks for your help!
Still no joy: I restartet JVB manually but again it didn’t work (no audio/video).
In the JVB log, I think, I can see that the public IP address was discovered correctly (I anonymized it here along with my domain). But it still does not work. What else might be wrong here?
jvb_1 | [services.d] starting services
jvb_1 | [services.d] done.
jvb_1 | JVB 2022-10-04 19:12:08.915 INFO: [1] JitsiConfig.<clinit>#47: Initialized newConfig: merge of /config/jvb.conf: 1,application.conf @ jar:file:/usr/share/jitsi-videobridge/jitsi-videobridge.jar!/application.conf: 1,system properties,reference.conf @ jar:file:/usr/share/jitsi-videobridge/jitsi-videobridge.jar!/reference.conf: 1,reference.conf @ jar:file:/usr/share/jitsi-videobridge/lib/ice4j-3.0-58-gf41542d.jar!/reference.conf: 1,reference.conf @ jar:file:/usr/share/jitsi-videobridge/lib/jitsi-media-transform-2.2-43-gce94dbb2.jar!/reference.conf: 1
jvb_1 | JVB 2022-10-04 19:12:08.949 INFO: [1] ReadOnlyConfigurationService.reloadConfiguration#51: loading config file at path /config/sip-communicator.properties
jvb_1 | JVB 2022-10-04 19:12:08.951 INFO: [1] ReadOnlyConfigurationService.reloadConfiguration#56: Error loading config file: java.io.FileNotFoundException: /config/sip-communicator.properties (No such file or directory)
jvb_1 | JVB 2022-10-04 19:12:08.953 INFO: [1] JitsiConfig.<clinit>#68: Initialized legacyConfig: sip communicator props (no description provided)
jvb_1 | JVB 2022-10-04 19:12:08.969 INFO: [1] JitsiConfig$Companion.reloadNewConfig#94: Reloading the Typesafe config source (previously reloaded 0 times).
jvb_1 | JVB 2022-10-04 19:12:09.006 INFO: [1] MainKt.main#90: Starting jitsi-videobridge version 2.2.43-gce94dbb2
jvb_1 | JVB 2022-10-04 19:12:09.408 INFO: [11] org.ice4j.ice.harvest.MappingCandidateHarvesters.initialize: Adding a static mapping: StaticMapping(localAddress=172.21.0.5, publicAddress=192.168.99.79, localPort=null, publicPort=null, name=ip-0)
jvb_1 | JVB 2022-10-04 19:12:09.436 INFO: [11] org.ice4j.ice.harvest.MappingCandidateHarvesters.initialize: Using AwsCandidateHarvester.
jvb_1 | JVB 2022-10-04 19:12:09.474 INFO: [11] org.ice4j.ice.harvest.MappingCandidateHarvesters.createStunHarvesters: Using 193.122.56.141:443/udp for StunMappingCandidateHarvester (localAddress=172.21.0.5:0/udp).
jvb_1 | JVB 2022-10-04 19:12:09.646 INFO: [14] org.ice4j.ice.harvest.StunMappingCandidateHarvester.discover: Discovered public address 109.250.159.XXX:1420/udp from STUN server 193.122.56.141:443/udp using local address org.ice4j.socket.IceUdpSocketWrapper@26cae620
jvb_1 | JVB 2022-10-04 19:12:09.801 INFO: [18] [hostname=xmpp.meet.jitsi id=shard0] MucClient.initializeConnectAndJoin#279: Initializing a new MucClient for [ org.jitsi.xmpp.mucclient.MucClientConfiguration id=shard0 domain=auth.meet.jitsi hostname=xmpp.meet.jitsi port=5222 username=jvb mucs=[jvbbrewery@internal-muc.meet.jitsi] mucNickname=c973b27bc62e disableCertificateVerification=true]
jvb_1 | JVB 2022-10-04 19:12:09.848 INFO: [1] LastNReducer.<init>#65: LastNReducer with reductionScale: 0.75 recoverScale: 1.25 impactTime: PT1M minLastN: 1 maxEnforcedLastN: 40
jvb_1 | JVB 2022-10-04 19:12:09.859 INFO: [1] TaskPools.<clinit>#87: TaskPools detected 2 processors, creating the CPU pool with that many threads
jvb_1 | JVB 2022-10-04 19:12:09.860 WARNING: [18] MucClient.createXMPPTCPConnectionConfiguration#115: Disabling certificate verification!
jvb_1 | JVB 2022-10-04 19:12:09.895 INFO: [1] HealthChecker.start#117: Started with interval=60000, timeout=PT1M30S, maxDuration=PT3S, stickyFailures=false.
jvb_1 | JVB 2022-10-04 19:12:09.965 WARNING: [1] UlimitCheck.printUlimits#112: Running with open files limit 1048576 (hard 1048576), thread limit 7802 (hard 7802). These values are too low and they will limit the number of participants that the bridge can serve simultaneously.
jvb_1 | JVB 2022-10-04 19:12:09.969 INFO: [1] VideobridgeExpireThread.start#88: Starting with 60 second interval.
jvb_1 | JVB 2022-10-04 19:12:10.043 INFO: [1] MainKt.main#120: Not starting CallstatsService, disabled in configuration.
jvb_1 | JVB 2022-10-04 19:12:10.055 INFO: [18] [hostname=xmpp.meet.jitsi id=shard0] MucClient.initializeConnectAndJoin#341: Dispatching a thread to connect and login.
jvb_1 | JVB 2022-10-04 19:12:10.057 INFO: [1] MainKt.main#129: Starting public http server
jvb_1 | JVB 2022-10-04 19:12:10.160 INFO: [11] org.ice4j.ice.harvest.MappingCandidateHarvesters.maybeAdd: Discarding a mapping harvester: org.ice4j.ice.harvest.AwsCandidateHarvester@5554aa7
jvb_1 | JVB 2022-10-04 19:12:10.160 INFO: [11] org.ice4j.ice.harvest.MappingCandidateHarvesters.initialize: Using org.ice4j.ice.harvest.StaticMappingCandidateHarvester(face=172.21.0.5:9/udp, mask=192.168.99.79:9/udp)
jvb_1 | JVB 2022-10-04 19:12:10.161 INFO: [11] org.ice4j.ice.harvest.MappingCandidateHarvesters.initialize: Using org.ice4j.ice.harvest.StunMappingCandidateHarvester@7503d323
jvb_1 | JVB 2022-10-04 19:12:10.161 INFO: [11] org.ice4j.ice.harvest.MappingCandidateHarvesters.initialize: Initialized mapping harvesters (delay=1130ms). stunDiscoveryFailed=false
jvb_1 | JVB 2022-10-04 19:12:10.191 INFO: [1] ColibriWebSocketService.<init>#46: Base URL: wss://meet.example.com/colibri-ws/172.21.0.5 Relay URL: null
jvb_1 | SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
jvb_1 | SLF4J: Defaulting to no-operation (NOP) logger implementation
jvb_1 | SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
jvb_1 | JVB 2022-10-04 19:12:10.354 INFO: [18] [hostname=xmpp.meet.jitsi id=shard0] MucClient$2.connected#312: Connected.
jvb_1 | JVB 2022-10-04 19:12:10.354 INFO: [18] [hostname=xmpp.meet.jitsi id=shard0] MucClient.lambda$getConnectAndLoginCallable$9#637: Logging in.
jvb_1 | JVB 2022-10-04 19:12:10.360 INFO: [1] ColibriWebSocketService.registerServlet#85: Registering servlet with baseUrl = wss://meet.example.com/colibri-ws/172.21.0.5, relayUrl = null
jvb_1 | JVB 2022-10-04 19:12:10.494 INFO: [18] [hostname=xmpp.meet.jitsi id=shard0] MucClient$2.authenticated#318: Authenticated, b=false
jvb_1 | JVB 2022-10-04 19:12:10.593 INFO: [18] [hostname=xmpp.meet.jitsi id=shard0] MucClient$MucWrapper.join#761: Joined MUC: jvbbrewery@internal-muc.meet.jitsi
jvb_1 | JVB 2022-10-04 19:12:10.623 INFO: [1] MainKt.main#147: Starting private http server
jvb_1 | JVB 2022-10-04 19:12:11.029 WARNING: [1] org.glassfish.jersey.server.wadl.WadlFeature.configure: JAXBContext implementation could not be found. WADL feature is disabled.
jvb_1 | JVB 2022-10-04 19:12:11.126 WARNING: [1] org.glassfish.jersey.internal.inject.Providers.checkProviderRuntime: A provider org.jitsi.rest.Health registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.jitsi.rest.Health will be ignored.
jvb_1 | JVB 2022-10-04 19:12:11.126 WARNING: [1] org.glassfish.jersey.internal.inject.Providers.checkProviderRuntime: A provider org.jitsi.rest.Version registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.jitsi.rest.Version will be ignored.
jvb_1 | JVB 2022-10-04 19:12:11.127 WARNING: [1] org.glassfish.jersey.internal.inject.Providers.checkProviderRuntime: A provider org.jitsi.rest.prometheus.Prometheus registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.jitsi.rest.prometheus.Prometheus will be ignored.
This is you opening 3 tabs in the browser and it doesn’t work?
Sorry, I was just about to update my post but you responded too quickly
I tried it again and on the second attempt it did work.
(Not sure what you mean with the 3 tabs in the browser - I had opened meet in one tab on my PC and once in the Jitsi app on my phone).
You open it 3 tabs in the browser on the PC to be sure its using jvb
While I am still struggling of controlling the time of the IP change, I wanted to confirm that restarting JVB and triggering the discovery of the public IP is the solution.
Thanks a lot for your help!
Good to hear!