Качество голоса при использовании 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 телефонии при выборе партнера, далеко не всегда имеет возможность или желание провести аудит качества и в большинстве случаев выбирает предложение с наименьшей ценой. Оператор, терминирующий трафик по черной схеме не заботится об установке качественного оборудования из-за риска конфискации и не имеет большого выбора интернет канала. Поскольку, как правило, время жизни такого оператора исчисляется днями, или в лучшем случае месяцами никто особенно не заботится о потерях пакетов, приоритетных очередях итд.

Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong

5 Комментариев

Эхо в VOIP (IP телефонных) сетях

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

Общие принципы

Любой голосовой обмен имеет две составляющие.

  • Тракт передачи. Это путь, по которому идет голос, когда Вы говорите. То есть, это путь от Вашего рта, через микрофон, голосовую сеть, телефон абонента обратной стороны до его уха.
  • Тракт приема. Это путь, по которому идет голос, когда Вы слушаете. То есть ото рта абонента обратной стороны, через его микрофон, голосовую сеть, Ваш телефон, Ваше ухо.
Тракты передачи и приема
Рисунок 1

Эхо, это утечка голоса из тракта передачи в тракт приема. На рисунке 2, показан пример, когда Вы слышите эхо в своем телефоне.

Исходя из рисунка понятно, что причиной слышимого эха, всегда является обратная сторона.

Рисунок 2
Рисунок 2

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

Для инженеров, при транспортных задержках до 50 миллисекунд, человеческое ухо не в состоянии услышать утечку в звуковом тракте.

Задержки от 50 до 300 мс. Это прямые VOIP транки, сотовые сети, спутниковые сети. Как правило, абонент не чувствует задержки если не имеет визуального контакта с противоположной стороной. Для этих задержек, как правило, достаточно любой, самой простой системы эхоподавления.

Задержки от 300 до 800 мс. Эти задержки возникают при стыковке нескольких сетей, с большими транспортными задержками. Например, при многократной перепродаже голосовых каналов через биржи трафика и в многоскачковых спутниковых трактах. В этих сетях общение затруднено, в связи с тем, что обратная сторона слышит Ваш голос с большой задержкой. Мало того, для таких систем необходимо иметь достаточно сложные, дорогие системы эхоподавления.

Задержки свыше 800 мс. Как говорится, за это еще и деньги платить.

Анализ причин появления эха.

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

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

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

Электрическая утечка возможна только в аналоговых трактах. В цифровых системах передачи голоса, к которым относятся ISDN , ИКМ, VIOP транки и специализированные цифровые интерфейсы телефонов как то, GSM, IP телефоны, станционные цифровые телефоны, утечка не возможна по определению. Обычно местами утечки являются либо точки перехода с цифровых транков на аналоговые двухпроводные, либо переходы с четырхпроводных аналоговых транков на двухпроводные. Наиболее частым источником эха на постсоветском пространстве является, разные физические характеристики жил в паре кабеля. Намокание, плохие контакты на КРТ не позволяют дифференцирующим системам на телефонных станциях и телефонных аппаратах в достаточной мере скомпенсировать местный эффект.

Рассмотрим схему звонка с использованием предоплаченной телефонной карточки из Киева в Якутск. Сигнал идет от телефонного аппарата, через городскую телефонную станцию по двухпроводной аналоговой линии, затем по цифровым ISDN транкам до шлюза провайдера, затем через VOIP сеть до Московского VOIP шлюза терминирующего оператора, затем через цифровую сеть одного из трансроссийских телефонных операторов, Якутскую междугороднюю станцию, городскую координатную станцию, соединенную с междугородной телефонной станцией четырехпроводной аналоговой линией, и затем по двухпроводной линии до аппарата абонента.

Рисунок 3
Рисунок 3

Для возникновения эха необходимо выполнение следующих трех условий:

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

Просчитаем значение односторонних задержек на маршруте. Значение транспортной задержки сигнала в оптических либо медных линиях передачи 0,005 ms/километр. Задержка на VOIP передатчиках от 20 до 60 мс в зависимости от алгоритма кодирования, размера пакета и производительности процессора кодирования. Задержка на VOIP приемниках складывается из задержки на декодировании, обычно приблизительно равной задержке кодирования плюс задержке на jitter буфере. Длина jitter буфера обычно от 20 до 150 mc в зависимости от стабильности канала приема данных.

Итак, задержки на маршруте от Киева до Якутска.

  • От аппарата абонента до шлюза VOIP оператора 10 км*0,005= 0,05 мс
  • От VOIP шлюза оператора в Киеве до шлюза оператора в Москве. 40mc на кодирование и 40+20=60 мс на декодирование. Транспортная задержка в каналах передачи данных от Киева до Москвы 2000км*0.005=10мс при наличии прямого канала на Москву. При соединении с Москвой через Европейских операторов, что в практике встречается наиболее часто, задержка в канале будет 30mc. Итого в сумме односторонняя задержка в VOIP тракте будет 40+60+30=130мс
  • От Москвы через трансроссийского оператора до Якутска 5000км*0.005=25mc
  • Внутригородская задержка в Якутске пренебрежимо мала и соизмерима с задержкой внутри Киева то есть до 0.01мс.

Исходя из высказанного понятно, что источник эха для абонента из Киева может, находится внутри Якутска и соответственно источником эха для абонента из Якутска может быть только внутри Киева.

Источники эха

Источники эха

Работа систем эхоподавления

Эхоподавитель это один из элементов VOIP шлюза уменьшающий уровень эха, попадающего из тракта приема в тракт передачи со стороны телефонного абонента.

То есть два основных свойства эхоподавителя это:

  • Эхоподавитель смотрит в сторону телефонной сети
  • Эхоподавитель работает на своем оконечном участке сети.

Для нашего примера. Эхоподавитель на Московском голосовом шлюзе принимает сигнал, пришедший с Киевского шлюза через VOIP сеть. С другой стороны, тот же шлюз принимает телефонный сигнал из Якутска, состоящий из ослабленного сигнала из Киева и полезного сигнала из Якутска. Задача эхоподавителя в Москве удалить из сигнала пришедшего из Якутска голосовую составляющую сигнала из Киева. То есть, если абонент в Киеве слышит эхо, это свидетельствует о том, что эхоподавитель в Москве не в состоянии удалить утечку из тракта приема в тракт передачи.

Важное замечание. Значение задержки и jitter-а в VOIP сети не влияют на работу эхоподавителя, поскольку эхоподавление производится на телефонной стороне, у которой значение задержки фиксировано.

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

Работа устройства эхоподавления

Работа устройства эхоподавления

Что нужно знать инженерам практикам.

  • Процессору свертки необходимо некоторое время для вычисления параметров. Причем, чем больше времени прошло с начала разговора, тем точнее работает подавление эха.
  • Процессор функции свертки анализирует ограниченный отрезок времени передачи в направлении телефонной сети. Соответственно, для рассмотренного выше примера, когда мы имеем дело с телефонной сетью от Москвы до Якутска размер буфера для анализа истории, должен превышать значение транспортной задержки сети в оба конца. То есть, для рассмотренного выше случая он должен быть больше 50mс. Соответственно, для стыковок VOIP оборудования с мобильными сетями, либо другими VOIP сетями через аналоговые транки необходимо выбирать оборудование с возможностью анализа эха на достаточно длинном интервале времени. С другой стороны, вычисление функции свертки на длительном интервале это функция, требующая больших вычислительных мощностей процессора. То есть, для VOIP шлюзов, у которых эхоподавление производит центральный процессор, вызывает существенное снижение производительности всей системы.
  • Во многих старых и дешевых шлюзах используются так называемые эхозаградители. Они производит не цифровое суммирование сигнала, а просто подменяет сигнал приема с телефонной сети комфортным шумом. В этом случае на обратной (VOIP) стороне получает так называемый «радио эффект». Связь становится полудуплексной с невозможностью прервать обратную сторону при разговоре.

Когда эхоподавление не работает

Это бывает в следующих случаях:

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

Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong

26 Комментариев

Зачем я это делаю?

Я профессионально занимаюсь VOIP (IP телефонией) c прошлого века. Это достаточно новая сетевая ( интернет) технология, подразумевающая под собой передачу медийной информации (голоса, видео) в каналах передачи данных. Сегодня силами менаджмента придумано умное название NGN или Next Generation Nework. Мне несколько сложно приучить язык к новомодному названию, того чем я занимаюсь последние 10 лет. Так что далее по тексту можете заменять термин VOIP на NGN.

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

Спасибо всем за то, что зашли сюда.

Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong

Комментировать