orignal
and now based on this I have a question to zzz
orignal
about RelayResponse
orignal
what port does Charlie put into RelayResponse in case of symmetric NAT?
orignal
because it will be always symmetric nat in case of proxy
orignal
so the more concrete question is
orignal
when we detect symmetric NAT do we keep using our real port or one we receive from a peer
zzz
it doesn't matter, because neither is going to work, right?
zzz
Alice should probably switch the charlie port from the one received in the relay response to the one the hole punch comes from
orignal
why?
orignal
Alice connects to address that comes from RelayResponse
zzz
sure, but if charlie is symmetric natted, that's not going to work
zzz
let me research what our code does
orignal
I'm talking about Charlie
orignal
please explain why it wouldn't work?
zzz
if a symmetric NAT assigns a random external port for each outbound UDP session, then charlie doesn't know what the port will be
zzz
the configured port, or the detected port from another session, won't get forwarded from alice through the NAT
orignal
but what if it's not random
orignal
if it's the same port but different than mine
zzz
then it might work
orignal
my case is proxy
zzz
ok
orignal
technically it will be symmetric nat
orignal
e.g. ports are differemt
zzz
ok, so use the port you think will work
orignal
but relays should work
orignal
port came from address block
zzz
ok
orignal
but it general what you do
zzz
we keep track of our external port and use it. Usually it's the same as the internal port, but we will change if multiple peers tell us the same thing
orignal
do you update port from adrress block or not?
orignal
thanks
zzz
I think we use the address block, yes