ADSL-маршрутизатор и SIP-шлюз ZyXEL P-2602H (предсерийный образец)

возможности SIP-шлюза


В последних двух обзорах (часть 1; часть 2) мы рассмотрели базовые возможности устройства, возможности его VPN-серверов и шейпинга трафика. В данном обзоре мы рассмотрим возможности устройства, работающего в качестве SIP-шлюза — для этого мы подключим к устройству обычные аналоговые телефоны и попробуем настроить его для работы в SIP-сети.

SIP-шлюз

В одном из обзоров мы уже вкратце рассмотрели принципы работы протокола SIP и его роль при организации SIP-телефонии.

Устройство имеет возможность подключения двух аналоговых телефонов к телефонным портам. Для осуществления вызовов необходимо настроить телефоны на использование тонального набора. Так как телефоны аналоговые и ничего не "знают" о SIP-телефонии, все настройки осуществляются на самом устройстве и привязаны непосредственно к портам. Рассмотрим более подробно настройки SIP-телефонии.

ADSL-маршрутизатор и SIP-шлюз ZyXEL P-2602H (предсерийный образец), часть 3, фото 1

На данном скриншоте задаются параметры SIP-аккаунтов (их количество равно числу портов = 2). Здесь задается SIP-номер (то, что ставится в SIP-адресе до @), локальный порт, который будет использоваться для прослушивания SIP-вызовов (по умолчанию стандартный порт для протокола SIP: 5060), адрес SIP-сервера, на который посылаются исходящие SIP-вызовы, порт SIP-сервера (все тот же стандартный порт 5060), адрес сервера регистрации (данный сервер служит для определения текущего IP-адреса клиента), порт сервера регистрации, доменной имя SIP (то, что обычно идет после знака @ в SIP-адресе).

ADSL-маршрутизатор и SIP-шлюз ZyXEL P-2602H (предсерийный образец), часть 3, фото 2

Рассмотрим некоторые параметры, которые задаются в расширенных настройках SIP-телефонии:

  • URL-type: тип используемого URL (SIP или TEL) — от выбора данного параметра зависит, какой тип адреса будет передаваться в исходящих SIP-сообщениях. Тип SIP — будут передаваться сообщения с адресом "номер@sip-domain-name", тип TEL — будут передаваться сообщения с адресом "номер" (доменное имя SIP будет опущено). Выбор данного параметра обусловлен настройками SIP-сервера
  • Expiration Duration: сообщает, как долго запись о регистрации остается на сервере регистрации
  • Register Re-send timer — задает, как часто устройство должно обновлять данные на сервере регистрации (продление регистрации)
  • Session Expires — данный параметр сообщает нашему устройству, как долго нужно держать в памяти данные о SIP-сессии, после передачи последнего SIP-сообщения
  • Min-SE — здесь устанавливается минимальное значение времени окончания SIP-соединения. Данное значение должно быть одинаковым на обоих концах SIP-соединения. Если вызывающее устройство предложит установить значение времени меньшее, чем указано в данном параметре, то устройство пошлет запрос на увеличение данного значения
  • RTP-port range — здесь задается диапазон портов, которые будут использованы для установления RTP-соединения (соединение по которому непосредственно передаются голосовые данные)
  • Voice Compression — здесь задается приоритет используемых голосовых кодеков
  • DTMF mode — выбор режима передачи тональных сигналов, вызванных нажатием клавиш на телефоне абоненту на другом конце линии. RFC 2833 — данные передаются по RTP-соединению. PCM — данные передаются непосредственно в голосовом потоке (этот режим рекомендуется использовать, только если используемые кодеки не используют сжатие — G.711, так как в случае сжатия звуковой поток подвергается обработке, которая может исказить сигнал, и он будет неправильно распознан на другом конце линии). SIP INFO — данные о нажатии клавиш передаются в SIP-сообщениях.
  • Call Forward Table – задается, какая таблица блокировки/переадресации будет использована при осуществлении вызовов с использованием данного аккаунта
ADSL-маршрутизатор и SIP-шлюз ZyXEL P-2602H (предсерийный образец), часть 3, фото 3

Устройство также имеет возможности ставить ToS-биты на трафик, генерируемый при использовании SIP-телефонии.

ADSL-маршрутизатор и SIP-шлюз ZyXEL P-2602H (предсерийный образец), часть 3, фото 4

Здесь задаются параметры входящих/исходящих вызовов. Можно сделать так, что первый телефон будет использовать второй SIP-аккаунт, а второй телефон — первый SIP-аккаунт. Также можно сделать так, что при вызове любого номера будут звонить сразу два телефона, и разговор будет вестись с того телефона, на котором будет раньше поднята трубка.

ADSL-маршрутизатор и SIP-шлюз ZyXEL P-2602H (предсерийный образец), часть 3, фото 5

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

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

ADSL-маршрутизатор и SIP-шлюз ZyXEL P-2602H (предсерийный образец), часть 3, фото 6

ADSL-маршрутизатор и SIP-шлюз ZyXEL P-2602H (предсерийный образец), часть 3, фото 7

Всего можно создать 10 правил быстрого набора. Количество правил переадресации/блокировки вызова также ограничено 10 для каждой таблицы форвардинга (напомню, что каждый SIP-аккаунт может использовать свою собственную таблицу форвардинга).

Тестирование

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

ADSL-маршрутизатор и SIP-шлюз ZyXEL P-2602H (предсерийный образец), часть 3, фото 8

Чтобы не усложнять тестирование, в качестве доменного имени SIP был использован IP-адрес этого компьютера, что также допустимо. Таким образом, после настройки мы получаем SIP-адреса вида номер@ip-адрес_сервера. Для проведения экспериментов также был использован свободно распространяемый программный SIP-телефон X-Lite.

В качестве аппаратных телефонов, подключаемых к устройству, были использованы аналоговые телефоны Panasonic KX-TS2635RUW.

ADSL-маршрутизатор и SIP-шлюз ZyXEL P-2602H (предсерийный образец), часть 3, фото 9

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

Однако установить связь с SIP-сервером, используя программный телефон X-Lite, находясь за NAT (который реализуется на рассматриваемом устройстве), мне так и не удалось, даже несмотря на то, что в настройках NAT существует пункт SIP ALG (Application Level Gateway), который должен обеспечивать беспрепятственное прохождение SIP-сообщений через NAT. Из этого был сделан вывод, что механизм SIP ALG пока что не реализован в устройства (или работает некорректно). Будем надеяться, что в релиз-версии продукта данный недочет будет устранен.

В данном устройстве реализован так называемый конусный нат (Full Cone NAT), который позволяет осуществлять прохождение вызовов SIP-телефонии через NAT (с отключенным механизмом SIP ALG), однако для этого необходимо использование внешнего STUN-сервера (Simple Traversal Underneath NAT). Адрес STUN-сервера задается на программном или аппаратном телефоне, находящемся за NAT в LAN-сегменте рассматриваемого маршрутизатора.

Также отмечу, что даже если SIP-сервер находится в сегменте LAN — это никак не отразится на его работе (некоторое оборудование позволяет устанавливать соединения только с WAN-интерфейса устройства).

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

При тестах учитывается, что 1 кбит/с = 1000 бит/с. Скорость прямого и обратного канала равны: то есть когда мы говорим, что тест проводится на скорости 80 кбит/с, значит, что скорость прямого канала равна 80 кбит/с и скорость обратного канала равна 80 кбит/с.

Кодек G.711a:

  • 80 кбит/с — при данном значении ширины канала никаких проблем со связью не возникает. Однако даже при использовании полной ширины канала ощущаются небольшие задержки голоса.
  • 70 кбит/с — на данной скорости в начале разговора бывает пропадание звука, однако на качество разговора оно практически не влияет.
  • 65 кбит/с — на данной скорости эффект пропадания звука имеет более выраженную форму, и тем не менее нельзя сказать, что разговор при этом вести невозможно. Задержки немного увеличиваются.
  • 60 кбит/с — на данном этапе пропадание звука может вызывать некоторый дискомфорт, но возможность разговора по-прежнему сохраняется
  • 50 кбит/с — на данной скорости появляются искажения голоса абонента — возникает своеобразный хрип (видимо, за счет того, что некоторые пакеты сбрасываются шейпером).
  • 45 кбит/с — на данной скорости голос абонента сильно искажается, тем не менее, то, что он говорит вполне можно разобрать.
  • 35 кбит/с — на данной скорости появляется своеобразный "металлический скрежет" в голосе, но разговор все равно возможен. Шум от работающего DSLAM'а (работал поблизости во время тестирования), становится похож на работу болгаркой на заднем фоне вызываемого абонента.
  • 30 кбит/с — на данной скорости передаваемый звук все больше становится похож на просто скрежет.
  • 25 кбит/с — речь человека становится слаборазборчивой, иногда наблюдаются пропадания звука, разговор практически невозможен (или крайне некомфортен). Удивительно, что на данной скорости удалось добиться хоть какого-то результата, так как данный кодек рассчитан на скорость соединения 64 кбит/с.
  • 20 кбит/с — среди металлического скрежета рвущегося из наушников разобрать практически ничего невозможно, поэтому дальнейшее понижение скорости мне видится бессмысленным.

Кодек G.711u:

  • 80 кбит/с — никаких проблем со связью не возникает.
  • 70 кбит/с — проблем с передачей голоса также не возникает, но возрастают задержки передачи (~ до 1/3 секунды).
  • 65 кбит/с — также как и в прошлом тесте звук передается практически без искажений (или эти искажения не различимы мной на слух).
  • 60 кбит/с — звук идет с некоторыми искажениями и изредка прерывается, но особого дискомфорта это не вызывает.
  • 50 кбит/с — как и в случае с g.711a кодеком, при данной ширине полосы пропускания, появляется "хрип" в голосе абонента.
  • 45 кбит/с — разговор становится менее комфортным, но разобрать, что говорит абонент на другой стороне линии, не представляет особого труда.
  • 35 кбит/с — снова появляется металлический скрежет, разобрать, что говорит абонент на другом конце линии по-прежнему можно.
  • 30 кбит/с — задержки голоса сильно возрастают, звук похож на "металлический скрежет".
  • 25 кбит/с — звук разобрать практически невозможно, очень сильный металлический оттенок в голосе, периодические прерывания звука.
  • 20 кбит/с — прерывистый звук с металлическим скрежетом, голос превращается в металлический звон — можно разобрать, что кто-то хочет что-то сказать, но что именно, разобрать невозможно.

Также было обнаружено, что устройство во всех случаях пытается сохранить полосу пропускания для телефонии "отбирая" скорость у потоков обычного трафика.

Для тестирования кодека G.729 нам понадобилось бы еще одно подобное устройство (программный телефон X-Lite не поддерживает работу с данным кодеком), но, к сожалению, в нашу лабораторию данное устройство попало только в единственном экземпляре. Данный кодек имеет значительно более низкие требования к ширине полосы пропускания.

Выводы:

Настройки SIP-шлюза позволяют просто и быстро использовать обычные аналоговые телефоны для работы с SIP-телефонией. На сайте компании также есть пошаговая инструкция на русском языке по подключению рассматриваемого устройства к провайдеру SIP-услуг — sipnet.ru. Настройки устройства также позволяют производить одновременное подключение к двум различным провайдерам SIP-услуг. Судя по тестам, устройство старается предоставить необходимую для вызовов SIP-телефонии полосу пропускания, отбирая ее у остальных потоков трафика, проходящего через него. Несмотря на то, что кодекам G.711 для нормальной работы требуется ширина полосы пропускания 64/64 кбит/с, тем не менее, на данном устройстве удалось добиться приемлемого качества связи при ширине канала ~45/45 кбит/с. Все вызовы осуществляются только с использованием тонального набора, использование импульсного набора номера невозможно (поэтому совсем "древние" телефоны не удастся использовать для работы с данным устройством).

Навигация:

Плюсы:

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

Минусы:

  • Количество правил переадресации вызовов и правил быстрого набора ограничено 10-ю для каждого SIP-аккаунта — данного количества может оказаться недостаточно в случае необходимости их использования
  • Невозможно произвести вызов одного телефона со второго (подключенных к одному устройству) по его номеру (вызов осуществляется набором "####" в тональном режиме)
  • Не удалось добиться работы механизма SIP ALG (Application Layer Gateway)

Оборудование предоставлено российским представительством компании ZyXEL
DSLAM для тестирования предоставлен российским представительством компании ZyXEL




Главное