logoalt Hacker News

mulanroo • today at 5:05 AM • 0 replies • view on HN

SNATMAP is essentially Apple's version of STUN (RFC 3489, also 2003): learn your public IP and port from an outside server, swap them over chat, then both sides send packets at once to punch through NAT. That's why port-preserving NAT matters. Carrier-grade NAT, common on mobile and some ISPs, assigns a new port per destination and breaks it. Modern WebRTC falls back to a TURN relay, but iChat had none, so if calls still fail after the hosts fix, check for CGNAT on either end.