SFU health: expose ice_servers for WebRTC clients (M2).

Include coturn turn_host credentials from lab config alongside public STUN.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Anton Afanasyeu
2026-08-07 22:45:52 +02:00
parent 524170963d
commit aa98516d3e
2 changed files with 31 additions and 4 deletions

View File

@@ -8,6 +8,22 @@ $janus = janusClient();
$info = $janus->info();
$online = isset($info['janus']) && $info['janus'] === 'server_info';
$turnHost = trim((string) sfuConfig('turn_host', ''));
$turnPort = (int) sfuConfig('turn_port', 3478);
$turnUser = trim((string) sfuConfig('turn_user', ''));
$turnPass = trim((string) sfuConfig('turn_pass', ''));
$iceServers = [
['urls' => 'stun:stun.l.google.com:19302'],
['urls' => 'stun:stun1.l.google.com:19302'],
];
if ($turnHost !== '') {
$iceServers[] = [
'urls' => 'turn:' . $turnHost . ':' . $turnPort . '?transport=udp',
'username' => $turnUser,
'credential' => $turnPass,
];
}
echo json_encode([
'ok' => true,
'sfu' => [
@@ -18,5 +34,7 @@ echo json_encode([
'signaling_url' => sfuConfig('signaling_url', 'wss://apps.f0xx.org/app/androidcast_project/sfu/ws'),
'ws_url' => '/app/androidcast_project/sfu/ws',
'api_base' => '/app/androidcast_project/sfu/api',
'ice_servers' => $iceServers,
'turn_host' => $turnHost !== '' ? $turnHost : null,
],
], JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);