okay - in the light of symmetric NAT seeming to be more a thing than I hoped it was
I’ll move up the message-relaying in the priority list. The changes I made to the 1:1 hole-punching library already include an additional layer that is there to inject relayed messages to reduce the needed connection count.
I happen to have ordered a mikrotik router and plan to start using it somewhere within the next week … so for this development I’ll configure it to use the annoying symmetric NAT I’ve personally not experienced in my tests so far … and will therefore be able to implement and test
to break open difficult to establish NAT communications within a few seconds (and to not need for any symmetric nat to try and break open the connection to another symmetric nat the multi-chat will already in its first version be using message-relaying and gossiping to create the network communications)
and messaging DMs via asymmetric encryption through a multi-user room will be prioritized over 1:1 communication where possible to 1. lower connection count 2. decrease the possibility of 2 symmetric NATs needing to talk to each other … breaking symmetric nat <> symmetric nat open does take up to ~30 minutes … which is really not what we want to do unless we need to …
We’ll see how important additional GATEs will be on top of this. I’ll most certainly have them go through wss (secure websocket communication) on port 443 which is open even in company networks and on airports and stuff where outgoing udp might be blocked …