Description
When NATting between an internal and external network, we can use external_addr, e.g.
<TCP bind_addr="127.0.4.4" bind_port="5000" external_addr="10.2.3.4".../>
This means that the looopback address 127.0.4.4:5000 is going to be mapped to 10.2.3.4:5000.
However, if the internal port is different from the external port, we don't support that.
SOLUTION: add external_port, e.g.
<TCP bind_addr="127.0.4.4" bind_port="5000" external_addr="10.2.3.4" external_port="6000" .../>
Now we're mapping internal port 5000 to external port 6000.
This needs to be done in TP, FD_SOCK, STATE_SOCK (check if there are more places where we create server sockets)