/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 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 for TLS/DTLS. Default value is DEFAULT. -o - the ORIGIN STUN attribute value. -a Bandwidth for the bandwidth request in ALLOCATE. The default value is zero. -K, --listener-threads 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 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.