logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

A set of turnutils_* programs provides some utility functionality to be used for testing and for setting

=================================

===================================

====================================

=====================================

======================================

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/turnserver

Docs

       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

See Also