techlabs.com.ua

D-Link DVG-1402S в IP-телефонии

23.01.2006 00:05, TECHLABS Team

Содержание статьи:

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

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

D-Link DVG-1402S позволяет подключить один или два "обычных" телефонных аппарата и содержит преобразователь аналоговой телефонии в IP-телефонию с поддержкой протокола SIP. Протокол SIP в последнее время стремительно набирает популярность ввиду своей простоты и стандартизованности. Современное поколение продуктов для IP-телефонии как раз и отличает использование стандартизованных протоколов, а значит - широкие возможности для выбора оборудования.

Введение в IP-телефонию

IP-телефония (она же VoIP (Voice over IP – Голос через IP) - это совокупность протоколов и технологий, которые позволяют передавать голос через сети, поддерживающие протокол IP.

Суть преобразования голоса для передачи по сети заключается в том, что с помощью микрофона и аналого-цифрового преобразователя голос сначала преобразуется в цифровой формат, затем полученный бинарный поток разбивается на части (по временным интервалам), компрессируется специальными алгоритмами (кодеками), вкладывается в пакет под-протокола IP (обычно это UDP) и передаётся по сети получателю. У получателя процесс происходит в обратном направлении: извлечение данных из пакета UDP, декомпрессия, склеивание частей, преобразование из цифрового формата в аналоговый и воспроизведение через колонки или наушники. Так как одновременно работают два процесса – каждый передаёт и воспроизводит то, что говорит собеседник, то реализуется постоянная голосовая связь в режиме полного дуплекса.

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

В 2000 году был стандартизирован протокол SIP, который изначально разрабатывался с расчетом на использование средними и мелкими фирмами и самими пользователями.

На данный момент протокол SIP – безусловный лидер по поддержке со стороны оборудования и программ для конечных пользователей. В продаже присутствуют следующие типы терминалов с его поддержкой:

  1. Программные телефоны (Softphones). Это программы, которые, будучи установлены на компьютере, могут использовать микрофон и наушники вместо телефонной трубки, интерфейс компьютера в качестве номеронабирателя и сетевую плату в качестве средства передачи голосовых данных. На данный момент это, пожалуй, самый популярный и доступный тип SIP-терминала;
  2. Адаптеры для работы аналоговых телефонов в сетях VoIP. Это специальные устройств, которые эмулируют телефонную линию (FXS) и позволяют подключать к ним обычные телефоны. С другой стороны к такому устройству подключается обычно кабель Ethernet;
  3. Шлюзы. Устройства, которые предназначены для интеграции VoIP в существующие сети аналоговой телефонии. Как правило, содержат аналоговые голосовые порты, которые эмулируют работу телефона (FXO) или телефонной линии (FXS). Отличаются от адаптеров тем, что изначально предназначены для интеграции сетей, а не адаптации работы одного аналогового устройства к сети VoIP.
  4. Аппаратные телефоны с непосредственной поддержкой VoIP. Выполняются в виде обычного телефона, но являются полностью цифровыми устройствами и подключаются непосредственно к сети Ethernet. Часто содержат второе гнездо для подключения компьютера, что позволяет вообще исключить телефонную проводку, поскольку, и для работы телефона и для работы компьютера используется одна розетка Ethernet. Этот тип устройств является, на данный момент, самым перспективным, а в дальнейшем практически полностью вытеснит аналоговые телефоны;
  5. Гибридные сетевые устройства. Как правило, являются маршрутизаторами, которые содержат как порты для передачи данных (Ethernet), так и голосовые порты (FXS или FXO). Фактически являются гибридом маршрутизатора и адаптера или шлюза.

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

  1. SIP-сервер (он же SIP-прокси). Ведёт список подключенных к нему и зарегистрированных клиентов с тем, чтобы участвовать в поиске абонента для соединения и управления сеансом соединения.
  2. Прокси для исходящих соединений (outbound proxy). Используется для обхода клиентом ограничений накладываемых использованием в его сети трансляции адресов (NAT);
  3. STUN-сервер. Специальный сервис, который позволяет клиенту определить используемый тип трансляции адресов с тем, чтобы попытаться обойти его ограничения без использования прокси для исходящих соединений. В определённых случаях позволяет использовать VoIP даже из-за NAT.
  4. DNS (Domain Name Service). Известный всем протокол, который в SIP используется для нахождения SIP-сервера для заданного домена путём публикации специальных DNS-записей в зоне этого домена.

Отдельным типом сервиса является SIP-агент. Это программа, которая непосредственно занимается приёмом и совершением звонков. Она содержит в себе кодеки и взаимодействует с конечным пользователем. SIP-агент встроен в каждый SIP-терминал – будь то программный телефон, шлюз или аппаратный VoIP-телефон. SIP-агенты взаимодействуют между собой напрямую (в случае использования технологии SIP Peer to Peer), либо через SIP-серверы и прокси для исходящих соединений.

Здесь уместно внести ясность, что, собственно, сам протокол SIP голос не передаёт. Он используется только для установки сеанса связи и управления им. Сами голосовые данные передаёт протокол RTP (RealTime Protocol – протокол работы в режиме реального времени). То есть, для сеанса связи VoIP с использованием протокола SIP, используется не только сам SIP, но и RTP. Причём, работают они параллельно, но по разным портам – SIP координирует сессию, а RTP передаёт голос.

Без использования RTP, SIP не может передавать голос, а без SIP, RTP не сможет установить сеанс связи.

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

Многообразие кодеков возникло из-за того, что в разное время были разработаны алгоритмы компрессии под различные применения. Количественно кодеки различаются по требованиям к полосе пропускания, качественно – по качеству передачи голоса. В данном случае уместна некоторая аналогия с форматом MP3 – можно сжать песню с битрейтом 32 кбит в сек., она станёт занимать в 4 раза меньше места, чем песня с битрейтом 128 кбит в сек, но и качество её ощутимо снизится.

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

В приведённой таблице перечислены самые распространённые кодеки и их важнейшие параметры:

Кодек

Поток, генерируемый кодеком *(килобит в сек.)

Частота дискретизации голоса
(замеров в сек.)

Временной интервал между пакетами(в миллисекундах)

Частота пакетов кодека(пакетов в сек.)

Реально требуемая полоса пропускания по IP-пакетам **(килобит в сек.)

Реально требуемая полоса пропускания по ADSL и g.shdsl при использовании IP ***(килобит в сек.)

G.711a/m

64.0

8000

20

50

80.0

82.0

G.723.1

5.3 или 6.4

8000

30

34

16.1 или 17.2

17.5 или 18.6

G.729(a)

8.0

8000

20

50

24.0

26.0

G.726

от 16.0 до 40.0

8000

20

50

от 32.0 до 56.0

от 34.0 до 58.0

iLBC

13.3 или 15.2

8000

30 или 20

34 или 50

21.1 или 31.2

22.5 или 33.2

Speex (SPX)

от 2.0 до 44.0

8000, 16000, 32000

30 или 34

34 или 30

12.8 или 53.6

от 14.2 до 54.8

GSM

от 4.75 до 12.2

8000

20

50

от 20.8 до 28.2

от 22.8 до 30.2

* Полоса потока без учёта размера заголовков сетевых пакетов.

*** Реально требуемая полоса рассчитывается по общей формуле:

Bt=Fp*Otr+Fp*Ortp+Bc

где Fp – частота пакетов кодека, Bc – поток генерируемый кодеком, Otr – суммарный размер заголовков пакетов уровней ниже IP (по OSI), а Ortp – размер заголовков протокола RTP (320 бит). Например, для кодека G.711 при использовании ADSL: Bt=50*40+50*320+64000=82000 бит в сек. 

** Здесь следует заметить, что параметр Fp*Otr следует учитывать только в том случае, если есть ограничение скорости на уровне транспортного протокола ниже IP. Например, если провайдер предоставляет вам канал передачи данных шириной 128 килобит в сек. и ограничивает его скорость на уровне протокола IP (обычно т.н. шейпером), то параметр Fp*Otr учитывать не нужно, поскольку шейпер не учитывает размер Otr.

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

Немаловажным фактором при использовании VoIP является обеспечением качестве обслуживания IP-пакетов (QoS). Прежде всего, это важно на каналах, которые бывают перегружены – в этом случае перед внедрением VoIP нужно обеспечить для SIP- и RTP-трафика приемлемые условия. В противном случае могут происходить постоянные "выпадения" слов из разговора или вовсе его прерывание. Эффект этот очень похож на некачественную сотовую связь. Кстати, GSM в этом смысле родственен VoIP, поскольку тоже использует пакетную передачу данных полученных с кодеков, а кодеки GSM используются в VoIP и поддерживаются многим оборудованием.

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



Комплект поставки и исполнение

В коробке мы нашли:

  1. Сам голосовой маршрутизатор DVG-1402S;
  2. Блок питания;
  3. Кабель для подключения телефона;
  4. Кабель для подключения к сети Ethernet;
  5. Диск с документацией в формате PDF;
  6. Ножки для установки маршрутизатора горизонтально;

D-Link

D-Link

Маршрутизатор выполнен в классическом D-Link'овском корпусе с возможностью установки горизонтально или на стену. Однако в комплекте идут крепления только для установки горизонтально. 

На переднюю панель выведены:

  1. Индикатор питания (Power)
  2. Индикатор состояния (Status)
  3. Индикатор сигнализации (Alarm)
  4. Индикатор состояния настройки на VoIP-провайдера (Prov)
  5. Индикатор состояния и активности WAN-интерфейса
  6. Индикаторы состояния и активности LAN-портов (4 шт.)
  7. Индикаторы состояния голосовых портов (Phone) 2 шт. 

D-Link

На заднюю панель выведены:

  1. Голосовые порты FXS (2 шт.)
  2. Консольный порт
  3. Порты FastEthernet LAN (4 шт. – встроенный коммутатор)
  4. Порт FastEthernet WAN
  5. Кнопка сброса к фабричным установкам
  6. Разъём подачи питания

D-Link

Первоначальная настройка

Первоначальная настройка сводится к установке адресов на WAN и LAN-интерфейсах и смене пароля на изменение дополнительных настроек. Дальнейшая настройка касается VoIP и будет рассматриваться позже.

В маршрутизаторе, который попал к нам на тестирование, была установлена прошивка версии 4.0S19-B, и, несмотря на то, что мы обнаружили в ней критическую уязвимость, более свежей прошивки на FTP-сервере D-Link мы не нашли. Поэтому при использовании DVG-1402S следует учитывать наличие критической уязвимости, которая заключается в том, что неавторизованные пользователи могут изменять критически важные настройки маршрутизатора. Например, без запроса пароля доступно изменение IP-адресов WAN- и LAN-интерфейсов. Единственное, что отделяет пользователей локальной сети от изменения настроек маршрутизатора, это клик по этой кнопке:

D-Link

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

Настройка VoIP

 

Для настройки голосовых функций нужно кликнуть ссылку "Advanced" и ввести пароль администратора. После этого станет доступно дополнительно меню:

D-Link

Server

На закладке Server настраиваются параметры регистрации устройства на SIP-сервере, прокси для исходящих соединений и параметры используемых кодеков.

D-Link

"Server FQDN" определяет, как будет задан адрес сервера – через IP или его FQDN (полный адрес хоста). В случае использования FQDN адрес указывается в поле "Domain Name".

"Port" – UDP порт сервера, на котором он принимает запросы на регистрацию от SIP-агентов.

"Service Domain" – обычно совпадает с FQDN-адресом SIP-сервера. Вместе и именем SIP-агента составляет SIP-URL (будет описано далее). Значение этого поля используется после знака @ в SIP-URL.

"URL Format" – задаёт тип SIP-URL.

"User Parameter Phone" – определяет добавлять ли к SIP-URL параметр "user=phone".

D-Link

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

"Outbound Proxy Port" определяет, на каком UDP-порту прокси принимает RTP-соединения. Важно заметить, что SIP-сервер занимается регистрацией SIP-агентов и управлением звонками, а прокси для исходящих соединений используется только для проброски RTP-соединений.

Как правило, прокси для исходящих соединений используется, когда клиент находится за трансляцией адресов (NAT), в этом случае его следует настроить на использование прокси для исходящих соединений и тогда он сможет совершать звонки.

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

D-Link

В окне настройки кодеков можно задать приоритетность их использования. Это удобно в том случае, когда нет определённости с тем, какие кодеки будут поддерживать SIP-агенты, которые будут работать с DVG-1404S. При соединении устройства будут предлагать последовательно, в соответствии с заданным приоритетом, список всех поддерживаемых кодеков, и как только обнаружат совместимый – начнут его использовать.

Очерёдность выбора кодеков зависит от требований полосы пропускания. В данном случае минимальную полосу пропускания требует кодек G.729a, а максимальную – G.711. Однако кодек G.729a обеспечивает худшее качество передачи голоса, чем G.711, и поэтому, применять его имеет смысл только для соединений через WAN или Интернет, а в локальной сети использовать G.711.

Второй параметр – это временной интервал работы кодека, т.е. время записи, которое он упаковывает в один пакет. Чем меньше время – тем больше пакетов будет создаваться в секунду (Fp), которое определяется по формуле Fp=1000/(интервал работы кодека). Соответственно, больше реально требуемая полоса пропускания Bt (см. формулу определение Bt в главе "Введение в IP-телефонию").

Возможность изменения значения этого параметра введена для того, чтобы пользователь мог настроить оптимизацию работы кодека под разные среды передачи. Например, при использовании в локальной сети лучше установить минимальный интервал, а при работе через WAN или Интернет – максимальный. Соответственно, в случае работы по локальной сети кодек будет оптимизирован на качество, а в случае работы через WAN/Интернет – на минимизацию потребляемой полосы пропускания.

Пример настройки кодеков для работы через LAN:

D-Link

Пример настройки кодеков для работы через WAN/Интернет:

D-Link

STUN Configuration

В этом разделе возможно задание STUN-сервера, через который DVG-1402S будет пытаться определить настройки и тип используемой трансляции адресов (NAT) и адаптироваться под неё.

STUN-сервер, это специальный сервис расположенный в Интернет и поддерживающий протокол STUN (Simple Traversal of UDP over NATs – простой способ пропускания UDP через NAT, имеются в виду входящие пакеты), который специально был разработан для того, чтобы клиенты находящиеся за NAT, могли определить его тип и некоторые настройки.

Список публичных STUN-серверов можно найти в Интернет. А можно создать и свой STUN-сервер.

D-Link

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

D-Link

User Agent 

В этом разделе, как раз, и настраивается т.н. user agent - программа, которая будет принимать (инициировать) звонки. Для устранения путаницы мы называем его SIP-агент. SIP-агент принимает SIP-подключения на определённом адресе (в случае DVG-1402S это адрес WAN-интерфейса) порту (параметр "User Agent Port").

D-Link

DVG-1402S поддерживает два голосовых порта, и, соответственно, до двух SIP-агентов. Однако если параметр "Same Phone Number" установить в "enabled", то будет использоваться только один SIP-агент, по-прежнему можно будет использовать оба голосовых порта, но входящий "телефонный номер" у них будет один и тот же.

"Index" – выбор настроек для первого или второго порта.

"Phone Number" – не смотря на такое название, может быть и символьным.

Дело в том, что SIP-URL включает два основных компонента – "SIP-пользователь" и "SIP-сервер". Пользователь указывается перед знаком @, и, в данном случае, совпадает со значением параметра "Phone Number". Т.е. если мы указали в качестве "телефонного номера" "dvg1", а в качестве сервисного домена "asterisk" (см. раздел Server), то SIP-URL этого SIP-агента будет dvg1@asterisk.

Разумеется, такой SIP-URL нельзя применять в Интернет, поскольку "asterisk" не является корректным FQDN. Однако для локальных применений такой SIP-URL подходит. Дело в том, что когда определённый SIP-агент хочет "позвонить" другому SIP-агенту, то он проверяет запись после @ и только если она не совпадает с его сервисным доменом, то пытается определить его адрес через DNS. Если же оба SIP-агента используют один SIP-сервер (и, соответственно, один сервисный домен), то они могут "перезваниваться" даже если их сервисный домен не является корректным FQDN.

"Display Name" – этот параметр будет передан в качестве Caller ID (идентификатор звонящего). Т.е. другая сторона будет видеть имя, которое указано здесь.

"User Agent Port" – UDP-порт, на котором указанный SIP-агент ждёт обращений. Если используется два SIP-агента, то и порты должны быть разными. Обратите внимание, что это порт для протокола SIP, а порт для протокола RTP это устройство настраивать не позволяет – он выбирается динамически.

"Authentication Username" имя пользователя для аутентификации на SIP-сервере. Используется только в том случае, когда SIP-сервер требует аутентификацию.

"Authentication Password" и "Confirm Password" – пароль для "Authentication Username".

Peer to Peer

Одной из самых интересных возможностей протокола SIP является возможность совершения звонков непосредственно между SIP-агентами вообще без использования SIP-севера. Для этого применяется механизм SIP Peer to Peer (он же "direct IP"). Суть его очень простая – для SIP-агента, который непосредственно доступен через протокол IP и принимает Peer to Peer-соединения, SIP-URL выглядит как <имя SIP-агента>@<IP>. Т.е. в нашем случае Peer to Peer SIP-URL будет dvg1@192.168.65.20. По такому SIP-URL другой SIP-агент может совершать звонки без использования SIP-сервера, напрямую обращаясь по IP-адресу.

D-Link

Важно: Не смотря на то, что DVG-1402S сразу предлагает настройки Peer to Peer через веб-интерфейс, сам режим нужно сначала активировать через telnet командой "sip set peertopeer_mode 1" – без этого настройки не действуют.

В нашем случае на DVG-1402S настроен один Peer to Peer SIP-агент, который находится на адресе 192.168.64.1, порту 5060 и имеет имя "alexei". При этом, параметр "Phone Number" определяет какой номер нужно набрать на телефоне подключенном к DVG-1402S чтобы позвонить этому SIP-агенту. В данном случае, нужно набрать "1".

Как видно, DVG-1402S позволяет задавать до 10 Peer to Peer SIP-агентов, которым можно звонить через него без использования SIP-сервера.

Сам DVG-1402S тоже может быть вызван по Peer to Peer SIP-URL, который в нашем случае, имеет вид dvg1@192.168.65.20.

Более детально о настройке режима SIP Peer to Peer можно прочитать на сайте D-Link Россия.

VoIP в DVG-1402S 

Как видно, функции VoIP в DVG-1402S позволяют использовать его для звонков по IP-телефонии с использованием протокола SIP как в локальной сети, так через WAN и Интернет. При этом наличествует поддержка режима Peer to Peer, которая позволяет задать на DGV-1402S до 10 Peer to Peer SIP-агентов и принимать звонки от неограниченного количества Peer to Peer SIP-агентов.

Также следует отметить, что функции VoIP полноценно работают только через WAN-порт.

Производитель также сообщает, что пакеты VoIP при передаче через DVG-1402S имеют более высокий приоритет.



Другие настройки и функции

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

Настройки WAN/LAN портов

D-Link

D-Link

D-Link

D-Link

DHCP

D-Link

Встроенный DHCP-сервер поддерживает до четырёх статических записей:

D-Link

D-Link

NAT

D-Link

D-Link

D-Link

D-Link

D-Link

D-Link

D-Link

D-Link

D-Link

D-Link

Routing

D-Link

D-Link

D-Link

Device Information

D-Link

XML Provisioning

Этот интересный раздел позволяет указать - откуда устройство должно загрузить файл, в формате XML, который содержит настройки.

Это функция, в основном, используется провайдерами VoIP для выдачи клиентам готовых настроек.

D-Link

WAN Access Control

Позволяет разрешить или запретить административный доступ через WAN-интерфейс.

D-Link

Firewall Rules

Встроенный межсетевой экран поддерживает до восьми наборов правил:

D-Link

Каждый набор может содержать до 12 правил:

D-Link

Правило:

D-Link

MAC Filter

Может содержать до 16 записей:

D-Link

D-Link

VPN Pass Through

D-Link

Statistics

Статистику устройство показывает используя Java, что позволяет обновлять её в режиме реального времени:

D-Link

D-Link

Сохранение настроек

Все настройки, которые были изменены, попадают в энергонезависимую память только после специального указания:

D-Link

Если после изменения настроек устройство перезагрузить отключением питания, то изменения не сохраняться.

Выводы

Как голосовой шлюз DVG-1402S выглядит вполне привлекательно и показывает вполне надёжную работу. Однако, в связи с серьёзной дырой в безопасности, его не рекомендуется использовать в качестве маршрутизатора и коммутатора. Как результат, "рабочими" портами остаются – порт WAN и голосовые порты FXS.

DVG-1402S будет хорошим выбором для тех, кому нужно организовать шлюз IP-телефонии для звонков по локальной сети, WAN или Интернет. Например, можно подключить два таких устройства к мини-АТС в разных офисах соединённых WAN и пустить голосовой трафик между этими офисами по корпоративной сети, разгрузив тем самым, городские линии. Подойдёт DVG-1402S и для звонков через Интернет, – протокол SIP поддерживают всё ведущие провайдеры IP-телефонии.

Цена устройства на начало 2006 года составляет около $150, что по нашему мнению, вполне сбалансированная стоимость двухпортового голосового шлюза.

Очевидные плюсы:

Очевидные минусы:

D-Link

Голосовой маршрутизатор D-Link DVG-1402S для обзора был предоставлен официальным дистрибьютором D-Link в РБ компанией ОДО "Мультисофт"