Передача голосовых/факсимильных сообщений с использованием транспортных протоколов TCP/IP приобретает сегодня всё большую популярность. Рассказывать обо всех достоинствах и недостатках IP (или Интернет) - телефонии нет большого смысла по причине огромного числа публикаций на эту тему.Материалы этого раздела прежде всего затрагивают те особенности IP-телефонии, которые пока не были достаточно освещены.
Стартовые затраты начинающего оператора IP-телефонии, действующего на территории РФ в большинстве случаев составляют:
Значительную часть стартовых капиталовложений, помимо стоимости оборудования, составляют затраты на организацию канала для обеспечения соединения шлюзов. Ниже будет неоднократно фигурировать термин "межшлюзовое соединение", под которым подразумевается как выделенный канал (Clear Channel), так и сеть Интернет. Следует однако заметить, что каналы Интернет, по своей природе, не гарантируют постоянства параметров IP-соединения. Кроме того, такие каналы часто вообще не обладают сколько-нибудь приемлемыми параметрами для передачи речевого трафика в реальном времени. Потому в условиях конкуренции на рынке телекоммуникаций оказание услуг связи с негарантированным качеством может серьезно подорвать авторитет начинающего оператора/провайдера.
Чаще всего, деятельность по предоставлению услуг IP-телефонии строится по схеме: Местный (начинающий) ITSP + иностранная компания "Партнёр". Местный оператор в большинстве случаев способен терминировать (направлять в ТфОП) входящий к нему телефонный трафик по одному или двум направлениям, чаще всего там, где он находится территориально (например, только в городские телефонные сети Петербурга и Москвы). В то же время иностранный партнёр имеет возможность распределять трафик по всему миру или обладает шлюзами к другим операторам, которые способны это осуществить. Как вы думаете, кто при этом диктует условия и является хозяином положения?!! Позволю предположить, что иностранный партнёр :). Потому при подключении шлюза или сети шлюзов в 90% случаев местному ITSP приходится быть подчинённым членом сети иностранного Партнёра. Как говорится: You are members of our network! :)
Перед началом обмена коммерческим трафиком сеть начинающего оператора IP-телефонии будет проходить тестирование для определения качества терминации телефонных вызовов и процента их успешного завершения. От результатов тестирования зависит стоимость терминации трафика через данную сеть. Успех этой процедуры определяется двумя факторами: способом организации подключения к коммутируемой Телефонной сети Общего Пользования ТфОП и качеством связующего IP-канала между шлюзами. По личному опыту замечу, что требования иностранных компаний операторов к задержке и пропускной способности сети подключающегося оператора достаточно высоки. Например, известная компания-оператор IP-телефонии ITXC высказывает следующие пожелания к качеству сети подключающегося партнёра:
Кроме вышеперечисленных, ITXC выдвигает также ряд требований, касающихся типов и конфигурации используемого оборудования, биллинговой системы, доступности сети для удалённого мониторинга.
Тем, кто хотя бы однажды запускал со своего компьютера команды PING или TRACERT, полагаю, не требуется объяснять, что обеспечить IP-канал с приведёнными характеристиками и достаточной безопасностью, используя инфраструктуру Публичного Интернет, в большинстве случаев затруднительно. Если компания дорожит своим авторитетом и собирается укреплять свои позиции на рынке IP-телефонии, то вполне обоснованным решением будет организация выделенного канала n´ 64 Кбит/с для включения в IP-сеть Партнёра.
Построение выделенного канала n´ 64 Кбит/с длительный и дорогой процесс. Затраты при этом напрямую связаны с его пропускной способностью и, отчасти, с географической протяжённостью. Тем важнее для начинающего оператора последующее эффективное использование этого канала. Эффективность использования IP-канала во многом определяется объёмом пропущенного через него трафика. Применительно к IP-телефонии можно говорить о максимально возможном числе одновременных телефонных соединений. На сегодняшний день существует большое число способов, методик и рекомендаций, касающихся расчёта пропускной способности канала в зависимости от различных факторов и характеристик используемого оборудования.
Одним из важных факторов эффективного использования пропускной способности IP-канала, является выбор оптимального алгоритма кодирования/декодирования речевой информации – кодека.
Все существующие сегодня типы речевых кодеков по принципу действия можно разделить на три группы:
На рисунке 6 представлена усреднённая субъективная оценка качества кодирования речи для вышеперечисленных типов кодеков.
В голосовых шлюзах IP-телефонии понятие кодека подразумевает не только алгоритмы кодирования/декодирования, но и их аппаратную реализацию. Большинство кодеков, используемых в IP-телефонии, описаны рекомендациями семейства "G" стандарта Н.323. Рассмотрим некоторые основные кодеки, используемые в шлюзах IP-телефонии операторского уровня.
Рекомендация, утверждённая МККТТ в 1984 г., описывает кодек, использующий ИКМ преобразование аналогового сигнала с точностью 8 бит, тактовой частотой 8 Кгц и простейшей компрессией амплитуды сигнала. Скорость потока данных на выходе преобразователя составляет 64 Кбит/с (8 Бит ´ 8 КГц). Для снижения шума квантования и улучшения преобразования сигналов с небольшой амплитудой, при кодировании используется нелинейное квантование по уровню (см. рис. 7) согласно специальному псевдо - логарифмическому закону A или m - Law.
Первые ИКМ кодеки с нелинейным квантованием появились уже в 60-х гг. Кодек G.711 широко распространён в системах традиционной телефонии с коммутацией каналов. Несмотря на то, что рекомендация G.711 в стандарте Н.323 является основной и первичной, в шлюзах IP-телефонии данный кодек применяется редко из-за высоких требований к полосе пропускания и задержкам в канале передачи (всё-таки 64 Кбит/с это много). Использование G.711 в системах IP-телефонии обосновано лишь в тех случаях, когда требуется обеспечить максимальное качество кодирования речевой информации при небольшом числе одновременных разговоров. Одним из примеров применения кодека G.711 могут послужить IP-телефоны компании CISCO.
Рекомендация G.723.1 описывает гибридные кодеки, использующие технологию кодирования речевой информации, сокращённо называемую – MP-MLQ (Multy-Pulse – Multy Level Quantization – Множественная Импульсная, Многоуровневая Квантизация), данные кодеки можно охарактеризовать, как комбинацию АЦП/ЦАП и вокодера. Как уже упоминалось выше, своим возникновением гибридные кодеки обязаны системам мобильной связи. Применение вокодера позволяет снизить скорость передачи данных в канале, что принципиально важно для эффективного использования как радиотракта, так и IP-канала. Основной принцип работы вокодера – синтез исходного речевого сигнала посредством адаптивной замены его гармонических составляющих соответствующим набором частотных фонем и согласованными шумовыми коэффициентами. Кодек G.723 осуществляет преобразование аналогового сигнала в поток данных со скоростью 64 Кбит/с (ИКМ), а затем при помощи многополосного цифрового фильтра/вокодера выделяет частотные фонемы, анализирует их и передаёт по IP-каналу информацию только о текущем состоянии фонем в речевом сигнале. Данный алгоритм преобразования позволяет снизить скорость кодированной информации до 5,3 – 6,3 Кбит/с без видимого ухудшения качества речи. Структурная схема кодека приведена на рисунке 8. Кодек имеет две скорости и два варианта кодирования: 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а, но менее требователен к ресурсам процессора и пропускной способности канала.
Семейство включает кодеки 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.726 описывает технологию кодирования с использованием Адаптивной Дифференциальной Импульсно-Кодовой Модуляции (АДИКМ) со скоростями: 32 Кбит/с, 24 Kбит/с, 16 Kбит/с. Процесс преобразования не вносит существенной задержки и требует от DSP 5,5 - 6,4 MIPS. Структурная схема кодека приведена на рисунке 9.
Кодек может применяться совместно с кодеком G.711 для снижения скорости кодирования последнего. Кодек предназначен для использования в системах видеоконференций.
Гибридный кодек, описанный в рекомендации G.728 в 1992 г, относится к категории LD-CELP – Low Delay - Code Excited Linear Prediction – Кодек с управляемым кодом линейным предсказанием и малой задержкой. Кодек обеспечивает скорость преобразования 16 Кбит/с, вносит задержку при кодировании от 3 до 5 мс и предназначен для использования в системах видеоконференций. В устройствах IP-телефонии данный кодек применяется достаточно редко. В сводной таблице 1 представлены характеристики кодеков семейства Н.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 мс |
Компания AudioCodes приложившая в своё время немало усилий по созданию кодека G.723.1 специально для использования в сетях IP-телефонии, предлагает свою новую разработку - кодек NetCoder. По словам AudioCodes, кодек обладает качеством превосходящим популярные кодеки G.723.1 и G.729 и не требует значительных вычислительных ресурсов. Однако, производители голосовых шлюзов пока не торопятся поддерживать данное творение в своих продуктах. Не включен этот кодек также и в семейство кодеков стандарта Н.323. Использовать сегодня NetCoder в голосовых шлюзах можно не без риска потери совместимости с шлюзами других производителей, установленных в сети. Кодек NetCoder работает в диапазоне скоростей 4,8 – 9,6 Кбит/с, при формировании кадра вносит задержку 20 мс и имеет встроенный механизм оптимальной трансляции речевых пауз, основанный на технологии порогового детектирования голосовой активности VAD и автоматическую регулировку скорости передачи.
Технология VAD используется совместно с большим числом речевых кодеков. Попытаюсь кратко проиллюстрировать
механизм VAD на простейшем примере (см. рис. 10). Входной аналоговый сигнал поступает
на вход устройства сравнения, в котором измеряется его амплитуда и сравнивается с
заданным пороговым значением. При превышении амплитудой входного сигнала заданного
порога (красная линия на рис. 10), сигнал поступает на вход кодека и кодируется по
определённому алгоритму (интервал Т2 – Т3). Если амплитуда входного
сигнала ниже порогового значения (например в интервал Т1 – Т2),
то в момент времени Т1 передаётся только служебная информация (длиной в
несколько бит) о начале паузы, а в момент Т2 о её окончании. На приёмной
стороне, во время паузы, для улучшения субъективного восприятия кодированной речи
может передаваться комфортный шум. Ниже я ещё дополнительно рассмотрю особенности
применения технологии VAD.
Вопрос оценки качества кодирования голоса с использованием различных кодеков возник сразу же с момента их появления. При этом речь не ведётся об измерении коэффициента нелинейных и интермодуляционных искажений и отношения сигнал/шум, как это принято для оценки тракта звуковоспроизводящей аппаратуры. Специфика использования речевого кодека позволяет оперировать такой характеристикой как Усреднённое Совокупное Мнение (MOS – Mean Opinion Score). Компания CISCO Systems приводит результаты тестирования кодеков по критерию наилучшей разборчивости речи. Оценка кодеков произведена по традиционной 5-ти бальной шкале, где наилучшему качеству звучания соответствует наибольший бал. Результаты представлены в таблице 2.
Кодек |
Тип кодека |
Скорость кодирования | Размер кадра | Оценка |
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 мс | * |
Определение необходимой пропускной способности межшлюзового канала - одна из важнейших задач оператора при построении им сети IP-телефонии. Скорость передачи данных в таком канале будет складываться из нескольких компонент. На рисунке 12 приведена общая структура взаимодействия устройств в рамках стандарта Н.323.
Из рисунка 12 видно, что помимо кодированных голосовых или факсимильных сообщений, управляемых Транспортным Протоколом Реального времени (RTP), в сети c использованием протоколов взаимодействия, отраженные в рекомендации Н.225, передаётся информация о состоянии телефонной сигнализации Q.931 и информация о состоянии шлюза RAS (Registration Admission Status).
На рисунке 13 приведена иерархическая структура, отражающая взаимодействие протоколов верхнего уровня TCP и UDP и компонент Н.323 (выделены красным) с протоколом межсетевого взаимодействия - IP.
Основные фазы межшлюзового взаимодействия под управлением гейткипера Н.323 для
телефонного вызова, поступившего из телефонной сети на вход шлюза "А", с вызовом,
направленным на абонента, подключенного к шлюзу "Б", приведены на рисунке
14.
Сложность реализации иерархической многопротокольной структуры H.323 побудила некоторых производителей поддерживать и развивать одновременно с Н.323 альтернативные протоколы взаимодействия IP-шлюзов. Это, к примеру, Nuera, Komode, Mediatrix и Ericsson с протоколом SIP (Session Initial Protocol), CISCO Systems с протоколами MGCP (Media Gateway Control Protocol) и SGCP (Simple Gateway Control Protocol), а так же некоторые другие. Несмотря на определённые преимущества альтернативных протоколов, набор рекомендаций Н.323 продолжает оставаться стандартом де-факто, потому претерпевает модернизации и дополнения, выражающиеся в различных версиях и фазах разработки.