One Ugly issue in history of networking is this NAT.
STUN and TURN are sub-parts of the broad ICE framework. STUN and TURN
do not know about ICE and those protocols are just cubicles in the
general ICE picture. When you are using ICE, you have to set all the
components (including STUN and TURN) to work together. This TURN
server has all means to set it up correctly in any environment. How to
set up your particular ICE framework I have no idea and that is not my
concern. If you will see that the TURN server is doing something
incorrectly, then you can report it here.
For Linux we got:
1) resiprocate-turn-server
- http://www.resiprocate.org/ReSIProcate_1.8_Release
- community is deadly, like nobody is there
Ubuntu above 12.04 you should get so that you can install it as:
$ apt-get install resiprocate-turn-server
$ reTurnServer /etc/reTurnServer.config --LogLevel=INFO
INFO |.662 | reTurnServer | RETURN | | UdpServer.cxx:29 | UdpServer started. Listening on 0.0.0.0:3478
INFO |.662 | reTurnServer | RETURN | | TcpServer.cxx:26 | TcpServer started. Listening on 0.0.0.0:3478
ERR |.663 | reTurnServer | RETURN | | TlsServer.cxx:30 | Unable to load server cert chain file: server.pem, error=22(Invalid argument)
ERR |.663 | reTurnServer | RETURN | | TlsServer.cxx:37 | Unable to load server private key file: server.pem, error=22(Invalid argument)
ERR |.663 | reTurnServer | RETURN | | TlsServer.cxx:44 | Unable to load temporary Diffie-Hellman parameters file: dh512.pem, error=22(Invalid argument)
INFO |.663 | reTurnServer | RETURN | | TlsServer.cxx:55 | TlsServer started. Listening on 0.0.0.0:5349
DEBUG |.552 | reTurnServer | RETURN | | TcpConnection.cxx:39 | TcpConnection started.
WARNING |.181 | reTurnServer | RETURN | | AsyncTcpSocketBase.cxx:181 | Receive buffer (2048) is not large enough to accomdate incoming framed data (27764) closing connection.
DEBUG |.181 | reTurnServer | RETURN | | TcpConnection.cxx:27 | TcpConnection destroyed.
^CDEBUG |.023 | reTurnServer | RETURN | | TlsConnection.cxx:32 | TlsConnection destroyed.
DEBUG |.024 | reTurnServer | RETURN | | TcpConnection.cxx:27 | TcpConnection destroyed.
INFO |.024 | reTurnServer | RETURN | | TurnManager.cxx:36 | Turn Manager destroyed.
Fedora 19: (optional)
$ yum install resiprocate-turn-server
2) rfc5766-turn-server: (community is active, not dead) http://code.google.com/p/rfc5766-turn-server/downloads/list
$ turnserver -u username:password