There are now a number of TURN implementations available:
http://www.resiprocate.org/ReTurn_Overview
http://turnserver.sourceforge.net/
and for many purposes TURN relays and ICE are much better than relying
on NAT helper and rtpproxy
When clients use ICE:
- the client gets upset if Kamailio mangles the SDP to use rtpproxy
- it is actually not necessary for the SDP to have addresses tweaked -
because ICE deals with it anyway
In practice, it still appears necessary for the registration server to
deal with NATted contact addresses though
Can anyone clarify how Kamailio should be configured for ICE clients?
In other words, is it possible to have Kamailio dealing with NATted
contact addresses, but not touching the SDP?
To limit the scope of the question:
- assume non-ICE clients do not need to be supported at all (just ignore
them, although a nice cfg would scan all SDP and send a helpful error
back if it sees a 192.168 address and no a=ice* attributes)
- assume clients are connecting with TLS over TCP, so there is no risk
that some intermediate device like a router is mangling the SIP headers
or SDP