This message was deleted.
# helpdesk
s
This message was deleted.
a
@great-umbrella-58130 might know
đź‘‘ 1
🙏 1
g
Howdy CT. Let me know if I’m understanding correctly, but it sounds like you’ll be running and connecting to LiveKit from within a private network? In this case, you would configure your LiveKit server with the IP address you want your clients to use when connecting for media. You can use either an environment variable, CLI flag, or YAML config to do so. If you’re looking for a way to give a single LiveKit server a different IP address depending on the IP address of the connecting client - that’s a very specific use case we don’t have a good way to handle.
l
Good morning, @great-umbrella-58130, and thanks for your reply. It's more of the second case (I've done the first by specifying the NodeIP). Yes - a single LiveKit that is accessed by multiple clients from multiple different IPs. LiveKit is running inside a private network, but there are multiple gateways to access the private network from remote locations. Can you also confirm my understanding that even in a clustered deployment the cluster as a whole operates with a single logical IP (likely attached to the load balancer)?
(Note: I'd typically solve this with a VPN, but that doesn't seem an option for this solution.)
g
Morning! There are two main types of communication here, via “signal” and “media” layers. The initial “signal layer” connection happens over WebSocket, and the “media layer” happens over UDP. The WebSocket signal connection can come from any IP address, but when a client asks to join a room, LiveKit server needs to tell the client (via signal layer) what server to connect to for media. NodeIP is used to tell the client where to connect for media.
in contrast to the signal layer, there is no load balancing of the media layer. with media, the client connects directly to the LiveKit server hosting the room.
one thing to look into is using TURN
l
Okay, so if I read you right - a specific LiveKit instance in a cluster has its own NodeIP, and when people join a room, the media layer is using that NodeIP...
g
correct
l
...so in my scenario, if each instance was mapped to their access gateway; two people from the same area could join...no problem...
g
right
l
...but if a third person from "Region B" wanted to join the room, they could do so, but would need to connect to the "Region A" gateway.
g
that makes sense
l
Thanks very much. May I please ask you to expand on your TURN suggestion?
g
TURN is used to get around firewalls, and acts like a proxy. If you have a TURN server in each of your regions with access all of your networks, it might be able to proxy the media connection. but I’m not familiar enough with the details here - just something to look into
l
Fair enough - thanks very much for your time and insight.
And, as ever, my thanks to the LiveKit team. It's a great product.
❤️ 1
g
Cheers!
🙏 1