В настоящее время у нас имеется парк серверов TURN, развернутых по всему миру, и для развертывания нового программного обеспечения на каждом из них может потребоваться много времени.Мы пытались провести коллективное обсуждение идей развертывания в TURN, не истощая вызовы (т. Е. Перемещать вызовы с одного сервера TURN на другой в режиме реального времени).
Поддерживает ли TURN такого рода вещи из коробки?Например, можем ли мы использовать механизм STUN Error 300 - alternate-server
для отключения клиентов от TURN server A
и на TURN server B
во время разговора в реальном времени?
Наша текущая настройка: client <-> TURN <-> TURN <-> client
.
МыМы также подумали, что, возможно, мы могли бы использовать многоуровневую функциональность, чтобы разделить поток, а затем перебрать серверы TURN.Вроде как скользящее развертывание.
Последний вариант - это код пользовательского SFU в Rust или что-то, что поддерживает каждый наш сценарий использования.Однако нам пришлось бы обновить клиентский код, что на данный момент кажется ... довольно сложным:).
Клиенты используют PJSIP.