

Ask HN: How does FaceTime do NAT Traversal? - gr3g

I've been researching on several NAT Traversal algorithms for project I'm working on. I tried FaceTime on several routers with different NAT configurations and it seemed to work great but couldn't figure out the algorithm. Any help will be much appreciated.
======
mryan
STUN and TURN are listed in the open source protocols used by FaceTime [1], so
it is probably one or both of those. There are probably a few more methods
too, and it will just keep trying until it finds one that works on the current
network.

[1] [http://blog.imtc.org/index.php/2010/06/09/the-technology-
beh...](http://blog.imtc.org/index.php/2010/06/09/the-technology-behind-
apples-facetime-standards/)

------
st3fan
STUN and TURN were already mentioned.

There is also Apple's own NAT-PMP which is more like UPnP but simpler. It can
directly ask your (Apple) router to open a port and redirect it incoming
traffic to a specific IP address on your local network.

[https://secure.wikimedia.org/wikipedia/en/wiki/NAT_Port_Mapp...](https://secure.wikimedia.org/wikipedia/en/wiki/NAT_Port_Mapping_Protocol)

I bet Apple also supports UPnP these days.

------
DanWaterworth
The usual technique is 'UDP hole punching'.

~~~
rycs
yeah, same thing Skype does, I would not be surprised if FaceTime does exactly
that.

