Для работы Zingaya нужно передавать аудио-данные через Интернет, а качество сетевого соединения может меняться в течение звонка.


В большинстве случаев пользователь сервиса не знает, что у него какие-то проблемы с коннектом до того момента пока не станет заметно ухудшение качества звука (например, выпадания звука и фраз). Чтобы это не стало неприятным сюрпризом и не вызвало раздражения лучше предупредить пользователя о проблемах с сетью заранее.

Мы разработали специальный индикатор качества сетевого соединения, который позволяет пользователю виджета видеть информацию о качестве коннекта в реальном времени. Иконка индикатора похожа на значок Wifi (с ним знакомы почти все интернет-пользователи) и работает индикатор по такому же принципу – если потеря пакетов в сети увеличивается, то иконка меняет свой цвет и показывает меньше полосок, если же потеря пакетов в сети уменьшается, то иконка зеленеет и показывает больше полосок. Ниже прведен скриншот интерфейса с индикатором.

   
Технические детали

Эта часть статьи для читателей, которым интересно узнать поглубже как реализована данная функция. Подсистема мониторинга качества сетевого соединения измеряет потерю пакетов в сети (только в случае передачи данных через UDP-based протоколы – sRTP и RTMFP) и потом отправляет данные в виджет. В WebRTC-версии виджета в том числе используются возможности протокола RTCP. Система анализирует только исходящий аудио-поток от виджета, так как в большинстве случаев это наиболее проблемная часть соединения.

  

Источник: blog.zingaya.com