From 678b1fc3e0cb9f586e996ea760815b66a7498d11 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sun, 6 Apr 2025 18:56:06 +0300 Subject: [PATCH] Add note about LiveKit Server's TURN being unable to work over IPv6 --- docs/configuring-playbook-livekit-server.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/docs/configuring-playbook-livekit-server.md b/docs/configuring-playbook-livekit-server.md index d5d47cb88..94282daa0 100644 --- a/docs/configuring-playbook-livekit-server.md +++ b/docs/configuring-playbook-livekit-server.md @@ -25,8 +25,14 @@ To ensure LiveKit Server functions correctly, the following firewall rules and p - `7882/udp`: ICE/UDP Mux -- `3479/udp`: TURN/UDP +- `3479/udp`: TURN/UDP. Also see the [Limitations](#limitations) section below. -- `5350/tcp`: TURN/TCP +- `5350/tcp`: TURN/TCP. Also see the [Limitations](#limitations) section below. 💡 The suggestions above are inspired by the upstream [Ports and Firewall](https://docs.livekit.io/home/self-hosting/ports-firewall/) documentation based on how LiveKit is configured in the playbook. If you've using custom configuration for the LiveKit Server role, you may need to adjust the firewall rules accordingly. + +## Limitations + +For some reason, LiveKit Server's TURN ports (`3479/udp` and `5350/tcp`) are not reachable over IPv6 regardless of whether you've [enabled IPv6](./configuring-ipv6.md) for your server. + +It seems like LiveKit Server intentionally only listens on `udp4` and `tcp4` as seen [here](https://github.com/livekit/livekit/blob/154b4d26b769c68a03c096124094b97bf61a996f/pkg/service/turn.go#L128) and [here](https://github.com/livekit/livekit/blob/154b4d26b769c68a03c096124094b97bf61a996f/pkg/service/turn.go#L92). \ No newline at end of file