我们目前在全球范围内部署了TURN服务器群,并且在每个服务器上部署新软件可能都需要一段时间。我们一直在尝试集思广益,以部署到TURN的想法,而不会耗尽呼叫(即将呼叫从一台TURN服务器转移到另一台实时服务器)。
TURN是否支持这种开箱即用的功能?例如,在实时通话期间,我们可以使用STUN Error 300 - alternate-server
机制使客户离开TURN server A
进入TURN server B
吗?
我们当前的设置是client <-> TURN <-> TURN <-> client
。
我们还在考虑,也许我们可以使用多对等功能来拆分流,然后在TURN服务器周围进行某种随机播放。有点像滚动部署。
最后一个选择是在Rust或支持我们每个用例的东西中编写自定义SFU。但是,因此,我们将不得不更新客户端代码,这似乎很困难:)。
客户端正在使用PJSIP。
答案 0 :(得分:2)
TURN不支持此功能。您可以做的最接近的事情是修改服务器,使其在下次客户端尝试刷新分配时返回备用服务器错误,然后让客户端处理该分配并使用新服务器重新启动ICE(假定客户端执行ICE)。