NAT Traversal
SIP Endpoint SDK supports NAT traversal for restrictive firewalls and routers in the following general scenarios:
- Enterprise to Cloud
- Consumer to Cloud
- Home Agent to Cloud
- Mobile to Enterprise
- Mobile to Cloud
To configure NAT, see the nat section of the Default Configuration Settings.
- Double NAT is not supported.
- NAT translation will not occur with a NAT server that does not support UDP fragmentation. An example of such a server is Microsoft RRAS (Routing and Remote Access Service).
- NAT functionality was tested with the following NAT and STUN/TURN servers:
- NAT Server—Windows 2008 NAT Server using RRAS service
- STUN/TURN Server—https://code.google.com/p/rfc5766-turn-server/
When using UDP transport for an endpoint behind the NAT, you must set the reg_timeout option to a value not exceeding twice the binding timeout for your particular NAT implementation.
Periodic REGISTER messages serve as a keep-alive mechanism necessary to keep the NAT channel open. Genesys recommends a value of 60 for reg_timeout (REGISTER sent every 30 seconds) which should work with most NAT implementations.
Re-registration
Use the reg_match_received_rport setting in the proxyN section to control re-registration in cases where the received/rport values in the REGISTER response do not match local values. A value of 0 (default) disables this feature and a value of 1 enables re-registration.
<domain name="proxies">
<section name="proxyN">
<setting name="reg_match_received_rport" value="0 or 1"/>
. . .
</section>
. . .
</domain>