Я думаю, что ошибка 701 - это более общая ошибка подключения c, которую Trickle ICE использует, чтобы указать, что не получил ответ привязки. Запустите stunclient your.stun.ip.address
с инструментами командной строки по адресу www.stunprotocol.org, чтобы узнать, доступна ли ваша служба STUN из внешнего мира.
Технически STUN требует размещения на устройстве с двумя IP-адресами. и два порта. Обычно это параметр командной строки, чтобы указать, какие IP-адреса сервер должен прослушивать. Но большинство реализаций серверов могут работать на хосте с одним IP-адресом.
Второй IP-адрес и порт на сервере используются для тестов фильтрации клиентов STUN, чтобы определить, какой тип NAT действует. Клиент отправляет запрос привязки на первичный IP-адрес и порт сервера, но с атрибутом запроса на изменение, чтобы сервер отвечал с альтернативного IP-адреса или порта. Чаще всего этот запрос привязки с атрибутом запроса на изменение не выполняется, так как NAT не пересылает трафик c с другого IP / порта.
Тест фильтрации полезен для регистрации того, какой тип NAT у клиента горит. Чтобы можно было отлаживать неудачные соединения и соотносить показатели успешности / неудачи с типом NAT. Это очень или полезно для установления связи.
Я удивлен, что Trickle ICE выдает ошибку. Я не думал, что WebRT C когда-либо использовал атрибут запроса смены. Я только что сделал трассировку Wireshark сеанса Trickle ICE на stun.stunprotocol.org. Я не вижу, чтобы клиент webrt c устанавливал атрибут запроса на изменение ни в одном из двух запросов привязки, которые он делает.
Подробнее см. RF C 5780 Раздел 3.2