Кандидаты в реле не генерируются в Google Chrome

Для тестирования, если я получаю кандидатов в эстафету, я использую эту страницу: http://googlechrome.github.io/webrtc/samples/web/content/peerconnection/trickle-ice/. Чтобы протестировать Chrome 40, я предоставил URL своей очереди и учетные данные. После нажатия кнопки "Собрать кандидатов" я не вижу ни одного кандидата. Проделав тот же тест с Firefox 36, я нашел кандидатов на эстафету. В чем может быть возможная проблема? Для дальнейшего изучения проблемы я заглянул в журнал Wireshark. Я обнаружил, что от Firefox формат запроса оглушения включает в себя:

STUN 146 Allocate Request UDP lifetime: 3600 user: lazy realm:  with nonce

Но от хрома это немного отличается

STUN 70 Allocate Request UDP

Кажется, код запроса не совпадает. Кроме того, запрос от Chrome не включает срок жизни, пользователя и свойства области.

1 ответ

Я знаю, что этот вопрос уже устарел, однако по моему опыту формат описания сервера TURN (в отношении аутентификации) должен быть отформатирован по-разному в Chrome и Firefox.

Для chrome вы можете использовать:{"url": "turn:user@turn.example.com", учетные данные: "пароль"},

Для Firefox формат имеет вид: {"url": "turn:turn.example.com", 'hasCredentials': true, имя пользователя:"user", учетные данные: "пароль"},

Может быть, вы можете проверить источник, чтобы увидеть, как серверы поворотов установлены в примере.

Изменить: в то время как формат списка серверов изменился в спецификации ( https://www.w3.org/TR/webrtc/). В настоящее время все известные мне реализации поддерживают формат:

{ "urls": ["turns:turn.example.org", "turn:turn.example.net"],
   "username": "user",
   "credential": "myPassword",
   "credentialType": "password"
}

В Edge, однако, вам нужно включить строку запроса? Transport=udp в URL.

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