Xirsys iceConnectionStatus не удалось

Я разрабатываю одно приложение для видеозвонков. В настоящее время используется сервер Xirsys для оглушения и поворота. Я использую результат https://service.xirsys.com/ice качестве моей конфигурации. Это правильное имя пользователя и учетные данные для использования на странице Javascript или что-то еще. Если это не так, пожалуйста, укажите, где я получу правильные значения iceServers. iceServers = [ { "url": "stun:turn01.uswest.xirsys.com" }, { "username": "0xxxxxx8-fxxc-1xx6-bxxb-bxxxxxxxxxx8", "url": "turn:turn01.uswest.xirsys.com:80?transport=udp", "credential": "0xxxxxxe-fxxc-1xx6-axx0-axxxxxxxxxx9" }, { "username": "0xxxxxx8-fxxc-1xx6-bxxb-bxxxxxxxxxx8", "url": "turn:turn01.uswest.xirsys.com:3478?transport=udp", "credential": "0xxxxxxe-fxxc-1xx6-axx0-axxxxxxxxxx9" }, { "username": "0xxxxxx8-fxxc-1xx6-bxxb-bxxxxxxxxxx8", "url": "turn:turn01.uswest.xirsys.com:80?transport=tcp", "credential": "0xxxxxxe-fxxc-1xx6-axx0-axxxxxxxxxx9" }, { "username": "0xxxxxx8-fxxc-1xx6-bxxb-bxxxxxxxxxx8", "url": "turn:turn01.uswest.xirsys.com:3478?transport=tcp", "credential": "0xxxxxxe-fxxc-1xx6-axx0-axxxxxxxxxx9" }, { "username": "0xxxxxx8-fxxc-1xx6-bxxb-bxxxxxxxxxx8", "url": "turns:turn01.uswest.xirsys.com:443?transport=tcp", "credential": "0xxxxxxe-fxxc-1xx6-axx0-axxxxxxxxxx9" }, { "username": "0xxxxxx8-fxxc-1xx6-bxxb-bxxxxxxxxxx8", "url": "turns:turn01.uswest.xirsys.com:5349?transport=tcp", "credential": "0xxxxxxe-fxxc-1xx6-axx0-axxxxxxxxxx9" } ];
Примечание: он работает в одной сети, но не в другой сети. Даже в другой сети я могу получить входящий вызов, но после получения вызова iceConnectionState не удается.
Я также поднял подобный вопрос здесь, где я использовал numb в качестве сервера оглушения и поворота.

Заранее спасибо.

1 ответ

Решение

Строка ICE должна использоваться "как есть" в конфигурации ice для вашего приложения WebRTC. Обратите внимание, однако, что учетные данные ICE действительны только в течение 30 секунд. Вам необходимо запросить новую строку ICE непосредственно перед каждым подключением.

Локальные сетевые подключения будут работать БЕЗ допустимой строки ICE, потому что ваша трансляция NAT НЕ будет использовать TURN / STUN. Это потому, что ваш NAT сам переводит ваш локальный IP. Поэтому локальные сетевые подключения всегда будут работать (если у вас нет необычной ситуации NAT). Если вы использовали учетные данные ICE, не обновляя их перед каждым вызовом, это, безусловно, будет причиной сбоя внешних подключений (или, безусловно, будет способствовать возникновению проблемы).

подветренный

Другие вопросы по тегам