Are there STUN implementations that can sometimes handle symmetric NATs?
I've been working on connecting two devices that are each behind a symmetric NAT and managed to make it work quite consistently. However, it takes quite some time for the connection to happen (sometimes more than a minute) and it will not work on certain types of symmetric NATs. I believe this is why STUN doesn't support symmetric NATs and that TURN has to be used.
But, when I was doing some tests I first started by trying to connect a device behind a symmetric NAT to a device behind a port-restricted cone NAT and managed to make it work very consistently in a short amount of time and on multiple types of NAT. So I'm wondering, do modern implementations of STUN support this feature? If not, why?
STUN not supporting symmetric NAT is not a question of modern vs. not modern but how NAT and STUN is working. STUN is about predicting which port will be used for a connection to IP address X (out of control of STUN server) from looking at previous connections to IP addresses in control of the STUN server. The very description of what symmetric NAT is means, that such a prediction is not possible.
Because of this it is likely that your interpretation of what is happening is wrong. Either you are not actually dealing with a fully symmetric NAT on one side and a port restricted cone NAT on the other or you are not dealing with STUN only. Unfortunately it cannot be seen from the details of your question what is actually happening, but one can only rely on your interpretation of the things.