STUN and TURN servers
Calls connect peers directly. STUN helps each side discover its public address; TURN relays the media when a direct path is blocked (strict firewalls, symmetric NAT, some mobile networks).
Defaults
Quibble ships working defaults so calls just work with no setup:
STUN: Cloudflare (
stun:stun.cloudflare.com:3478) - free, no account.TURN: Metered’s shared open relay - free, no account.
The default TURN is shared by every Quibble user and is rate-limited. It is fine for trying things out, but for reliable calls under strict networks, use your own.
Which servers need an API key?
STUN is usually keyless. TURN almost always needs credentials, because relaying traffic costs bandwidth. Common providers:
Provider |
Needs key? |
Notes |
|---|---|---|
Metered (shipped default) |
No (shared key baked in) |
Rate-limited, shared by everyone |
Metered (your own) |
Yes |
Free tier; sign up for a username + credential |
Twilio |
Yes |
Pay per GB |
Cloudflare Realtime TURN |
Yes |
Requires a token |
Self-hosted coturn |
You set it |
Full control, no third party |
Use your own server
Open Settings → STUN/TURN and fill in:
TURN Server - e.g.
turn:your.host:3478Username and Password / API key - from your provider
Your TURN server then replaces the shared default. Settings are stored locally on your device.
To set a default for every client a server hands out, start the server with TURN_URL,
TURN_USERNAME, and TURN_CREDENTIAL (or a full QUIBBLE_ICE_SERVERS_JSON list). See
server.md.