Short dialog from a YouTube video about where to host TURN servers for best media quality. Speakers recommend hosting TURN servers geographically close to users, using multiple servers for multi-continent calls, leveraging cloud providers' routing, and considering managed vendors (Cloudflare, Twilio) with A/B testing to measure latency. They suggest starting with one vendor (low cost) and only optimizing or switching when users complain because swapping TURN providers is inexpensive.
Chapters
So where should you host your turn server for best possible media quality?
As close to the user as possible.
Okay, so if I've got a user, let's say in France, I should have the machine hosted in AWS Paris or whatever.
Yes, yes. But then you have a connection between continents and then it becomes a much more tricky question because, oh, we're in a call.
Wait, this call that we're doing now?
Yes, yes. If it was relayed, would it be relayed via a server in France in the middle? Maybe a server in Israel, a server here on the west coast in the U.S. okay, it depends.
So now I would rather probably host two machines or two turn servers next to these two users.
Yes, yes. And hopefully they would leverage the fact that between cloud providers they have much better routing of packets.
Okay. But I guess this means now that if I need to start hosting turn servers, I need probably a lot more than one in a lot more places and I need to start dealing with this headache.
Yes. Because you're like, okay, I have so many regions, I have different amount of users in each region, so it becomes a lot of headache and it's turn. So it should be like, okay, can we just pay someone for it?
Yeah. So we are going to pay Cloudflare or Twilio or the other vendors out there?
Yes, yes. And the question is, how good are these? And the answer is you need to measure them. So if you need to pick a vendor, you should probably start with two, because replacing turn servers is just replacing the credentials and the URL. Then you would do AB testing, measure who has better time from the users to the turn server on average, and then lower round trip time.
Okay. And I think something really, really small and minor, almost nobody cares. Which means just pick one, use them and wait until enough people complain and then start figuring out if you need to optimize that instead of starting the optimization in advance. Because switching from one turn vendor to another to your own in house implementation doesn't take much work. There is no risk involved.