A set of turnutils_* programs provides some utility functionality to be used for testing and for setting
Contents
=================================
===================================
====================================
=====================================
======================================
AUTHORS
Oleg Moskalenko <mom040267@gmail.com>
Gabor Kovesdan http://kovesdan.org/
Daniel Pocock http://danielpocock.com/
John Selbie (jselbie@gmail.com)
Lee Sylvester <lee@designrealm.co.uk>
Erik Johnston <erikj@openmarket.com>
Roman Lisagor <roman@demonware.net>
Vladimir Tsanev <tsachev@gmail.com>
Po-sheng Lin <personlin118@gmail.com>
Peter Dunkley <peter.dunkley@acision.com>
Mutsutoshi Yoshimoto <mutsutoshi.yoshimoto@mixi.co.jp>
Federico Pinna <fpinna@vivocha.com>
Bradley T. Hughes <bradleythughes@fastmail.fm>
Mihály Mészáros <misi@majd.eu>
ACTIVEMAINTAINERS
Mihály Mészáros <misi@majd.eu>
05 June 2021 TURN(1)
========================================
NAMEturnutils_stunclient-abasicSTUNclient.SYNOPSIS
$ turnutils_stunclient [options] <STUN-Server-IP-address>
DESCRIPTION
It sends a "new" STUN RFC 5389 request (over UDP) and shows the reply information.
Options with required values:
-p STUN server port (Default: 3478).
-L Local address to use (optional).
-f Force RFC 5780 processing.
The turnutils_stunclient program checks the results of the first request, and if it finds that the STUN
server supports RFC 5780 (the binding response reveals that) then the turnutils_stunclient makes a couple
more requests with different parameters, to demonstrate the NAT discovery capabilities.
This utility does not support the "old" "classic" STUN protocol (RFC 3489).
Directories
/usr/local/share/turnserver
/usr/local/share/doc/turnserver
/usr/local/share/examples/turnserverDocs
After installation, run the command:
$ man turnutils
or in the project root directory:
$ man -M man turnutils
to see the man page.
Files
/etc/turnserver.conf
/var/db/turndb
/usr/local/var/db/turndb
/var/lib/turn/turndb
/usr/local/etc/turnserver.conf
General Information
A set of turnutils_* programs provides some utility functionality to be used for testing and for setting
up the TURN server.
1.turnutils_uclient: emulates multiple UDP,TCP,TLS or DTLS clients. (this program is provided for
the testing purposes only !) The compiled binary image of this program is located in bin/
sub-directory.
2.turnutils_peer: a simple stateless UDP-only "echo" server, to be used as the final server in relay
pattern ("peer"). For every incoming UDP packet, it simply echoes it back. (this program is
provided for the testing purposes only !) When the test clients are communicating in the
client-to-client manner (when the "turnutils_uclient" program is used with "-y" option) then the
turnutils_peer is not needed.
The compiled binary image of this program is located in bin/ subdirectory.
3.turnutils_stunclient: a simple STUN client example. The compiled binary image of this program is
located in bin/ subdirectory.
4.turnutils_rfc5769check: a utility that checks the correctness of the STUN/TURN protocol
implementation. This utility is used only for the compilation check procedure, it is not copied to
the installation destination.
In the "examples/scripts" subdirectory, you will find the examples of command lines to be used to run the
programs. The scripts are meant to be run from examples/ subdirectory, for example:
$ cd examples
$ ./scripts/secure_relay.sh
5.turnutils_natdiscovery: a utility that provides NAT behavior discovery according RFC5780. This
utility discovers the actual NAT Mapping and Filtering behavior, etc. Be aware that on TURN server
side two different listening IP addresses should be configured to be able to work properly!
6.turnutils_oauth: a utility that provides OAuth access_token generation(AEAD encryption),
validation and decryption. This utility inputs all the keys and lifetimes and any related
information that needed for creation and validationi of an access_token. It outputs a JSON with
all OAuth PoP parameters that need to pass to the client. Output is generated accoriding RFC7635
Appendix B, Figure 8.
For more details, and for the access_token structure, read rfc7635, and see script in
examples/scripts/oauth.sh.
See Also
turnserver, turnadmin
Standards
new STUN RFC 5389
Turn Rfc 5766
TURN-TCP extension RFC 6062
TURN IPv6 extension RFC 6156
STUN/TURN test vectors RFC 5769
STUN NAT behavior discovery RFC 5780
