TURN(1) TURN(1) (GENERAL INFORMATION) turnutils_* TURN . 1. turnutils_uclient: UDP TCP TLS DTLS . ( !) bin/ . 2. turnutils_peer: (stateless) -UDP <> (relay <>). UDP (echo ). ( !) -- (client-to-client) ( <> <<-y>> ) turnutils_peer . bin/ . 3. turnutils_stunclient: STUN. bin/ . 4. turnutils_rfc5769check: STUN/TURN . . <> . examples/ : $ cd examples $ ./scripts/secure_relay.sh 5. turnutils_natdiscovery: NAT RFC5780 . (Mapping) (Filtering) NAT . TURN IP ! 6. turnutils_oauth: ( AEAD) access_token OAuth . access_token . JSON OAuth PoP . RFC7635 B 8 . access_token rfc7635 examples/scripts/oauth.sh . ===================================== (NAME) turnutils_uclient - . (SYNOPSIS) $ turnutils_uclient [-tTSvsyhcxg] [options] . API / libevent . ( ) () . . (octet stream) . . : -t TCP TURN ( UDP ). -b SCTP TURN ( UDP ). -T TCP ( - UDP). -t -y -c -s -e -r -g . -b . -P Passive TCP ( RFC6062 ). -T . -S SSL: SSL/TLS TCP DTLS UDP TLS/SCTP SCTP. -U ( eNULL): SSL/TLS TCP DTLS UDP. -v ( ). -s "Send" TURN TURN Channels . -y (client-to-client): RTP/RTCP RTP/RTCP . turnutils_peer . -h . -c rtcp . -x IPv6 ( RFC6156). -X IPv4. -g DONT_FRAGMENT TURN. -D (padding) UDP ( pjnath). -N ( ). -R . -O (DOS). -M TURN ICE Mobility. -I TURN ( ). -G (create permissions channel bind). -B . -Z (SSODA). -c . -J oAuth kid='north' 'union' 'oldempire'. -Y (Load-generator): packet TURN (flood) alloc invalid TURN . -c -y . --no-even-port EVEN-PORT ALLOCATE . clnet_allocate -c 0 -1 --multiplex-peer turnserver 400 . --no-even-port alloc-flood --multiplex-peer . --listener-threads () loadgen ( -K N ). auto: 0 -m < 4 1 -m >= 4 . 0 (single-event-base) . libevent (round-robin) (shard) . 4. --sender-threads ( ) loadgen. auto: 0 -m < 4 2 -m >= 4 . 0 ( timer_handler ). libevent sendmsg UDP-GSO ( sendmmsg GSO) . 4. : -l (: 100 ). -i ( ). -k ( ). -E CA . -p TURN (: 3478 5349 ). -n (: 5). load-generator -n . . -d ( ). -L IP (). -m (: 1 2 4 ). -e (peer). -r (: 3480). -z (: 20). load-generator (packet) (invalid) 0 . -u STUN/TURN. -w STUN/TURN. -W (secret) TURN REST API. << >> "north" value turn_secret static-auth-secret . -C () / TURN REST API . : . -F (Cipher suite) TLS/DTLS. DEFAULT . -o (attribute) ORIGIN STUN. -a ALLOCATE. . load-generator: o packet / TURN (no pacing) . o alloc -e . o alloc -e ip:port . o invalid -e (payload) -l . "examples/scripts" ..SH ====================================== (NAME) turnutils_peer - (echo backend) UDP. (SYNOPSIS) $ turnutils_peer [-v] [options] (DESCRIPTION) (peer) turnutils_uclient . : -p UDP (: 3480). -d (). -L turnutils_peer. IPv4 IPv6 . IPv4 IPv6 . -v (Verbose). ======================================== (NAME) turnutils_stunclient - STUN. (SYNOPSIS) $ turnutils_stunclient [options] (DESCRIPTION) STUN RFC 5389 <<>> ( UDP) . : -p STUN (: 3478). -L (). -f RFC 5780. -c (binding) STUN . -i (: 1000). -t (: 3000). turnutils_stunclient STUN RFC 5780 ( ) turnutils_stunclient NAT . (Continuous) Ctrl-C // . STUN <<>> <<>> (RFC 3489) ..SH ===================================== (NAME) turnutils_rfc5769check - STUN . (SYNOPSIS) $ turnutils_rfc5769check (DESCRIPTION) turnutils_rfc5769check STUN RFC 5769 . . : $ turnutils_rfc5769check ===================================== (NAME) turnutils_natdiscovery - NAT RFC5780. (SYNOPSIS) $ turnutils_natdiscovery [options] (DESCRIPTION) turnutils_natdiscovery (Mapping) (Filtering) NAT NAT Endpoint-Independent Address-Dependent Address and Port-Dependent / NAT Endpoint-Independent Address-Dependent Address and Port-Dependent . NAT -m -f -c -H . : -m (mapping) NAT -f (filtering) NAT -t NAT (-T) -c (collision) NAT -H (hairpinning) NAT -P Padding NAT : -p STUN (: 3478) -L () -l ( -L ) -A () (collision) -T () : $ turnutils_natdiscovery -m -f stun.example.com.SH ===================================== (NAME) turnutils_oauth - / / access_token OAuth (SYNOPSIS) $ turnutils_oauth [options] (DESCRIPTION) turnutils_oauth / access_token OAuth AEAD ( ) . (Auth Server) access_token access_token . access_token . JSON OAuth PoP . RFC7635 B . Auth Server <> / <> <> / <> <> . access_token rfc7635 examples/scripts/oauth.sh . -e / -d access_token . : -h, --help -v, --verbose (verbose) -e, --encrypt -d, --decrypt : -i, --server-name ( ) -j, --auth-key-id Auth ( ) -k, --auth-key Auth base64 -l --auth-key-timestamp Auth ( epoch) -m, --auth-key-lifetime Auth -n, --auth-key-as-rs-alg Authorization Server(AS) - Resource Server(RS) -o, --token-nonce (nonce) base64 base64(12 octet) = 16 char -p, --token-mac-key MAC base64 base64(32 octet) = 44 char -q, --token-timestamp ( - Unix) UTC / . : unixtimestamp . (: gmtime ) -r, --token-lifetime (: 3600) -t, --token base64 -u, --hmac-alg hmac stun : $ turnutils_natdiscovery.SH =================================== (DOCS) : $ man turnutils : $ man -M man turnutils . ===================================== (FILES) /etc/turnserver.conf /var/db/turndb /usr/local/var/db/turndb /var/lib/turn/turndb /usr/local/etc/turnserver.conf ================================= (DIRECTORIES) /usr/local/share/turnserver /usr/local/share/doc/turnserver /usr/local/share/examples/turnserver =================================== (STANDARDS) STUN RFC 5389 TURN RFC 5766 TURN-TCP RFC 6062 TURN IPv6 RFC 6156 STUN/TURN RFC 5769 NAT STUN RFC 5780 ==================================== (SEE ALSO) turnserver, turnadmin ====================================== (WEB RESOURCES) : https://github.com/coturn/coturn : https://github.com/coturn/coturn/wiki : https://groups.google.com/forum/?fromgroups=#!forum/turn-server-project-rfc5766-turn-server ====================================== (AUTHORS) AUTHORS.md coturn . 17 May 2026 TURN(1)