Breaking changes and issues in 5142

Hi,
Me and my company have been succesfully using Jitsi Docker, version 4857 since some time. Today I was trying to upgrade it (complete reinstall and clean of the configs folder) to the latest version but without avail.

I’ve noticed some errors on the JVB logs that it couldn’t contact the STUN.

So I went into the jvb config and noticed two things:

  • there’s a new jvb.conf file
  • the sip-communicator.properties file changed completely. Now it’s more like the one used in the standalone version than in the docker installation

org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=xxxxxxxxxx
org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=yyyyyyyyy

The problem is that the Local addres is automatically determined, and if there are multiple networks interface, like in our case, it leads to setting the wrong local IP.
I’ve tried it changing manually on the sip-communicator and jvb.conf, but when I restart the JVB container, the value are resetted to the wrong local addres.

So I’ve tried editing them again and only restart the JVB service inside the container. This way, the change persisted, but the service still doesn’t function.

Is there a proper way to setup the harvester local address in the new docker release? maybe somewhere in the .env file?

Thanks

I’ve looked through the docker files and discovered that in the .env file I can set, together with DOCKER_HOST_ADDRESS, also the LOCAL_ADDRESS, which I did set in the correct way. Seems it is being recognized, but also ice detects one of the wrong network cards:

Dec 03, 2020 2:07:09 PM org.ice4j.ice.harvest.AwsCandidateHarvester obtainEC2Addresses
INFO: String for local IP: 10.47.1.20
Dec 03, 2020 2:07:09 PM org.ice4j.ice.harvest.AwsCandidateHarvester obtainEC2Addresses
INFO: String for public IP: null
Dec 03, 2020 2:07:09 PM org.ice4j.ice.harvest.MappingCandidateHarvesters maybeAdd
INFO: Discarding a mapping harvester: org.ice4j.ice.harvest.AwsCandidateHarvester, face=/10.47.1.20, mask=null
Dec 03, 2020 2:07:09 PM org.ice4j.ice.harvest.MappingCandidateHarvesters initialize
INFO: Using org.ice4j.ice.harvest.MappingCandidateHarvester, face=/172.18.0.5, mask=/185.xxx.xxx.xxx
Dec 03, 2020 2:07:09 PM org.ice4j.ice.harvest.MappingCandidateHarvesters initialize
INFO: Using org.ice4j.ice.harvest.StunMappingCandidateHarvester, face=/172.18.0.5, mask=/185.xxx.xxx.xxx
Dec 03, 2020 2:07:09 PM org.ice4j.ice.harvest.MappingCandidateHarvesters initialize
INFO: Initialized mapping harvesters (delay=2073ms).  stunDiscoveryFailed=false

10.47.1.20 is the correct local IP to use, 172.18.0.5 is not even one of the network cards, since they are:

* br-99078d939f8a: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.19.0.1  netmask 255.255.0.0  broadcast 0.0.0.0


* br-b6ad6216e150: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.18.0.1  netmask 255.255.0.0  broadcast 0.0.0.0


* docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 0.0.0.0


* eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1450
        inet 10.47.1.20  netmask 255.255.255.0  broadcast 10.47.1.255

What can I do?

We set the local address to the IP used for the default route. Which is that in your case? At any rate, please open an issue on the Docker repo so we can have the discussion there.