Кандидаты в реле не генерируются в 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.