A STUN server (Simple Traversal of User Datagram Protocol[UDP]) Through Network Address Translators[NATs]) enables NAT clients (e.g. IP phone behind a firewall) to detect the existence and type of NAT or firewall and thus establish communication with a VoIP provider outside the local network.
Using the STUN server, clients can specify their public IP address, the NAT device behind which they are located, and the one published to the outside world,
Determine the Internet-side port to which a specific local port has been assigned via NAT. This information is used for UDP-based communication between the client and the VoIP provider to establish a call. The STUN protocol is defined in RFC 3489.
The STUN server is addressed on UDP port 3478. However, it instructs clients to also perform connection tests using a different IP address and port number (STUN servers have two IP addresses). According to RFC 3489, this port and IP address are not fixed.
This allows SIP signalling and voice transmission via the NAT/firewall after correct configuration, without changes to the NAT being necessary.