I understand your example, but then another question is up - if we don't specify PersistentKeepalive on one of the sides, after a while both client and server become silent, and session effectively ends by routers udp timeout (30 sec on mine), and if server needs to talk to a client which is behind NAT w/o listening port forwarded, it will fail, right?
If you're the client, you're already connecting _up_ to a server,
which means ordinary stateful NAT takes care of that.
Comparison: do you manually specify a source port when making an
outgoing HTTP connection?