Voice
Available on builds with
voiceorvoice-bundledfeature enabled.
Support status
| OS | Browser | Version | Status | Tested at |
|---|---|---|---|---|
| Linux | Firefox | 147.0 | Works | 28.01.26 |
| Linux | Google Chrome | 134.0 | Works | 30.03.25 |
| Linux | Ungoogled Chromium | 134.0 | User fix | 30.03.25 |
| Linux | Ungoogled Chromium | 126.0 | User fix | 30.03.25 |
| Win10 | Firefox | 144.0 | Works | 24.10.25 |
| Win10 | Google Chrome | 140.0 | Works | 26.09.25 |
| Win10 | Google Chrome | 134.0 | Works | 01.04.25 |
| Win10 | Librewolf | 140.0.4 | Works | 25.07.25 |
Sorting order: OS asc, Browser asc, Ver desc
Operation
Terms:
- main server -
dcas, main binary that do http API, gateway WS, CDN, etc; - voice server -
dcas_voice, does voice WS and WebRTC; - voice region - a setting in vanilla client;
Notes:
- normal operation is as follows:
- add section
[voice.REGION_NAME]to config; - let’s assume you set
connect_modetolocal; REGION_NAMEis to be replaced w/ your region name;- start voice server
./dcas_voice -s server/voice.REGION_NAME.sock; -smeans ‘controlling socket path’;- (re)start main server;
- it should successfully connect to a voice server;
- voice server should tell (in logs) that it got new client;
- in client, you should see
REGION NAMEin voice channel settings;
- add section
Configuration
Example configuration as follows:
[voice.region_1]
connect_mode = "local" # local = talk w/ voice server via `server/voice.region_1.sock`
gw_scheme = "ws" # this scheme would be reported to clients
gw_pub_host = "10.8.0.2" # report this host to clients
gw_pub_port = 9002 # report this port to clients
gw_bind = "0.0.0.0" # bind websocket server to this ip
gw_port = 9002 # bind websocket server to this port
data_host = "10.8.0.2" # MUST be a valid non-localhost IP
data_bind = "0.0.0.0" # bind STUN+SRTP to this ip
data_port = 9003 # bind STUN+SRTP to this port
[voice.region_2]
# Similar to region_1
Note: you have to set gw_pub_host and data_host to valid non-localhost
IPs, otherwise users wont be able to connect to voice. 127.0.0.1 or
192.168.1.12 wouldn’t work!
Metrics
Available on builds with
metricsfeature enabled.
Voice server metrics are routed to main server with voice_api::METRICS_INTERVAL_MS
interval (10s by default) and included in Prometheus metrics list as-is.
See complete list of voice server metrics in voice/src/metrics.rs.