+7 (812) 929-8183,
+7 (812) 929-8283

VoIP

VoIP (Voice-over-IP) - IP-телефония - система связи, при которой аналоговый звуковой сигнал от одного абонента дискретизируется (кодируется в цифровой) вид, компрессируется и пересылается по цифровым каналам связи до второго абонента, где производится обратная операция - декомпрессия, декодирование и воспроизведение аналогового сигнала.

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

Основными преимуществами технологии VoIP является сокращение требуемой полосы пропускания, что обеспечивается учётом статистических характеристик речевого трафика:

  • блокировкой передачи пауз (диалоговых, слоговых, смысловых и др.), которые могут составлять до 40-50 % времени занятия канала передачи;
  • высокой избыточностью речевого сигнала и его сжатием (без потери качества восстановления) до уровня 20-40 % исходного сигнала.

С другой стороны трафик VoIP критичен к задержкам пакетов в сети, но обладает толерантностью (устойчивостью) к потерям отдельных пакетов. Так потеря до 5 % пакетов не приводит к ухудшению разборчивости речи.

В соответствии с этим при передаче телефонного трафика по технологии VoIP должны учитываться жёсткие требования рек. ISO 9000 к качеству услуг, характеризующие качество установления соединения и качество соединения. Основным показателем качества в первом случае является время установления соединения. Во втором случае показателями качества являются сквозные (воспринимаемые пользователем) задержки и качество воспринимаемой речи. В связи с указанными аспектами уровень QoS можно соотнести с одним из четырёх классов.

Классы качества передачи речи по сетям IP

Показатели качества передачи речи Классы качества услуги
Лучшее Высокое Среднее Низкое
Время установления соединения прямая IP-адресация < 1.5 сек < 4 сек < 7 сек -
перевод номера E.164 в IP-адрес < 2 сек < 5 сек < 10 сек -
перевод номера E.164 в IP-адрес через расчётную организацию < 3 сек < 8 сек < 15 сек -
перевод имени e-mail в IP-адрес < 4 сек < 13 сек < 25 сек -
Сквозные задержки по стандарту ETSI TS101329 < 150 мс < 250 мс < 350 мс < 450 мс
по рекомендации ITU-T G.114 < 150 мс < 260 мс < 400 мс > 400 мс
Качество воспринимаемой речи ETSI Не хуже G.711 Не хуже G.726 для 32 кбит/сек Не хуже GSM-FR С максимальными усилиями
Баллы MOS > 4.5 4.0 - 4.5 3.5 - 4.0 3.5 - 3.0

В результате для обеспечения требований QoS при передаче телефонного трафика по технологии VoIP (особенно в условиях ограниченной пропускной способности сети, характерной для сетей специальной связи) необходимо использовать ряд дополнительных механизмов, не существующих в классических IP-сетях. К этим механизмам относятся:

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

Кодирование речевой информации

Источником информационных данных является речевой сигнал, возможной моделью которого является нестационарный случайный процесс. В первом приближении можно выделить следующие типы сигнальных фрагментов: вокализированные, невокализированные, переходные и паузы. При передаче речи в цифровой форме каждый тип сигнала при одной и той же длительности и одинаковом качестве требует различного числа бит для кодирования и передачи. Следовательно, скорость передачи разных типов сигнала также может быть различной, что обусловливает применение кодеков с переменной скоростью. В результате передача речевых данных в каждом направлении дуплексного канала рассматривается как передача асинхронных логически самостоятельных фрагментов цифровых последовательностей (транзакций) с датаграммной синхронизацией внутри транзакции, наполненной блоками различной длины. В основе кодека речи с переменной скоростью лежит классификатор входного сигнала, определяющий степень его информативности и, таким образом, задающий метод кодирования и скорость передачи речевых данных. Наиболее простым классификатором речевого сигнала является Voice Activity Detector (VAD), который выделяет во входном речевом сигнале активную речь и паузы. При этом, фрагменты сигнала, классифицируемые как активная речь, кодируются каким-либо из известных алгоритмов (как правило, на базе метода Code Excited Linear Prediction - CELP) с базовой скоростью 4-8 кбит/с. Фрагменты, классифицированные как паузы, кодируются и передаются с низкой скоростью порядка 0.1 - 0.2 Кбит/с, либо не передаются вообще. При этом передача минимальной информации о фрагментах пауз предпочтительна. Данная стратегия позволяет оптимизировать скорость кодирования до 2-4 кбит/с при достаточном качестве синтезируемой речи. При этом для особо критичных фрагментов речевого сигнала выделяется большая скорость передачи, для менее ответственных - меньшая. Вместе с тем необходимо отметить, что вокодер вносит дополнительную задержку порядка 15-45 мс, возникающую по следующим причинам:

  • использование буфера для накопления сигнала и учёта статистики последующих отсчётов (алгоритмическая задержка);
  • математические преобразования, выполняемые над речевым сигналом, требуют процессорного времени (вычислительная задержка).

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

  • потерями пакетов при передачи по сети связи;
  • превышением допустимого времени доставки пакета с речевыми данными.

Это требует решения задачи оптимизации задержек в сети и создание алгоритмов компрессии речи устойчивых к потерям пакетов (восстановления потерянных пакетов).

Кодеки

Проприетарные:

  • G.728

    Гибридный кодек, описанный в рекомендации G.728 в 1992 г, относится к категории LD-CELP – Low Delay - Code Excited Linear Prediction – Кодек с управляемым кодом линейным предсказанием и малой задержкой. Кодек обеспечивает скорость преобразования 16 Кбит/с, вносит задержку при кодировании от 3 до 5 мс и предназначен для использования в системах видеоконференций. В устройствах IP-телефонии данный кодек применяется достаточно редко.

  • G.729

    Семейство включает кодеки G.729, G.729 Annex А, G.729 Annex B (содержит VAD и генератор комфортного шума). Кодеки G.729 сокращенно называют CS-ACELP Conjugate Structure - Algebraic Code Excited Linear Prediction – Сопряжённая структура с управляемым алгебраическим кодом линейным предсказанием. Процесс преобразования использует 21,5 MIPS и вносит задержку 15 мс. Скорость кодированного речевого сигнала составляет 8 Кбит/с. В устройствах VoIP данный кодек занимает лидирующее положение, обеспечивая наилучшее качество кодирования речевой информации при достаточно высокой компрессии.

  • G.723.1

    Рекомендация G.723.1 описывает гибридные кодеки, использующие технологию кодирования речевой информации, сокращённо называемую – MP-MLQ (Multy-Pulse – Multy Level Quantization – Множественная Импульсная, Многоуровневая Квантизация), данные кодеки можно охарактеризовать, как комбинацию АЦП/ЦАП и вокодера. Как уже упоминалось выше, своим возникновением гибридные кодеки обязаны системам мобильной связи. Применение вокодера позволяет снизить скорость передачи данных в канале, что принципиально важно для эффективного использования как радиотракта, так и IP-канала. Основной принцип работы вокодера – синтез исходного речевого сигнала посредством адаптивной замены его гармонических составляющих соответствующим набором частотных фонем и согласованными шумовыми коэффициентами. Кодек G.723 осуществляет преобразование аналогового сигнала в поток данных со скоростью 64 Кбит/с (ИКМ), а затем при помощи многополосного цифрового фильтра/вокодера выделяет частотные фонемы, анализирует их и передаёт по IP-каналу информацию только о текущем состоянии фонем в речевом сигнале. Данный алгоритм преобразования позволяет снизить скорость кодированной информации до 5,3 – 6,3 Кбит/с без видимого ухудшения качества речи. Структурная схема кодека приведена на рисунке. Кодек имеет две скорости и два варианта кодирования: 6,3 Кбит/с с алгоритмом MP-MLQ и 5,3 Кбит/с с алгоритмом CELP. Первый вариант предназначен для сетей с пакетной передачей голоса и обеспечивает лучшее качество кодирования по сравнению с вариантом CELP, но менее адаптирован к использованию в сетях со смешанным типом трафика (голос/данные).

    Процесс преобразования требует от DSP 16,4 – 16,7 MIPS (Million Instructions Per Second) и вносит задержку 37 мс. Кодек G.723.1 широко применяется в голосовых шлюзах и прочих устройствах IP-телефонии. Кодек уступает по качеству кодирования речи кодеку G.729а, но менее требователен к ресурсам процессора и пропускной способности канала.

Бесплатные:

  • GSM
  • G.726

    Рекомендация G.726 описывает технологию кодирования с использованием Адаптивной Дифференциальной Импульсно-Кодовой Модуляции (АДИКМ) со скоростями: 32 Кбит/с, 24 Kбит/с, 16 Kбит/с. Процесс преобразования не вносит существенной задержки и требует от DSP 5,5 - 6,4 MIPS. Структурная схема кодека приведена на рисунке 4.

    Кодек может применяться совместно с кодеком G.711 для снижения скорости кодирования последнего. Кодек предназначен для использования в системах видеоконференций.

  • G.711 uLaw
  • G.711 aLaw

    Рекомендация, утверждённая МККТТ в 1984 г., описывает кодек, использующий ИКМ преобразование аналогового сигнала с точностью 8 бит, тактовой частотой 8 Кгц и простейшей компрессией амплитуды сигнала. Скорость потока данных на выходе преобразователя составляет 64 Кбит/с (8 Бит ´ 8 КГц). Для снижения шума квантования и улучшения преобразования сигналов с небольшой амплитудой, при кодировании используется нелинейное квантование по уровню согласно специальному псевдо - логарифмическому закону A или m - Law.

    Первые ИКМ кодеки с нелинейным квантованием появились уже в 60-х гг. Кодек G.711 широко распространён в системах традиционной телефонии с коммутацией каналов. Несмотря на то, что рекомендация G.711 в стандарте Н.323 является основной и первичной, в шлюзах IP-телефонии данный кодек применяется редко из-за высоких требований к полосе пропускания и задержкам в канале передачи (всё-таки 64 Кбит/с это много). Использование G.711 в системах IP-телефонии обосновано лишь в тех случаях, когда требуется обеспечить максимальное качество кодирования речевой информации при небольшом числе одновременных разговоров.

  • Speex
  • iLBC
  • NetCoderТМ
  • Компания AudioCodes, приложившая в своё время немало усилий по созданию кодека G.723.1 специально для использования в сетях IP-телефонии, предлагает свою новую разработку - кодек NetCoder. По словам AudioCodes, кодек обладает качеством превосходящим популярные кодеки G.723.1 и G.729 и не требует значительных вычислительных ресурсов. Однако, производители голосовых шлюзов пока не торопятся поддерживать данное творение в своих продуктах. Не включен этот кодек также и в семейство кодеков стандарта Н.323. Использовать сегодня NetCoder в голосовых шлюзах можно не без риска потери совместимости с шлюзами других производителей, установленных в сети. Кодек NetCoder работает в диапазоне скоростей 4,8 – 9,6 Кбит/с, при формировании кадра вносит задержку 20 мс и имеет встроенный механизм оптимальной трансляции речевых пауз, основанный на технологии порогового детектирования голосовой активности VAD и автоматическую регулировку скорости передачи.

Таблица сравнительная оценка качества кодеков

Кодек Тип кодека Скорость кодирования Размер кадра Оценка
G.711 ИКМ 64 Кбит/с 0,125 мс 4,1
G.726 АДИКМ 32 Кбит/с 0,125 мс 3,85
G.728 LD – CELP 16 Кбит/с 0,625 мс 3,61
G.729 CS – ACELP (без VAD) 8 Кбит/с 10 мс 3,92
G.729 2-х кратное кодирование 8 Кбит/с 10 мс 3,27
G.729 3-х кратное кодирование 8 Кбит/с 10 мс 2,68
G.729a CS – ACELP 8 Кбит/с 10 мс 3,7
G.723.1 MP – MLQ 6,3 Кбит/с 30 мс 3,9
G.723.1 ACELP 5,3 Кбит/с 30 мс 3,65
Net Coder ? 4,8 – 9,6 Кбит/с 20 мс *

Оценка кодеков произведена по традиционной 5-ти бальной шкале, где наилучшему качеству звучания соответствует наибольший бал.

Сигнальные протоколы IP телефонии

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

  • SIP

    SIP (англ. Session Initiation Protocol - протокол установления сессии) - обеспечивает передачу голоса и сигнала, не является чисто сигнальным, протокол, разработанный IETF MMUSIC Working Group, и предлагаемый стандарт установления, изменения и завершения интерактивного пользовательского сеанса, включающего мультимедийные элементы, такие как видео, голос, мгновенные сообщения (instant messaging), он-лайн игры и виртуальная реальность. В ноябре 2000 года SIP был утверждён как сигнальный протокол проекта 3GPP и постоянный элемент архитектуры IMS. Наряду с H.323, SIP - один из основополагающих протоколов Voice over IP.

  • H.323

В сводной таблице представлены характеристики кодеков семейства Н.323

Кодек Тип кодека Скорость кодирования Задержка при кодировании
G.711 ИКМ 64 Кбит/с 0,75 мс
G.726 АДИКМ 32 Кбит/с 1 мс
G.728 LD – CELP 16 Кбит/с От 3 до 5 мс
G.729 CS – ACELP 8 Кбит/с 10 мс
G.726 a CS – ACELP 8 Кбит/с 10 мс
G.723.1 MP – MLQ 6,3 Кбит/с 30 мс
G.723.1 ACELP 5,3 Кбит/с 30 мс
  • MGCP
  • SIGTRAN
  • SCTP
  • Unistim - закрытый протокол передачи сигнального траффика в продуктах компании Nortel

Механизмы оптимизации задержек в сети

Задержки пакетов в IP-сетях определяются:

  • случайной задержкой пакетов на обработку в транзитных маршрутизаторах;
  • датаграммным режимом передачи, приводящим к нарушению порядка следования пакетов и необходимости их сортировки на принимающей стороне.

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

  • Реализация первого подхода предусматривает резервирование части пропускной способности сети для передачи пакетов с речевой информацией. Для того, чтобы более эффективно использовать зарезервированную полосу пропускания, на оконечном или шлюзовом оборудовании должна осуществляться предварительная концентрация речевой информации. При этом IP-пакеты должны формироваться не по мере поступления речевых сигналов, а с некоторой задержкой, достаточной для сборки информационного блока больших размеров. Передача речи в больших информационных блоках упрощает процедуру управления очередями на транзитных узлах, что очень существенно в связи с неразвитой системой приоритетов существующего протокола IP. Однако реализация этого подхода приводит к появлению дополнительной задержки.
    Для резервирования полосы пропускания в сети IP может использоваться метод WFQ (Weighted Fair Queuing) или протокол RSVP.
    • Метод WFQ позволяет для каждого вида трафика выделять определённую часть полосы пропускания. Оператор через систему административного управления может задать количество очередей (до 10 очередей для передачи данных и одну очередь для системных сообщений). В случае, если одна очередь не использует полностью выделенную ей полосу пропускания, то свободный резерв полосы пропускания может задействоваться для передачи информации из следующей очереди. Этот метод позволяет гибко использовать ресурсы сети и реализован в оборудовании фирмы Cisco.
    • Протокол RSVP предназначен только для резервирования части пропускной способности. Механизм работы данного протокола описан выше. Недостатком протокола RSVP является то, что полоса пропускания, выделяемая источнику информации, при снижении активности источника не может быть использована для передачи другой информации. Как альтернатива этому способу может использоваться алгоритм управления потоками на основе системы приоритетов, однако в существующей версии IP этот механизм развит недостаточно.
  • Также одним из способов оптимизации задержки в сети является использование протокола RTCP (Real-Time Transport Control Protocol), который позволяет приложению реагировать на изменение состояния сети.
  • Третий подход предусматривает построение магистральной транспортной сети Интернет на основе технологии Frame Relay или ATM. В этом случае пограничные узлы IP взаимодействуют друг с другом через виртуальные соединения сети Frame Relay или ATM, для которых гарантируются параметры качества обслуживания (скорость передачи, время и джиттер задержки). Использование Frame Relay или ATM позволяет отказаться от применения транзитных маршрутизаторов IP. При этом возможно более эффективное использование полосы пропускания за счёт установления соединения для каждого телефонного разговора.

Декодирование речевой информации

С учётом возможных потерь пакетов в сети для восстановления речевого потока на приёмной стороне используется протокол реального времени - Real Time Protocol (RTP). В заголовке данного протокола, в частности, передаются временная метка и номер пакета. Эти параметры позволяют при минимальных задержках определить порядок и момент декодирования каждого пакета, а также интерполировать потерянные пакеты. Восстановленная последовательность, с возможными пропусками как одиночных пакетов, так и групп пакетов, поступает на декодер. Декодер должен обеспечить восстановление речевой информации, заполнение пауз фоновым шумом, а также эхокомпенсацию кодируемого сигнала, обнаружение и детектирование телефонной сигнализации.