Traversal of NATs

Other versions of this page are also available for the following:

Windows Mobile Not SupportedWindows Embedded CE Supported


When a client application is behind a NAT or a firewall, audio streams are transmitted using an IP address and port on the NAT or firewall.

As of Windows CE, RTC 1.5 removed support for UPnP-based NATs. Instead, it enhanced its port manager APIs and also added support for symmetric UDP/TCP for better traversal of NATs.

RTC 1.5 has enhanced its Port Manager interfaces and APIs to enable applications to provide NAT mappings to RTC. For more information about these interfaces, see NAT Address Mapping.

Retrieving Address and Port Information

The IRTCClient::NetworkAddresses method returns the address and port used to establish point-to-point communication sessions.

If the client is behind a NAT or firewall, the NetworkAddresses method determines the port and address on the NAT or firewall that is used for the session.

When a client calls NetworkAddresses with the fExternal parameter set to TRUE, the method returns the external address and dynamic port on the NAT. The client can communicate this address out-of-band to the called party to establish point-to-point sessions.

If a client is behind a NAT without UPnP IGD DCP support or a firewall, point-to-point communications are not possible without an application-level gateway.

See Also


Firewalls and NATs