Description
WebRTC in the browser needs ICE servers. STUN discovers a public address. TURN relays the media when a direct path is impossible. coturn does that work. This plugin does not.
tlloancy Turn Relay signs a username and a password that coturn accepts for a limited time (use-auth-secret). The shared secret stays on the server. Callers receive iceServers for RTCPeerConnection and leave iceTransportPolicy at all.
Other plugins, including a video plugin, call tlloancy_turn_relay_get_ice_servers() when a call starts. They do not collect a TURN host of their own.
Publication is off until you turn it on. A published card is JSON. It never contains the shared secret.
- STUN only — the card lists a
stun:URL. - Shared — the card also lists the credential endpoint. Another site must present an invitation token.
- Private — the card contains the class and nothing else.
You can paste another site’s card URL. Private and loopback addresses are refused. The admin drawing measures latency in your browser with RTCPeerConnection. A figure advertised by the remote card is ignored.
Step-by-step guides: docs/USER-GUIDE.md (English) and docs/MODE-DEMPLOI.md (French).
External services
Nothing is contacted when you only issue credentials for your own coturn host.
If an administrator pastes a card URL, the server fetches that HTTPS URL once. The request sends no secret and no visitor data. The response is limited to 8 KB and redirects are not followed.
If an administrator then enables “During a call” on a shared node and stores that node’s invitation token, a call requests credentials from that node’s endpoint. The request sends the invitation token. It does not send your shared secret or the contents of the call. At most two nodes are asked.
The diagnostics buttons resolve your own TURN host and open a TCP connection to its TLS port. They run only when an administrator clicks them.
Issue a test credential also prints a QR code. The code opens a page on this site. That page runs the TURN test in the phone’s browser with a credential that expires in five minutes. The shared secret is not in the link.
Installation
- Upload the
tlloancy-turn-relayfolder to/wp-content/plugins/. - Activate tlloancy Turn Relay.
- Open Settings tlloancy Turn Relay.
- Enter the TURN host and a shared secret of at least 32 characters. The same secret is configured on coturn as
static-auth-secret. - Leave publication off until you want another site to read a card.
To keep the secret out of the database, define it in wp-config.php:
define( 'TLLOANCY_TURN_RELAY_SECRET', 'paste-a-long-random-secret' );
FAQ
-
Does this plugin relay audio or video?
-
No. coturn relays the media. The plugin only signs credentials and, if you turn it on, publishes a card.
-
Why do the credentials change?
-
The password is visible in the browser. It expires. A fixed TURN user would keep working after someone copies it. An administrator sets the host and the secret once. Visitors never edit them.
-
How does another plugin start a call?
-
tlloancy_turn_relay_get_ice_servers() returns the list. In the browser, enqueue the helper and call
TlloancyTurnRelay.getIceServers(). Guests are allowed by returning true from thetlloancy_turn_relay_can_issuefilter. -
What is the invitation token?
-
It is not the shared secret. A shared card tells another site where to ask for credentials. That request must include the token in the
X-Tlloancy-Turn-Relay-Tokenheader. The HMAC secret never leaves this server. -
How do I test the relay from another network?
-
Open Settings tlloancy Turn Relay, click Issue a test credential, and scan the QR code with a phone on mobile data. The result
Relayplus the public address means the phone reached coturn. -
Can I list every WordPress site that has the plugin?
-
No. A site appears only after an administrator pastes its card URL, and only if that administrator has published the card.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“tlloancy Turn Relay” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “tlloancy Turn Relay” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.1.0
- A five-minute phone test: the diagnostics screen prints a QR code that opens the TURN check with the test credential already loaded.
1.0
- Short-lived TURN credentials for a coturn server configured with
use-auth-secret. - Optional public card, manual nodes, and an admin latency drawing.
