Slyber TURN Server Settings

Updated:
Author: Erkin Khidirov

The Slyber TURN Server section inside Slyber Inspector is designed for comprehensive verification of WebRTC traffic relay, network latency diagnostics, and testing both authorization modes.

1. Top Global Telemetry Bar

In the upper-right section of the workspace, there are four summary indicators that update every second:

  • Active pairs: total number of peer pair cards created in the current session.
  • Relay sessions: total number of active relay connections that have successfully completed ICE candidate negotiation; each active pair yields two relay sessions.
  • Total throughput: aggregate incoming bitrate of all active video calls in kilobits or megabits per second.
  • Relayed traffic: total volume of media data in megabytes that has passed through the TURN server under test since the pairs were launched.

The bottom row of the header contains module switching tabs, a link to the documentation, a link to the GitHub repository, and the Reset saved state button, which completely clears saved settings in the browser and deletes uploaded videos from the local IndexedDB database.

2. Turn server configuration Block

The left panel is responsible for configuring the connection to the node under test and selecting the credential provisioning method.

Interface FieldDefault ValueParameter Description
Turn server address127.0.0.1:3478Host and port of the target TURN server
Realm domainturn.localAuthorization realm domain configured on the server
Transport protocoludpTransport protocol: UDP, TCP, TLS, or mixed
Ice transport policyrelay onlyWebRTC candidate gathering policy
Authentication modesecretKey verification mode: secret or redis
Credential ttl3600Time-to-live of generated keys in seconds

Key configuration details:

  • Ice transport policy: by default, the forced relay mode is selected, which disables direct P2P connections and guarantees that the entire media stream routes strictly through the TURN server.
  • Verify server connection: the button in the upper-right corner of the panel sends a STUN Binding test packet to the specified address, checks key storage availability, and displays the exact server response time in milliseconds.

3. Configuring Authorization Modes

Depending on the value selected in the Authentication mode dropdown, one of two additional panels opens:

secret Mode Panel

  • Credential provisioning: selects the method for generating the temporary HMAC-SHA1 password—local calculation by the inspector itself using a shared key, or an HTTP request to the TURN server's own /api/turn-credentials endpoint.
  • Shared secret key: secret passphrase that must match the TURN_SECRET variable on the server side.
  • Turn http api url: address of the TURN server's internal HTTP API for remote credential retrieval.

redis Mode Panel

  • Redis address or url: network address of the Redis server in host and port format or a full connection string.
  • Redis acl username: username for Redis 6+ Access Control Lists (ACL), if used.
  • Redis password: password for authorization in the Redis database.
  • Redis db index: numeric database index, defaults to 0.

In redis mode, whenever a new pair is created, Slyber Inspector automatically generates unique usernames such as p3_u1_da37e6 and p3_u2_da37e6, computes their MD5 hash according to RFC 5389, and writes the keys directly to Redis with the specified TTL.

4. Media pool & pair generator Block

The right panel manages media stream sources and the launching of load test pairs:

  • Upload video files: upload custom video clips from your computer. All selected files are automatically saved in the browser's built-in IndexedDB database, so there is no need to re-upload them after refreshing the page.
  • Add 4 demo streams: instantly creates four synthetic streams with animated Canvas graphics and audio tone generators ranging from 220 to 520 Hz for testing without local files.
  • Clear pool: removes all video clips from the pool and clears browser storage.
  • Pairs to spawn and Spawn pairs: simultaneously launches a specified number of call pairs from 1 to 50; for each pair, the algorithm randomly selects two different video clips from the pool so that peers transmit distinct streams to each other.
  • +1 pair: quickly adds one more pair to the already running connections.
  • Mute all and Terminate all: globally mutes audio across all video players or completely terminates all active sessions.

5. Pair Card and Live Connection Diagnostics

Each created pair is displayed as a separate block divided into a top status bar and two symmetrical participant windows—Peer 1 on the left and Peer 2 on the right.

Card Indicators and Metrics:

  • Pair session status: a colored badge next to the pair number shows the current state—yellow during port allocation or session restart, green during active video and audio transmission, and red if the connection drops.
  • Peer relay address: in the upper-right corner of each participant, a green badge displays the actual external IP address of the TURN server and the allocated relay UDP port, for example, relay 89.111.175.67:49213 for the first peer and relay 89.111.175.67:49212 for the second.
  • Media stream routing: above each player, the name of the outgoing file is shown in the Sending to peer line and the name of the incoming video stream is shown in the Receiving on screen from peer line, allowing you to visually verify that channels are not mixed up.
  • Live peer telemetry: on the right above the player, the current stream bitrate in kilobits per second, volume of received data in megabytes, and round-trip time (RTT) in milliseconds update every second.

Control Buttons Inside the Pair Card:

  • Unmute peer audio / Mute peer audio: enables or disables listening to the incoming audio track of a specific participant via the Web Audio API.
  • Ice restart: triggers the candidate renegotiation procedure pc.createOffer({ iceRestart: true }) without dropping the call. When clicked, the status briefly changes to a yellow session restart indicator, the server allocates a new pair of relay UDP ports, and the stream seamlessly switches to the new route.
  • Revoke redis key: displayed when operating in redis mode, this button allows you to delete a specific participant's key from the Redis database with a single click to test how the server and client respond to access revocation.
  • Remove pair: cleanly closes both WebRTC connections, stops media stream capture, closes signaling sockets, and removes the pair card from the screen.