IP-телефония позволяет передавать голос по пакетным сетям.

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

Между тем, как написано в стандарте, взаимодействие устройств H.323 за пределами одного локального сегмента может привести к плохому качеству связи. Однако именно данное применение, т. е. в масштабах корпоративной сети или Internet, вызывает наибольший интерес. Ниже мы рассмотрим, как функционирует IP-телефония, какие технические проблемы она ставит и как они решаются.

УСТАНОВЛЕНИЕ СОЕДИНЕНИЯ

В случае IP-телефонии процедура установления соединения может несколько отличаться в зависимости от того, каким образом осуществляется звонок (см. Рисунок 1):



Рисунок 1. IP-телефония позволяет передавать голосовой трафик по пакетным сетям, при этом она опирается на комплекс стандартов Н.323.
  • с телефона на телефон;
  • с телефона на ПК;
  • с ПК на телефон;
  • с ПК на ПК.

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

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

Получив в ответ информацию о доступности принимающего шлюза Б вместе с его IP-адресом, привратник-инициатор А передает ее запросившему шлюзу А, после чего тот устанавливает виртуальное соединение со своим "коллегой". Открытое соединение идентифицируется с помощью "переменной учета вызова" (Call Reference Variable, CRV). Эта переменная используется обоими шлюзами для идентификации всех относящихся к данному звонку IP-пакетов.

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

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

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

УСТРОЙСТВО И ФУНКЦИИ ШЛЮЗА

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



Рисунок 2. Шлюз принимает информацию через один интерфейс и передает ее в сеть через другой, выполняя соответствующие преобразования протоколов.
С телефонной сетью общего пользования или учрежденческой связи шлюзы IP-телефонии взаимодействуют через интерфейс телефонной линии или ISDN. Цифровой сигнальный процессор (Digital Signal Processor, DSP) осуществляет, когда это необходимо, демультиплексирование (в случае линий T-1/E-1) и оцифровывание (в случае аналоговых линий), сжатие и кодирование речи и передачу упакованной речи дальше в сеть IP (см. Рисунок 2). Благодаря универсальности протокола IP, т. е. его способности использовать в качестве транспорта практически все что угодно, это может быть интерфейс Ethernet, Token Ring, ATM, SDH и т. д. Таким образом, шлюз IP-телефонии выполняет следующие пять основных функций:
  • интерфейса с УАТС, телефонной сетью общего пользования и другими телефонными сетями;
  • базовые функции обслуживания вызовов (соединение/разъединение и т. п.);
  • компрессию и декомпрессию речи в реальном времени;
  • упаковку и распаковку сжатой речи;
  • интерфейса с сетью IP.

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

Кроме основных шлюз может выполнять еще целый ряд функций, например интерактивного голосового ответа (Interactive Voice Response, IVR), учета вызовов и т. д., но, в отличие от перечисленных, они не являются для него обязательными.

СЖАТИЕ РЕЧИ

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

Однако, чтобы произвести сжатие, вокодеру требуется на какое-то время поместить данные в буфер для анализа речи. Он как бы заглядывает вперед в целях оптимизации производимого сжатия. Даже в лучших вокодерах подобная задержка составляет 15-45 мс. Часто она называется алгоритмической задержкой.

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

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

Качество вокодеров измерялось во многих независимых тестах. Как правило, такая оценка является субъективной и определяется на основе мнения принимающих участие в тестировании. При пятибалльной шкале вокодер G.711 со сжатием 64 Кбит/с получил оценку 4,4, а, например, вокодер G.729a со сжатием 8 Кбит/с - 4,0; при этом время оцифровки составляет 0,75 мс и 10 мс соответственно.

КАЧЕСТВО РЕЧИ

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

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

Однако в целом задержка на шлюзе относительно невелика по сравнению с характерными задержками в сети, к тому же последние гораздо менее предсказуемы и зависят от конфигурации сети, ее загруженности в каждый конкретный момент, числа транзитных маршрутизаторов, максимально допустимого размера пакетов и других факторов. В частности, каждый промежуточный маршрутизатор обычно вносит задержку около 10 мс, а если он перегружен, то и больше. Между тем, как известно, качество речи имеет приемлемый уровень при общей задержке не более 200-300 мс.

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

Передача голоса по сети осуществляется в протокольных блоках данных UDP. Это связано, в частности, с тем, что повторная передача потерянных или испорченных пакетов, как то предусматривается TCP, привела бы к еще большим задержкам и оказалась бы в итоге бесполезной. Однако в результате ничто не гарантирует от потерь пакетов. Как следствие, при перегруженности сети или низком качестве линий связи значительный процент пакетов может оказаться утерян или испорчен. При потерях свыше 5% речь становится неразборчивой.

Кроме того, одна проблема может усугубить другую. Например, в целях компенсации переменной задержки шлюз на дальнем конце может отложить воспроизведение речи для повышения качества ее звучания на время, равное величине типичной вариации задержки. При этом данные помещаются в так называемый буфер синхронизации (jitter buffer). Чем больше вариация задержки в сети, тем вместительнее должен быть буфер - и тем больше будет общая задержка!

КОМПЕНСАЦИЯ НЕДОСТАТКОВ

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

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

Другой способ состоит в использовании протокола резервирования ресурсов (Resource ReserVation Protocol, RSVP). Этот протокол позволяет резервировать необходимые ресурсы, в том числе пропускную способность, и фиксирует маршрут прохождения голосовых пакетов от отправителя к получателю. Фактически, если воспользоваться терминологией из мира связи, он выполняет функции каналообразующего протокола в сетях передачи пакетов.

Кроме того, задержку (и ее вариацию) можно сократить за счет ограничения максимально допустимого размера пакета. В этом случае чересчур длинные информационные пакеты не будут задерживать отправку маршрутизатором голосовых пакетов. Этого можно достичь посредством конфигурации маршрутизаторов на сегментацию всех исходящих пакетов при превышении их длины заданной величины. Как рекомендуют специалисты компании Micom (подразделение Nortel Networks), максимальный размер пакета не должен превышать 256 байт в случае канала со скоростью 64 Кбит/с, 512 байт - при 128 Кбит/с, 2048 байт - при 512 Кбит/с и 6144 байт - для линии T-1.

МЕРЫ НА УРОВНЕ ШЛЮЗА

Если у компании нет возможности контроля за сетью, например при использовании Internet, то она тем не менее может принять некоторые - хотя и менее действенные - меры для повышения качества воспроизводимой речи.

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

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

ПОДАВЛЕНИЕ ЭХА И ПАУЗ

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

Участники беседы говорят не непрерывно, а делают паузы между словами, задумываются на какое-то время и т. д. Кроме того, обычно один человек слушает, а другой говорит. Как результат, полнодуплексное соединение бывает занято только около 40% времени. Таким образом, подавление пауз, т. е. прекращение передачи IP-пакетов, когда никто ничего не произносит, позволяет сократить необходимую пропускную способность на 60%.

ПЕРСПЕКТИВЫ IP-ТЕЛЕФОНИИ

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

Дмитрий Ганьжа - ответственный редактор LAN. С ним можно связаться по адресу: diga@lanmag.ru.