Сигнализация согласует параметры, а ICE помогает выбрать работающее сетевое соединение для медиатрафика.
Сообщения и медиа решают разные задачи
Приложение может успешно передать описание сессии через свой сервер, но участники всё ещё должны найти путь для медиаданных. Разные локальные сети, правила маршрутизаторов и ограничения доступа делают этот этап отдельной частью подключения. Поэтому работающий чат не подтверждает работоспособность видеоканала.
ICE проверяет варианты
Стороны обмениваются кандидатами подключения и проверяют пары адресов. Задача механизма — найти подходящий доступный маршрут. В диагностике полезно смотреть не только на общий статус звонка, но и на выбранную пару кандидатов, состояние соединения и момент смены сети.
STUN и TURN выполняют разные роли
STUN помогает узнать адрес, под которым соединение видно извне. TURN предоставляет ретрансляцию, когда прямой маршрут недоступен. Использование ретранслятора не означает ошибку: в некоторых сетях это необходимый путь. Оно требует серверных ресурсов, поэтому доступность и нагрузку проверяют отдельно.
Проверяйте на нескольких сетях
Для собственного тестового приложения составьте набор сценариев: домашняя сеть, мобильное подключение и переход между ними. Записывайте тип выбранного кандидата и результат воспроизведения. Перед передачей диагностических данных удаляйте сетевые адреса и другие идентификаторы, которые не нужны для разбора.
Источники и справка
Вопросы и комментарии
Вопросы, наблюдения и опыт читателей.
Здесь появятся комментарии читателей после подключения обсуждений.