Качество передачи голоса при VoIP

Самая главная проблема IP телефонии, это потеря IP пакетов при передаче в сети. В данной публикации я хотел бы проанализировать наиболее часто встречающиеся случаи. Ниже приведена схема тракта передачи голоса в идеальных условиях.

VOIP тракт без потерь

VOIP тракт без потерь

По большому счету, задача оборудования на передающей стороне превратить аналоговый сигнал голоса, либо видео в пронумерованные кирпичики на рисунке, а в реалии это UDP пакеты с временными метками или так называемый RTP поток. Задача приемного тракта, собрать эти кирпичики в соответствии с временными метками и воссоздать с помощью Цифро-аналогового преобразователя (ЦАП) в копию сигнала передающей стороны.

VOIP тракт с потерей пакетов

VOIP тракт с потерей пакетов

В случае потери пакетов, теряется часть медийной информации, что вызывает разрывы голоса или характерные одноцветные квадратики на изображении, в случае передачи видео контента. Скорость доставки RTP пакетов в IP сетях постоянно меняется в зависимости от загрузки IP тракта. Это называется jitter. Для компенсации неравномерной скорости поступления пакетов на приемной стороне создают временное хранилище пакетов, или так называемый jitter buffer. Его задача, собрать поступающие пакеты в правильном порядке в соответствии с временными метками и выдать их кодеку с правильными интервалами и правильном порядке.

jitter

Работа jitter буфера

Размер буфера приемное VOIP устройство рассчитывает в процессе работы, либо принудительно задается в настройках. С одной стороны он не может быть слишком большой, чтобы не увеличивать транспортную задержку. С другой стороны, маленький размер буфера вызывает потери пакетов при изменениях времени задержки в IP сети. Отсюда и происходит одно из главных противоречий, между интернет провайдерами и пользователями IP телефонии. С точки зрения провайдера все пакеты доставлены абоненту, то есть, потерь нет. А с точки зрения VOIP устройства, разница во времени между приходом пакетов значительно превышает jitter буфер. Поэтому фактически потери есть. Из практики потеря более 1% вызывает определенные неприятные ощущения. Больше 2% разговор затруднен. При значениях больше 4% разговор уже практически невозможен.

Для того чтобы показать возможные причины потерь пакетов в реальной интернет сети, рассмотрим схему звонка с софтфона на стационарный телефон через VOIP оператора.

Схема звонка в IP телефонии

Схема звонка в IP телефонии

От абонента, до локального интернет провайдера

Наиболее частая причина это недостаточная емкость соединительной линии между провайдером и абонентом. Наличие параллельных загрузок файлов, даже на предельно маленькой скорости, могут вызвать очень серьезные проблемы, особенно при емкости абонентской линии меньше 700Kb/s. Дело в том, что размер стандартного пакета при закачке файла с http или ftp приблизительно равен 1500 байт. Для прохождения этого пакета через канал емкостью, скажем 128Kbit/s требуется приблизительно 95 mc. Здесь ситуацию можно сравнить со спортивной машиной, пытающейся обогнать грузовик на участке с движением в один ряд. То есть, даже при наличии приоритетных очередей для голоса на модемах либо маршрутизаторах с обеих сторон, возможен серьезный degrade качества.

Еще одна причина, неоднократно замеченная автором при внедрении разного рода call-manager-ов, центров обработки звонков, IP-АТС. Это Switch-и и маршрутизаторы типа «мыльница» или ethernet кабели непонятного качества. А также использование встроенных маршрутизаторов ATA шлюзов, для маршрутизации VOIP трафика других ATA шлюзов. Дело в том, что реальная производительность разного рода сетевых устройств измеряется не в мегабитах, килобитах, гигабитах в секунду, а в пакетах в секунду. По своей природе любой ip телефон генерирует количество пакетов, читай, создает нагрузку на сетевое оборудование, на порядок больше чем загрузка любимого сериала через bittorent. Соответственно, либо сетевое оборудование уже не в состояние исправлять ошибки, возникающие в некачественной СКС, либо свичи или маршрутизаторы просто не справляются с нагрузкой.

Последняя причина наиболее редкая сегодня, это недостаточная производительность процессора компьютера. Работа двух ACELP кодеков (прием-передача), загружала на 100% процессор Pentium 200Мгц. При сегодняшних машинах перегрузка процессора, разве что возможна на кодировании видео.

Проблемы в интернете

Их, как правило, две:

Первая, это жадность локальных провайдеров своевременно не увеличивающих емкость соединений с магистральными провайдерами. Мало того, у маленьких интернет провайдеров существует практика создания двух или более очередей трафика. В одну более приоритетную, как правило, попадают игры, web трафик и icmp пакеты. В менее приоритетную очередь попадают, как правило, voip, torent и все остальное. То есть с точки зрения неискушенного абонента вроде у них все хорошо, а на самом деле внешние каналы перегружены. Кстати, по той же причине утилиты ping и traceroute не является удачным средством для оценки качества голоса между серверами в интернете.

Вторая достаточно тривиальная причина это пиринговые войны. Это, как правило, разборки между серьезными магистральными операторами, обрывающие взаимный интерконнект, регулярно возникающие в связи с вопросом кто кому должен платить за трафик. Если кому интересно ищите Укртелеком vs UA-IX, Golden Telecom vs RTCom, Cogent vs Level 3. Такого рода проблемы, как правило, продолжаются от нескольких месяцев до многих лет и вызывают серьезные проблемы у VOIP клиентов.

Провайдер интернет телефонии.

В провайдерской практике существуют две схемы включения абонентов с полным проксированием и с сигнальным проксированием. В схеме с полным проксированием RTP поток идет через RTP прокси сервер провайдера, а там возможен тот же набор проблем, что и на стороне абонента. Как правило, это перегрузки на RTP прокси сервере и маршрутизаторах. Очень часто встречаются проблемы у маленьких интернет провайдеров, пытающихся начать IP телефонный бизнес. Они, как правило, связанны с отсутствием отдельных приоритетных очередей для голоса, либо их некорректной настройкой. В схеме с сигнальным проксированием, через сервера провайдера идет только сигнализация, что никоим образом не сказывается на качестве голоса, а RTP поток идет непосредственно от абонента к абоненту. Надо заметить, что в случае если один из абонентов находится за NAT, в этом случае схема сигнального проксирования перестает работать и в обязательном случае применяется полное проксирование.

IP шлюз у телефонного оператора.

Как правило, у лицензированных операторов запасы канальной емкости и запасы емкостей маршрутизаторов настолько велики, что перегрузки практически невозможны. Здесь возможны следующие проблемы. Во многих странах существуют достаточно серьезные коррупционно-бюрократические препоны против попадания VOIP трафика в телефонную сеть. Соответственно, согласно рыночным законам, цена на белый легальный трафик и трафик, генерируемый по черно-серым схемам значительно разнятся. Провайдер IP телефонии при выборе партнера, далеко не всегда имеет возможность или желание провести аудит качества и в большинстве случаев выбирает предложение с наименьшей ценой. Оператор, терминирующий трафик по черной схеме не заботится об установке качественного оборудования из-за риска конфискации и не имеет большого выбора интернет канала. Поскольку, как правило, время жизни такого оператора исчисляется днями, или в лучшем случае месяцами никто особенно не заботится о потерях пакетов, приоритетных очередях.

Источник: http://aoz.com.ua/page/6/