@beebob said in RTP Session drops. Potential mitigation.:
the vast majority are drops of the UDP/RTP Session to a single or a number of players
I think it's not one player dropping all other players, but one player dropping one connection to another player.
@beebob said in RTP Session drops. Potential mitigation.:
Since we can clearly see a successfully established RTP Session, which fails later on, we can assume that the firewall configuration is ok on all involved sides.
That is a fallacy. Just because you were allowed to open connections does not mean, that the firewall doesn't decide to kill it later. Even the firewall configuration could change dynamically somewhere in the internet in between and you wouldn't even notice. (Simple example would be if you are on 4g and you are handed over from one station to the next).
When all players are connected, all we know that it works right now.
The big differene to telephony or other multimedia streams where ICE is used is: packet loss does not matter. If you switch over to a different connection and dropped a few packets, voice or image get blurry for a few seconds is fine. But in FAF it kills a game.
@beebob said in RTP Session drops. Potential mitigation.:
The ICE Log and the advanced ICE log only tell me that sessions are dropped.
The operating doesn't know why a connection is dropped, thus it can't tell us. Hell, with UDP and TCP you don't even know WHEN exactly the connection dropped.
@beebob said in RTP Session drops. Potential mitigation.:
the ICE Client seems to utilize the full range of the High-Port spectrum
I think we are using 40000-60000. We can reduce this, but what that help? I think the port range is mostly relevant for a system admin on a backend server trying to reduce the amount of open ports.
@beebob said in RTP Session drops. Potential mitigation.:
The ice advanced log is not detailed enough.
Most of the ICE logic is not implemented by us, but by the library called ice4j. It's a blackbox for us. We don't know what it exactly it does and due to connection timeouts etc. it's also impossible to debug. We can't add any logging there. Apart from that feel free to make suggestions what we could log.