Skip to content

Commit d6cfb13

Browse files
committed
docs: Document configuring wire-server for TURN discovery
1 parent b9d0e78 commit d6cfb13

File tree

1 file changed

+68
-0
lines changed

1 file changed

+68
-0
lines changed

docs/src/how-to/administrate/restund.rst

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,74 @@ Restund (TURN)
55

66
.. _allocations:
77

8+
Wire-Server Configuration
9+
~~~~~~~~~~~~~~~~~~~~~~~~~
10+
11+
The wire-server can either serve a static list of TURN servers to the clients or
12+
it can discovery them using DNS SRV Records.
13+
14+
Static List
15+
+++++++++++
16+
17+
To configure a static list of TURN servers to use, override
18+
``values/wire-server/values.yaml`` like this:
19+
20+
.. code:: yaml
21+
22+
# (...)
23+
24+
brig:
25+
# (...)
26+
turnStatic:
27+
v1:
28+
# v1 entries can be ignored and are not in use anymore since end of 2018.
29+
v2:
30+
- turn:server1.example.com:3478 # server 1 UDP
31+
- turn:server1.example.com:3478?transport=tcp # server 1 TCP
32+
- turns:server1.example.com:5478?transport=tcp # server 1 TLS
33+
- turn:server2.example.com:3478 # server 2 UDP
34+
- turn:server2.example.com:3478?transport=tcp # server 2 TCP
35+
- turns:server2.example.com:5478?transport=tcp # server 2 TLS
36+
turn:
37+
serversSource: files
38+
39+
DNS SRV Records
40+
+++++++++++++++
41+
42+
To configure wire-server to use DNS SRV records in order to discover TURN
43+
servers, override ``values/wire-server/values.yaml`` like this:
44+
45+
.. code:: yaml
46+
47+
# (...)
48+
49+
brig:
50+
# (...)
51+
turn:
52+
serversSource: dns
53+
baseDomain: prod.example.com
54+
discoveryIntervalSeconds: 10
55+
56+
When configured like this, the wire-server would look for these 3 SRV records
57+
every 10 seconds:
58+
59+
1. ``_turn._udp.prod.example.com`` will be used to discover UDP port for all the
60+
turn servers.
61+
2. ``_turn._tcp.prod.example.com`` will be used to discover the TCP port for all
62+
the turn servers.
63+
3. ``_turns._tcp.prod.example.com`` will be used to discover the TLS port for
64+
all the turn servers.
65+
66+
At least one of these 3 lookups must succeed for the wire-server to be able to
67+
respond correctly when ``GET /calls/config/v2`` is called. All successful
68+
responses are served in the result.
69+
70+
In addition, if there are any clients using the legacy endpoint, ``GET
71+
/calls/cofnfig``, they will be served by the servers listed in the
72+
``_turn._udp.prod.example.com`` SRV record. This endpoint, however, will not
73+
serve the domain names received inside the SRV record, instead it will serve the
74+
first ``A`` record that is associated with this domain name.
75+
876
How to see how many people are currently connected to the restund server
977
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1078

0 commit comments

Comments
 (0)