We have installed Jitsi on our private AKS and are using an Nginx ingress to expose Jitsi to the internet. When we make a connection and inspect the webrtc-internals, we see that all local candidates use local IP addresses and not the proper public IP.
For some reason, our web client cannot resolve the public IP, which we believe is the fact that it does not have any stun servers. When we use an STUN/TURN test page locally, it returns the proper public IP.
We followed the installation guides and read all config templates and have set the stun servers set in our config. Is there a way to
a) test that the config is properly injected into our pods and
b) validate that we have the stun server set in the right places?
We actually figured out, that one of our NginX server is not forwarding the client IPs. We managed to fix that. What is the recommended way to filter out proxy IPs in Jitsi? We know, that this can be done in Prosody. Would we need to do this in other places as well?
Thanks @emrah! So, what you are saying, is that the WebRTC also needs have a STUN server to work in a JVB only setting to publish their own public IP to the JVB? This would mean that we need to change the prosody.cfg.lua, so that it publishes a STUN server to the client. If my understanding is correct, we will try this.
Just to reiterate, what we currently see in the JVB logs is the following:>
local_ufrag=2d4jl1h1qpdqtb ufrag=2d4jl1h1qpdqtb] Agent.triggerCheck#1737: Add peer CandidatePair with new reflexive address to checkList: CandidatePair (State=Frozen Priority=7962116751041232895):
LocalCandidate=candidate:1 1 udp 2130706431 “POD Ip” 10000 typ host
RemoteCandidate=candidate:10003 1 udp 1853824767 “local Ingress Ip” 34689 typ prflx
and a little bit later, we see:
Nomination confirmed for pair: “Public Ip”:10000/udp/srflx → “local Ingress Ip”*:59549/udp/prflx (stream-28493e18.RTP).
In the WebRTC console, we see that the ICE candidates then are remote candidate: Public IP of our JITSI instance and local candidate is the “local Inress IP”, which is 10.XXX.XXX.XXX. So, where is this 10.XXX.XXX.XXX address coming from, as this is also an internal IP address only known to our Jitsi instance, and hence should not be known to the client.