UDP Punching

From BitWise DocuWiki

UDP Punching is a well-established method for sending UDP data through firewalls or routers without any manual configuration. Many voice applications and games use UDP Punching, and despite the scary-sounding name, it is perfectly secure and safe. BitWise added UDP Punhcing for voice chat in version 1.7, using the methodology described in Peer-to-Peer Communication Across Network Address Translators (http://www.brynosaurus.com/pub/net/p2pnat/) (and other places, too).

BitWise's method of UDP Punching uses the STUN protocol to assist with port discovery. When a voice chat begins, both clients run a STUN request and are told what public port can be used to reach them. This port is then sent to the other client, so that it can try both the standard port 4137 and the STUN port. Whichever port works is continued, and the port that doesn't is discontinued. If both ports work, then port 4137 is used. Once UDP data is flowing in both directions, the voice chat begins.

UDP Punching is supported on Windows, Mac OS X and Linux.

See also: TCP Punching.