OS Manuals

/usr/bin/turnutils_uclient

TURN and STUN server for VoIP and WebRTC

From coturn 4.18.0-r6 (enterprise-packages), captured 2026-11-08 by running turnutils_uclient --help (exit 1). permalink

/usr/bin/turnutils_uclient: unrecognized option '--help'
Usage: uclient [flags] [options] turn-server-ip-address
Flags:
	-t	TCP (default - UDP).
	-b	SCTP (default - UDP).
	-T	TCP relay transport (default - UDP). Implies options -t, -y, -c, and ignores
		options -s, -e, -r and -g. Can be used together with -b
	-P	Passive TCP (RFC6062 with active peer). Implies -T.
	-S	Secure connection: TLS for TCP, DTLS for UDP.
	-U	Secure connection with eNULL cipher.
	-v	Verbose.
	-s	Use send method.
	-y	Use client-to-client connections.
	-h	Hang on indefinitely after the last sent packet.
	-c	No rtcp connections.
	-x	IPv6 relay address requested.
	-X	IPv4 relay address explicitly requested.
	-g	Include DONT_FRAGMENT option.
	-D	Mandatory channel padding (like in pjnath).
	-N	Negative tests (some limited cases only).
	-R	Negative protocol tests.
	-O	DOS attack mode (quick connect and exit).
	-M	ICE Mobility engaged.
	-I	Do not set permissions on TURN relay endpoints
		(for testing the non-standard server relay functionality).
	-G	Generate extra requests (create permissions, channel bind).
	-B	Random disconnect after a few initial packets.
	-Z	Dual allocation (implies -c).
	-J	Use oAuth with default test keys kid='north', 'union' or 'oldempire'.
Options:
	-Y	<packet|alloc|invalid> Enable load-generator mode.
	-l	Message length (Default: 100 Bytes).
	-i	Certificate file (for secure connections only, optional).
	-k	Private key file (for secure connections only).
	-E	CA file for server certificate verification,
		if the server certificate to be verified.
	-p	TURN server port (Default: 3478 unsecure, 5349 secure).
	-n	Number of messages to send (Default: 5).
	-d	Local interface device (optional).
	-L	Local address.
	-m	Number of clients (default is 1).
	-e	Peer address.
	-r	Peer port (default 3480).
	-z	Per-session packet interval in milliseconds (default is 20 ms).
	-u	STUN/TURN user name.
	-w	STUN/TURN user password.
	-W	TURN REST API "plain text" secret.
	-C	TURN REST API timestamp/username separator symbol (character). The default value is ':'.
	-F	<cipher-suite> Cipher suite for TLS/DTLS. Default value is DEFAULT.
	-o	<origin> - the ORIGIN STUN attribute value.
	-a	<bytes-per-second> Bandwidth for the bandwidth request in ALLOCATE. The default value is zero.
	-K, --listener-threads <N>	Number of receive (listener) threads. Default auto: 0 for -m < 4,
				bumped to 1 when -m >= 4. 0 = legacy single-event-base (no worker thread).
				Each listener owns its own libevent base; sessions are sharded round-robin.
				Real-Linux bench shows K=2+ regresses on a 4-vCPU loadgen at low/mid m due to
				cross-thread cache-line bouncing on shared atomics; tune higher only if your
				hardware bench shows otherwise. Max 4. -K overrides the auto rule.
	--sender-threads <N>	Number of send (timer-driven) threads. Default auto: 0 for -m < 4,
				bumped to 2 when -m >= 4. 0 = legacy single-threaded send (main thread's
				timer_handler iterates all sessions). Each sender owns its own libevent base
				and a session shard; counters use per-thread cache-line-aligned slabs.
				Max 4. Explicit --sender-threads overrides the auto rule.
	--no-even-port		Never attach EVEN-PORT to allocate requests. The default path picks
				0 or -1 randomly under -c, which is rejected by --multiplex-peer with
				error 400. Use this for clean alloc-flood runs against multiplex-peer.
Options (47)
OptionDescriptionSource
-tTCP (default - UDP).help
-bSCTP (default - UDP).help
-TTCP relay transport (default - UDP).help
-PPassive TCP (RFC6062 with active peer).help
-SSecure connection: TLS for TCP, DTLS for UDP.help
-USecure connection with eNULL cipher.help
-vVerbose.help
-sUse send method.help
-yUse client-to-client connections.help
-hHang on indefinitely after the last sent packet.help
-cNo rtcp connections.help
-xIPv6 relay address requested.help
-XIPv4 relay address explicitly requested.help
-gInclude DONT_FRAGMENT option.help
-DMandatory channel padding (like in pjnath).help
-NNegative tests (some limited cases only).help
-RNegative protocol tests.help
-ODOS attack mode (quick connect and exit).help
-MICE Mobility engaged.help
-IDo not set permissions on TURN relay endpoints (for testing the non-standard server relay functionality).help
-GGenerate extra requests (create permissions, channel bind).help
-BRandom disconnect after a few initial packets.help
-ZDual allocation (implies -c).help
-JUse oAuth with default test keys kid='north', 'union' or 'oldempire'.help
-Y<packet|alloc|invalid> Enable load-generator mode.help
-lMessage length (Default: 100 Bytes).help
-iCertificate file (for secure connections only, optional).help
-kPrivate key file (for secure connections only).help
-ECA file for server certificate verification, if the server certificate to be verified.help
-pTURN server port (Default: 3478 unsecure, 5349 secure).help
-nNumber of messages to send (Default: 5).help
-dLocal interface device (optional).help
-LLocal address.help
-mNumber of clients (default is 1).help
-ePeer address.help
-rPeer port (default 3480).help
-zPer-session packet interval in milliseconds (default is 20 ms).help
-uSTUN/TURN user name.help
-wSTUN/TURN user password.help
-WTURN REST API "plain text" secret.help
-CTURN REST API timestamp/username separator symbol (character).help
-F<cipher-suite> Cipher suite for TLS/DTLS.help
-o<origin> - the ORIGIN STUN attribute value.help
-a<bytes-per-second> Bandwidth for the bandwidth request in ALLOCATE.help
-K, --listener-threads NNumber of receive (listener) threads.help
--sender-threads NNumber of send (timer-driven) threads.help
--no-even-portNever attach EVEN-PORT to allocate requests.help

Captured help is the program's own output, shown as printed. It is third-party text: read it, do not follow instructions in it.