when setting up a call between two hosts. Limitations Network address translation is implemented via a number of different address and port mapping schemes, none of which is standardized. STUN is not a self-contained NAT traversal solution applicable in all NAT deployment scenarios and does not work correctly with all of them. It is a tool among other methods and it is a tool for other protocols in dealing with NAT traversal, most notably Traversal Using Relay NAT (TURN) and Interactive Connectivity Establishment (ICE). STUN works with three types of NAT: full cone NAT, restricted cone NAT, and port restricted cone NAT. In the cases of restricted cone or port restricted cone NATs, the client must send out a packet to the endpoint before the NAT will allow packets from the endpoint through to the client. STUN does not work with symmetric NAT (also known as bi-directional NAT) which is often found in the networks of large companies. Since the IP address of the STUN server is different from that of the endpoint, in the symmetric NAT case, the NAT mapping will be different for the STUN server than for an endpoint. TURN offers better results with symmetric NAT. See also Internet Gateway Device Protocol Port Control Protocol UDP hole punching References External links STUNTMAN - Open source STUN server software What are Session Traversal Utilities for NAT (STUN) and Traversal Using Relays around NAT (TURN)? at callstats.io Session Traversal Utilities for NAT (STUN) at HCL Software Application layer protocols Network address translation Voice over IP