Качество голосового трафика VoIP

Качество голосового трафика VoIP

 

Долгие годы именно качество голосового трафика было сдерживающим фактором, замедляющим и так чрезвычайно стремительные темпы развития IP-телефонии.
Основной проблемой, существенно влияющей на качество голосового трафика, при использовании VoIP, является потеря IP пакетов.
Ниже изображена схема тракта передачи голоса в идеальных (без потерь пакетов) условиях и в реальных (с потерей пакетов).

4.При приеме абонентом-получателем заголовки протоколов удаляются, далее речевые данные восстанавливают первоначальную форму проходя через декодер а затем через цифро-аналоговый преобразователь (ЦАП) и попадают на терминал абонента-получателя.

Потеря пакетов влечет за собой потерю части голосовой информации и вызывает разрывы голоса, - значительное ухудшение качества.


Рассмотрим основные причины потери пакетов:

Абонент-локальныйInternet провайдер.
Основная проблема – это малая и недостаточная емкость соединения между абонентом и провайдером.
Свитчи и маршрутизаторы недостаточно высокого уровня качества. А также использование встроенных маршрутизаторов ATA шлюзов, для маршрутизации VOIP трафика других ATA шлюзов.
Недостаточная производительность процессора компьютера (на сегодняшний день встречается крайне редко).

Интернет
Локальные провайдеры не обеспечивают необходимую емкость соединений с магистральными интернет провайдерами.
Пиринговые войны – жесткая конкурентная борьба между крупными интернет провайдерами, при которой в качестве средств используется отказ от пиринга. Таким образом крупные интернет-провайдеры могут обрывать взаимный интерконнект.

Провайдер интернет телефонии.
Проблемы могут иметь место при использовании полного проксирования RTP через прокси сервер (могут возникать те же проблемы что и на абонентской стороне).

Также весомой проблемой, влияющей на качество голосового и видео контента при использовании VoIP являетсято обстоятельство, что скорость доставки RTP пакетов в IP сетях постоянно меняется в зависимости от загрузки IP тракта. В IP сетях имеют место постоянная задержка прохождения пакетов по IP сети и джиттер(jitter) – задержка между поступлением двух последовательных пакетов.
Время запаздывания можно определить как промежуток времени, затрачиваемый на прохождение речевым сигналом расстояние от абонента-источника до абонента получателя. Запаздывание Т прохождения пакетов через сеть может быть вычислена в виде суммы постоянной составляющей Т (непосредственное время необходимое на прохождения пакетов через сеть + средняя задержка в очередях) и переменной величины j, которая является последствием джиттера: T=T±j.
Распишем основные факторы влияющие на количественные характеристики этих временных параметров.

Влияние сети
Нестабильное и плохо поддающееся расчету время задержки прохождения пакета через сеть. Время обработки пакетов маршрутизаторами и коммутаторами напрямую зависит от загруженности сети. Т.е. при малой загруженности сети линии связи все время доступны и обработка пакетов происходит практически мгновенно. При возрастании загрузки сети начинают образовываться очереди и пакеты могут достаточно долго ждать момента обслуживания. Таким образом можно сделать вывод что время задержки а также джиттер (время задержки между двумя последовательными пакетами) тем больше, чем больше маршрутизаторов и коммутаторов на пути пакета при передаче по сети.

Влияние операционной системы
Большинство приложений IP-телефонии (особенно клиентских) представляет собой обычные программы, выполняемые в среде какой-либо операционной системы, такой как Windows, FreeBSD или Linux. Приложения проводят запросы к периферийным устройствам (платы обработки речевых сигналов, платы систем сигнализации) через интерфейс прикладных программ для взаимодействия с драйверами этих устройств, а доступ к IP-сети осуществляют через Socket-интерфейс.
Практически все современные операционные системы не могут распределять ресурс центрального процессора между несколькими процессами длительностью несколько десятков миллисекунд и не могут реагировать на прерывании от периферийных устройств в тех же временных рамках. Поэтому задержка в передачи данных от сетевых интерфейсов до терминала составляет также несколько десятков миллисекунд, какой бы кодек не применялся бы для кодирования голоса.
Операционная система - важный элемент, имеющий непосредственное влияние на общую скорость работы системы и соответственно время задержки. Для минимизации задержек, вызванных работой операционной системы, применяются шлюзы и IP-телефоны на основе ОС реального времени (VxWorks, pSOS, QNX Neutrino и т.д.), которые используют более сложные алгоритмы разделения ресурсов процессора, с более высоким быстродействием на прерывания и обмен данными между процессорами.
Другое решение – выделение специального отдельного процессора на нужды процессов с высокими временными требованиями, такими как обмен данными между сетевыми интерфейсами и кодеками. В таком случае операционная система задействована только на поддержку протоколов сигнализации и алгоритмов управления соединениями, так как их выполнение не требует жестких временных рамок.

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

Задержки и джиттер, возникающие в ходе передачи пакетов по IP сети, могут значительно исказить информацию, особенно голос и видео, сделав его абсолютно непригодным для восприятия. Стоит отметить что влияние джиттера имеет намного более разрушительное влияние на качества голоса и видео, нежели абсолютное значение задержки.
Для борьбы с негативным влиянием джиттера в терминалах VoIP используется джиттер-буфер. Джиттер-буфер представляет собой устройство, хранящее в памяти некоторое количество прибывших пакетов в течение времени, определяемого его длинной. Пакеты пришедшие после заполнения буфера – отбрасываются (теряются). Далее временные интервалы между пришедшими в разное время пакетами восстанавливаются на основе временных меток пакетов RTP. Джиттер-буфер также, как правило, выполняет функцию восстановления правильной последовательности следования пакетов (в ходе передачи через сеть очередность пакетов может меняться).

Размер буфера устройство IP-телефонии определяется (рассчитывается) в процессе функционирования, либо первоначально задается в настройках. Чрезмерно малая длинна будет приводить к частым потерям не вовремя приходящих («отстающих») пакетов, а чрезмерно большая длинна - к большой нерациональной задержке. На практике имеет место динамически изменяемая длинна буфера. Для выбора оптимальной длины используются эвристические алгоритмы.
Потеря более 1-2% вызывает определенные неприятные ощущения. Больше 2-3% - разговор затруднен. При значениях больше 5% разговор уже практически невозможен.