Основы IP-телефонии, базовые принципы, термины и протоколы. Азы IP-телефонии от Cisco или знакомство с Cisco CallManager Express


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

Под IP-телефонией подразумевается голосовая связь, которая осуществляется по сетям передачи данных, в частности по IP-сетям (IP - Internet Protocol). На сегодняшний день IP-телефония все больше вытесняет традиционные телефонные сети за счет легкости развертывания, низкой стоимости звонка, простоты конфигурирования, высокого качества связи и сравнительной безопасности соединения. В данном изложении будем придерживаться принципов эталонной модели OSI (Open Systems Interconnection basic reference model) и рассказывать о предмете “снизу-вверх”, начиная с физического и канального уровней и заканчивая уровнями данных.

"
Модель OSI и инкапсуляция данных

Принципы IP-телефонии

При осуществлении звонка голосовой сигнал преобразуется в сжатый пакет данных (подробнее этот процесс будет рассмотрен в главах “Импульсно кодовая модуляция” и “Кодеки”). Далее происходит пересылка данных пакетов поверх сетей с коммутацией пакетов, в частности, IP сетей. При достижении пакетами получателя, они декодируются в оригинальные голосовые сигналы. Эти процессы возможны благодаря большому количеству вспомогательных протоколов, часть из которых будет рассмотрена далее.

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

Отличие от традиционной телефонии

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

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

  • Традиционные телефонные сети обладают избыточной производительностью, в то время, как IP-телефония использует технологию сжатия голосовых пакетов и позволяет полностью использовать емкость телефонной линии.
  • Как правило, на сегодняшний момент доступ в глобальную сеть есть у всех желающих, что позволяет сократить затраты на подключение или совсем исключить их.
  • Звонки в локальной сети могут использовать внутренний сервер и происходить без участия внешней АТС.
Вместе с вышеперечисленным, IP-телефония позволяет улучшить качество связи. Достигается это, опять же, благодаря трем основным факторам:
  • Телефонные серверы постоянно совершенствуются и алгоритмы их работы становятся более устойчивыми к задержкам или другим проблемам IP-сетей.
  • В частных сетях их владельцы обладают полным контролем над ситуацией и могут изменять такие параметры, как ширина полосы пропускания, количество абонентов на одной линии, и, как следствие, величину задержки.
  • Сети с коммутацией пакетов развиваются, и ежегодно вводятся новые протоколы и технологии, позволяющие улучшить качество связи (например, протокол резервирования полосы пропускания RSVP).
Благодаря IP-телефонии очень элегантно решается проблема занятой линии, так как переадресация, либо перевод в режим ожидания могут быть осуществлены несколькими командами в конфигурационном файле на АТС.

Физический уровень (Physical Layer)

На физическом уровне осуществляется передача потока битов по физической среде через соответствующий интерфейс. IP-телефония практически полностью опирается на уже существующую инфраструктуру сетей. В качестве среды передачи информации используются, как правило витая пара категории 5 (UTP5), одномодовое или многомодовое оптическое волокно, либо коаксиальный кабель. Тем самым в полной мере реализуется принцип конвергенции телекоммуникационных сетей.

PoE

Интересно рассмотреть технологию PoE (Power Over Ethernet) - стандарты IEEE 802.3 af-2003 и IEEE 802.3at-2009. Ее суть заключается в возможности обеспечения питанием устройств посредством стандартной витой пары. Большинство современных IP-телефонов, в частности, модельный ряд Cisco Unified IP Phones 7900 Series, поставляются с поддержкой PoE. Согласно стандарту 2009 года, устройства могут получать ток мощностью до 25,5 Ватт.

При подаче питания используются лишь две витых пары кабеля 100BASE-TX, однако некоторые производители задействуют все четыре, достигая мощности до 51 Ватт. Необходимо заметить, что технология не требует модификации уже существующих кабельных систем, в том числе и кабелей Cat 5.

Для определения того, является ли подключаемое устройство питаемым (PD - powered device) на кабель подается напряжение 2,8 - 10 В. Тем самым вычисляется сопротивление подключаемого устройства. Если данное сопротивление находится в диапазоне 19 - 26,5 кОм, то процесс переходит на следующий этап. Если же нет - проверка повторяется с интервалом ≥2 мс.

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

Канальный уровень (Data Link Layer)

Согласно спецификации IEEE 802 канальный уровень разделяется на два подуровня:
  1. MAC (Media Access Control) - обеспечивает взаимодействие с физическим уровнем;
  2. LLC (Logical Link Control) - обслуживает сетевой уровень.
На канальном уровне работают коммутаторы - устройства, обеспечивающие соединение нескольких узлов компьютерной сети и распределение фреймов между хостами на основе физической (MAC) адресации.

Необходимо упомянуть механизм виртуальных локальных сетей (Virtual Local Area Network). Данная технология позволяет создавать логическую топологию сети без оглядки на ее физические свойства. Достигается это тегированием трафика, что подробно описано в стандарте IEEE 802.1Q.


Формат фрейма

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

  1. Безопасность. Создание отдельной голосовой VLAN уменьшает вероятность перехвата и анализа голосовых пакетов.
  2. Повышение качества передачи. Механизм VLAN позволяет задать повышенный приоритет голосовым пакетам, и, как следствие, улучшить качество связи.

Сетевой уровень (Network Layer)

На сетевом уровне происходит маршрутизация, соответственно основными устройствами сетевого уровня являются маршрутизаторы (Router). Именно здесь определяется, каким путем данные достигнут получателя с определенным IP-адресом.

Основной маршрутизируемый протокол - IP (Internet Protocol), на основе которого и построена IP-телефония, а также всемирная сеть Интернет. Также существует множество динамических протоколов маршрутизации, самый популярный среди которых OSPF (Open Shortest Path First) - внутренний протокол, основанный на текущем состоянии каналов связи;

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

Среди стандартных функций VoIP-шлюзов:

  • Функции безопасности (создание списков доступа, авторизация);
  • Поддержка факсимильной связи;
  • Поддержка голосовой почты;
  • Поддержка протоколов H.323, SIP (Session Initiation Protocol).
Для борьбы с возможными задержками передачи IP необходимо дополнять дополнительными средствами, например протоколами установления очередности (чтобы голосовые данные не конкурировали с обычными).
Как правило, в этих целях на маршрутизаторах используется очередность с малой задержкой (LLQ - Low-Latency queuing), либо взвешенная организация очередей на основе классов (CBWFQ - Class-Based Weighted Fair Queuing).
Кроме того, необходимы схемы маркировки с заданием приоритетов для рассмотрения голосовых данных, как наиболее важных для передачи.

Транспортный уровень (Transport Layer)

Для транспортного уровня характерны:
  • Сегментация данных приложений верхнего уровня;
  • Обеспечение сквозного соединения;
  • Гарантия надежности данных.
Основные протоколы транспортного уровня - TCP (Transmission Control Protocol), UDP (User Datagram Protocol), RTP (Real-time Transport Protocol). Непосредственно в IP-телефонии используются протоколы UDP и RTP, причем основное их отличие от TCP заключается в том, что они не обеспечивают надежность доставки данных. Это является более приемлемым вариантом, нежели осуществление контроля за доставкой (TCP), так как телефонная связь чрезвычайно зависима от задержек передачи, но менее чувствительна к потерям пакетов.

UDP

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

RTP

Несмотря на то, что RTP принято считать протоколом транспортного уровня, как правило он работает поверх UDP. С помощью RTP реализуется распознавание типа трафика, работа с метками времени, контроль передачи и нумерация последовательности пакетов.

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

Уровни данных (Data Layers)

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

H.323

Первым делом необходимо описать стек протоколов H.323, разработанный в 1996 году. Данный стандарт содержит описание оборудования, сетевых служб и терминальных устройств, предназначенных для осуществления аудио- и видеосвязи в сетях с коммутацией пакетов (Интернет). Для любого устройства стандарта H.323 обязательна поддержка обмена голосовой информацией.
  • Платформенную независимость.
  • Стандарты кодирования аналоговых данных.
  • Управление полосой пропускания.
  • Гибкость и совместимость.
Отметим очень важный факт: в рекомендациях не определены физическая среда передачи, транспортный протокол и сетевой интерфейс. Это значит, что устройства, поддерживающие стандарт H.323 могут работать в любых существующих сегодня сетях с коммутацией пакетов.

Согласно H.323 четырьмя основными компонентами VoIP-соединения являются:

  • терминал;
  • шлюз;
  • контроллер зоны;
  • контроллер управления многоточечной конференции (MCU - Multipoint Control Unit).


Пример структурной схемы сети в IP-телефонии 

Выдержка из документа, описывающего стек протоколов H.323

1. Управление соединением и сигнализация:
1.а. H.225.0: протоколы сигнализации и пакетирования мультимедийного потока (использует подмножество протокола сигнализации Q.931).
1.б. H.225.0/RAS: процедуры регистрации, допуска и состояния.
1.в. H.245: протокол управления для мультимедиа.
2. Обработка звуковых сигналов:
2.а. G.711: импульсно-кодовая модуляция тональных частот.
2.б. G.722: кодирование звукового сигнала 7 кГц в 64 кбит/с.
2.в. G.723.1: речевые кодеры на две скорости передачи для организации мультимедийной связи со скоростью передачи 5.3 и 6.3 кбит/с.
2.г. G.728: кодирование речевых сигналов 16 кбит/с с помощью линейного предсказания с кодированием сигнала возбуждения с малой задержкой.
2.д. G.729: кодирование речевых сигналов 8 кбит/с с помощью линейного предсказания с алгебраическим кодированием сигнала возбуждения сопряженной структуры.
3. Обработка видеосигналов:
3.а. H.261: видеокодеки для аудиовизуальных услуг со скоростью 64 кбит/с.
3.б. H.263: кодирование видеосигнала для передачи с малой скоростью.
4. Конференц-связь для передачи данных:
4.а. T.120: стек протоколов (включает T.123, T.124, T.125) для передачи данных между оконечными пунктами.
5. Мультимедийная передача:
5.а. RTP: транспортный протокол реального времени.
5.б. RTCP: протокол управления передачей в реальном времени.
6. Обеспечение безопасности:
6.а. H.235: обеспечение безопасности и шифрование для мультимедийных терминалов сети H.323.
7. Дополнительные услуги:
7.а. H.450.1: обобщенные функции для управления дополнительными услугами в H.323.
7.б. H.450.2: перевод соединения на телефонный номер третьего абонента.
7.в. H.450.3: переадресация вызова.
7.г. H.450.4: удержание вызова.
7.д. H.450.5: парковка вызова (park) и ответ на вызов (pick up).
7.е. H.450.6: уведомление о поступившем вызове в состоянии разговора.
7.ж. H.450.7: индикация ожидающего сообщения.
7.з. H.450.8: служба идентификации имен.
7.и. H.450.9: служба завершения соединения для сетей H.323.


Сценарий установки соединения на основе протокола H.323

SIP (Session Initiation Protocol)

SIP - протокол сигнализации, предназначенный для организации, изменения и завершения сеансов связи. SIP независим от транспортных технологий, однако при установлении соединения предпочтительно использовать UDP. Для передачи самой голосовой и видеоинформации рекомендовано применять RTP, но возможность использования других протоколов не исключена.

В SIP определены два типа сигнальных сообщений - запрос и ответ. Также существует шесть процедур:

  • INVITE (приглашение) - приглашает пользователя принять участие в сеансе связи (служит для установления нового соединения; может содержать параметры для согласования);
  • BYE (разъединение) - завершает соединение между двумя пользователями;
  • OPTIONS (опции) - используется для передачи информации о поддерживаемых характеристиках (эта передача может осуществляться напрямую между двумя агентами пользователей или через сервер SIP);
  • АСК (подтверждение) - используется для подтверждения получения сообщения или для положительного ответа на команду INVITE ;
  • CANCEL (отмена) - прекращает поиск пользователя;
  • REGISTER (регистрация) - передает информацию о местоположении пользователя на сервер SIP, который может транслировать ее на сервер адресов (Location Server).

Сценарий сеанса связи SIP

Кодеки

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

Пропускная способность канала, на которую рассчитан данный кодек - 8 кбит/с. Длина кадра обрабатываемого G.729 - 10 мс, частота дискретизации - 8 кГц. Для каждого из таких кадров определяются параметры математической модели, которые в дальнейшем и передаются в канал в виде кодов.

При использовании кодирования G.729 задержка составляет 15 мс, из которых 5 мс тратится на заполнение предварительного буфера. Отметим также, что кодек G.729 предъявляет достаточно высокие требования к ресурсам процессора.

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

Сигнал в данном кодеке предоставлен потоком величиной 64 кбит/с. Частота дискретизации - 8000 кадров по 8 бит в секунду. Качество голоса субъективно лучше, нежели при применении кодека G.729.

alaw
alaw или А-закон - алгоритм сжатия звуковых данных с потерей информации. В основном используется на территории Европы и России.

Для сигнала x преобразование по алгоритму alaw выглядит следующим образом:

Где А - параметр сжатия (обычно принимается равным 87,7).

ulaw
ulaw или μ-закон - алгоритм сжатия звуковых данных с потерей информации. В основном используется на территории Японии и Северной Америки.

Для сигнала x преобразование по алгоритму ulaw выглядит следующим образом:

где μ принимается равным 255 (8 бит) в стандартах Северной Америки и Японии.

Импульсно кодовая модуляция (PCM - Pulse Code Modulation)

Импульсно кодовая модуляция - передача непрерывной функции в виде серии последовательных импульсов.

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

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


Квантование сигнала

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

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

В современной телефонии число уровней квантования должно быть большим или равным 100, то есть минимальное количество бит, которым может кодироваться сигнал - 7.

Вопросы качества обслуживания в IP-телефонии (Quality of Service - QoS)

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

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

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

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

Для улучшения качества связи используются следующие механизмы:

  1. Перемаршрутизация. При перегрузке одного из каналов связи позволяет осуществить доставку при помощи резервных маршрутов.
  2. Резервирование ресурсов канала связи на время соединения.
  3. Приоретизация трафика. Дает возможность помечать пакеты в соответствии с уровнем их важности и производить обслуживание на основе меток.
Как было сказано ранее, голосовой трафик чрезвычайно чувствителен к задержкам передачи. Максимальное время задержки не должно превышать 400 мс (сюда включается и продолжительность обработки информации на конечных станциях). Различают два основных типа задержек:

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


Источники задержки в IP-телефонии

Джиттер

Еще одно явление, характерное для IP-телефонии - джиттер, или, иначе, случайная задержка распространения пакета.

Обуславливается джиттер тремя факторами:

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

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

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

Джиттер буфер

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

Отсюда и происходит одно из главных противоречий, между интернет провайдерами и пользователями IP телефонии. С точки зрения провайдера все пакеты доставлены абоненту, то есть, потерь нет. А с точки зрения VoIP устройства, разница во времени между приходом пакетов значительно превышает джиттер буфер. Поэтому фактически потери есть. На практике потеря более 1% вызывает определенные неприятные ощущения. При 2% разговор оказывается затруднен. При значениях больше 4% разговор уже практически невозможен.

Размер джиттер буфера
Случайная задержка распространения Ji для i-го пакета может определяться по формуле:

где:
Di – отклонение от ожидаемого времени прибытия i-го пакета.
Отклонение от ожидаемого времени прибытия i-го пакета Di определяется по формуле:

где:
R – время прибытия пакета в метках времени RTP,
S – временная метка RTP, взятая из пакета.

Приведем пример расчета ожидаемого размера случайной задержки распространения 5-го пакета, на основе двух предыдущих.

Пусть J4=10 мс; R4=10, R3=11, S4=6, S3=5, тогда D5 будет равно (10-11)-(6-5)=-2.

В среднем, случайная задержка времени распространения для одного пакета в текущем примере составит 10 мс (точнее можно посчитать по формуле, приведенной выше). Тогда для того, чтобы ни один пакет не был отброшен, размер джиттер буфера должен быть равным 10 мс.

Для определения требуемого размера джиттер буфера в мегабайтах, домножим полученное значение на 100 мбит/сек – среднюю пропускную способность сети: 10 10^-3 100 = 128 кб.

Размер джиттер-буфера должен быть больше, чем флуктуация транзитного времени в сети. Например, если для 10 пакетов время транзита колеблется от 5 до 10 мс, то буфер должен быть хотя бы 8 мс, чтобы ни один пакет не был потерян. Лучше, если буфер еще больше, например 12 мс, тогда сможет работать механизм перезапроса потерянных пакетов.

Решения для развертывания телефонной сети

Asterisk

Asterisk - программная АТС, способная коммутировать как VoIP вызовы, так и вызовы, осуществляемые между IP-телефонами и традиционной телефонной сетью общего пользования.

Поддерживаемые протоколы: IAX, SIP, H.323, Skinny, UNIStim.
Поддерживаемые кодеки: G.711 (ulaw и alaw), G.722, G.723, G.729, GSM, iLBC, LPC-10, Speex.

Asterisk - динамично развивающееся открытое программное обеспечение, которое может быть установлено без оглядки на лицензирование. Это делает данную программную АТС привлекательной для малого и среднего бизнеса. Количество абонентов в сети может достигать 2000 и ограничено только мощностью сервера.

Еще одно достоинство Asterisk - возможность гибкой настройки. Весь необходимый функционал либо уже реализован, либо может быть дописан самостоятельно без существенных временных и денежных затрат. Этому способствует принцип: одна задача - один программный модуль.

В сравнении с решениями от таких вендоров, как Cisco или Avaya, Asterisk привлекателен еще и стоимостью развертывания. Фактически все затраты сводятся только к покупке телефонных аппаратов и сервера, способного обеспечить требуемую нагрузку на сеть. Сама программа абсолютно бесплатна.

Cisco Unified Communication Manager (CallManager)

CallManager предназначен скорее для крупных сетей, включающих до 30000 абонентов. Данный программно-аппаратный комплекс обеспечивает надежность работы и позволяет конфигурировать множество параметров, таких как переадресация звонков или голосовое меню. Существует и “облегченная” express версия, предназначенная скорее для небольших офисов.

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

Avaya IP Office


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

Конфигурирование может осуществляться через ряд программ, но наиболее популярная и простая в обращении - Avaya IP Office Manager. Также возможно управление через консоль с помощью Avaya Terminal Emulator.

В целом, продукция корпорации Avaya не ограничивается одним IP Office. Avaya, в 2009 году слившаяся с еще одним известным производителем Nortel, является признанным лидером на рынке оборудования для IP-телефонии.

19 июля 2011 в 01:51

Азы IP-телефонии от Cisco или знакомство с Cisco CallManager Express

  • Разработка систем связи
  • Tutorial

Совсем недавно на нашу организацию вышел клиент, который попросил настроить IP-AТС на основе платформы Cisco 2921 и софта Cisco CallManager Express (CME). Клиентами разбрасываться не прилично в наше время, посему решили данную услугу оказать.

Взялся я за это дело не столько с целью срубить бабла для компании, сколько с целью ознакомиться как у этой самой Cisco устроена Ip-телефония, с целью саморазвития то бишь.

Ознакомился. Тема приятная; для меня как для цискаря работать гораздо удобнее нежели чем с Asterisk.

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

Первоначальная настройка CME
Нулевым пунктом считается настройка dhcp-сервера на маршрутизаторе, так как практически все телефоны по умолчанию настроены на получение IP-адреса именно таким способом. Если кто-то подзабыл или не знал, то на Цисках это делается так:

CME#conf t
CME#(config)ip dhcp pool voicepool
CME#(config-ip-dhcp)network 192.168.101.0 255.255.255.0
CME#(config-ip-dhcp)default-router 192.168.101.1
CME#(config-ip-dhcp)option 150 ip 192.168.101.1
CME#(config-ip-dhcp)lease 0 0 30

Все настройки вроде бы очевидны. За исключением, наверное 150-ой опции. Данная опция передаёт в DHCP-настройках адрес tftp-сервера (про использование tftp-сервера в этой статье я писать не буду, но вещь это очень полезная для работы с телефонами)

По умолчанию, Cisco очень хорошо и с пониманием относится к работе протокола SCCP (в силу того, что данный протокол принадлежит самой Cisco), и не очень дружит с более распространным SIP-ом. Так, например чтобы просто разрешить звонки между SIP-телефонами, подключенными к нашей АТС необходимо сконфигурировать:

CME#conf t

CME#(config-voice)allow-connections sip to sip

CME#conf t
CME#(config)voice service voip
CME#(config-voice)sip
CME#(config-voice-sip)registrar server expires max 3600 min 3600

Теперь необходимо создать т.н. класс кодеков - набор кодеков, которые планируется использовать:

CME#conf t
CME#(config)voice class codec 1
CME#(config-voice)codec preference 1 g711alaw
CME#(config-voice)codec preference 2 g711ulaw
CME#(config-voice)codec preference 3 g729br8

Первым будет сделана попытка использовть кодек 711alaw, если не удастся, то g711ulaw, ну и дальше интуитивно понятно.

Этих настроек будет достаточно.

Настройка для работы c SCCP
Все настройки касающиеся работы протокола SCCP происходят в разделе telephony-service

CME#conf t
CME#(config)telephony-service
CME#(config-telephony)max-ephones 10
CME#(config-telephony)max-dn 10
CME#(config-telephony)ip source-address 192.168.101.1 port 2000

ephone - это такая штука, которая, упрощённо говоря, символизирует собой телефон, ну то есть образ телефонного апарата в понятии CME. Параметр max-ephones отвечает, соответственно за то, какое количество SCCP-телефонов может быть зарегистрировано на данной АТС.

dn - (directory number) это такая штука, которая, упрощённо говоря, символизирует собой телефонный номер. По аналогии ясно, за что отвечает параметр max-dn .

К слову сказать, не очень правильно указывать слишком большое количество ephone и dn , ибо под каждый из этих «юнитов» CME будет выделять оперативную память при инициализации.

Плюс ко всему количество поддерживаемых ephone и dn зависит от модели платформы и версии софта.
ip source-address задаёт IP-адрес (и как следствие интерфейс) и порт, на котором будут слушаться запросы от SCCP-телефонов

Настройка CME для работы с SIP-телефонами
Все настройки касающиеся работы протокола SIP происходят в разделе voice register global . Вот необходимый нам минимум:

CME#conf t
CME#(config)voice register global
CME#(config-voice)mode cme
CME#(config-voice)source-address 192.168.101.1 port 5060
CME#(config-voice)max-dn 50
CME#(config-voice)max-pool 36

Два отличия. Первое - необходимо выполнить команду mode cme , которая как бы намекает роутеру что отныне с SIP-телефонами будет работать CME (это к тому, что с протоколом SIP у Cisco работает не только описываемый нами софт). Второе - теперь вместо ephon -ов мы будем оперировать voice-pool -ами

Регистрируем телефоны
Можно приступать к настройке нумерации и параметров регистрации телефонов.
Технология в обоих протоколах одинакова и достаточно проста - сначала создаётся dn , потом создаётся «телефон», и к телефону привязывается его номер (или несколько).
В нашем примере для авторизации телефонных аппаратов на сервере мы будем использовать их MAC-адреса. Это логично, так как на практике за определённым человеком закрепляется один и тот же телефонный аппарат и телефонный номер, а человек обычно редко перемещает своё рабочее место в офисе, а если и перемещает, то и телефончик с собой переносит.
Регистрируем SCCP-телефон
Создаём телефонный номер:

CME#conf t
CME#(config)ephone-dn 1
CME#(config-ephone-dn)number 100
CME#(config-ephone-dn)description Beauty-User
CME#(config-ephone-dn)name The Real Man

Создали телефонный номер 100, описание внутри CME - «Beauty-User», отображаемое на телефоне имя будет «The Real Man»

Создаём образ телефоного аппарата. привязываем его к MAC-адресу реального аппарата, привязываем к нему номер:

CME#conf t
CME#(config)ephone 1
CME#(config-ephone)mac-address B4A4.E328.BDEC
CME#(config-ephone)button 1:1

Привязывание телефонного аппарата (а точнее телефонной линии нашего аппарата) происходи командой button 1:1 . Формат следующий - сначала набираем ключевое слово «button» , потом указываем номер этой «кнопки» (первый в нашем примере), потом указываем действие, которое требуется совершить (":" - двоеточие означает, что сейчас мы привяжем к выбранной линии какой-нибудь телефонный номер) и потом параметр соответствующий действию - в нашем случае указываем телефонный номер (то есть номер настроенного заранее dn).

Вы же наверняка видели в жизни\на картинках цискофон? Видели там много всяких кнопок возле экранчика? Это и есть те самые button -ы. На самом деле, каждая из этих кнопок отвечает за свою линию. А действий над ними можно совершать много (не только привязывать к какому нибудь номеру). Но это достойно отдельной статьи.

А тем временем мы можем смело включать телефон с указанным МАК-адресом в сеть, подождать пока он прогрузится, увидеть на его экранчике возле первой кнопки номер 100 и заветное имя - «The Real Man». Если мы подымем трубку, то услышым заветный зуммер

Регистрируем SIP-телефон
directory number создаётся следующим образом:

CME#conf t
CME#(config)voice register dn 1
CME#(config-voice-register-dn)number 200

CME#conf t
CME#(config)voice register pool 1
CME#(config-voice-register-pool)id mac 1CDF.0F4A.152E
CME#(config-voice-register-pool)number 1 dn 1
CME#(config-voice-register-pool)voice-class codec 1
CME#(config-voice-register-pool)username test password test

Привязка к первой линии первого номера происходит командой number 1 dn 1 .
Командой voice-class codec 1 определяем для телефона набор допустимых кодеков (этот набор мы описывали в начале самом).
Далее командой username\password задаём аутентифкационные данные.

Чтобы телефон зарегистрировался, необходимо зайти на его веб-морду и в настройках первой линии указать адрес сервера - 192.168.101.1 и аутентификационные данные. Сохраняем.
Перезагружаем.

PROFIT!

IP-адрес телефона можно узнать по информации из dhcp-пула по маку используя команду show ip dhcp binding , либо в настройках самого телефона - голосовое, либо визуально меню.

Вроде бы всё. Были описаны минимальные настройки CME чтобы на нём могли зарегистрироваться два телефона (SIP и SCCP), получив адрес через DHCP.

Источники знаний
Основной источник знаний для начала был видео-курс к CCNA Voice от Jeremy Cioara. Довольно живым языком (английским правда) рассказывается об IP-телефонии вообще и о нюансах настройки этого самого CME. Правда там ни словом не затрагивается настройка SIP-телефонов.

Очень хороший мануал, конечно, есть на cisco.com. Называется он Cisco Unified Communications Manager Express System Administration Guide. Доступен

IP- телефония — современный способ передачи голоса по протоколу Voice-over-IP (VoIP), а именно, по любым сетям передачи данных, использующих протокол TCP/IP(Internet или локальная сеть организации). IP телефония сегодня вытесняет традиционный способ связи, потому что обладает неоспоримыми преимуществами, такими как:

  • Снижение стоимости звонков. Возможность звонить в удаленные офисы совершенно бесплатно (оплачивается только интернет трафик). Провайдеры IP-телефонии предоставляют более низкие тарифы на междугороднюю и международную связь.
  • Гибкое управление звонками. IP-телефония позволяет создавать различные группы пользователей и управлять ими — например, ставить запрет на звонки по межгороду.
  • Широкие возможности в области интеграции телефонной и компьютерной сети: установив бесплатное программное обеспечение, пользователь получает возможность звонить по телефону, выбирая абонента из списка контактов в MS Outlook.
  • Удаленный доступ к телефонной сети. Сотрудник может подключиться к корпоративной сети даже из дома.
  • Мобильность и простота обслуживания. Не требуются дополнительные настройки телефона сотрудника в случае смены им рабочего места. Единая инфраструктура для Вашей сети и телефонии.
  • Мониторинг загруженности телефонных линий с помощью специального программного обеспечения.
  • Удобство администрирования IP-АТС, с которым может справиться даже системный администратор, не обладающий высокой квалификацией.

Компания CBS с 1998 года является сертифицированным партнером Cisco, мирового лидера по производству оборудования для IP-телефонии, и имеет значительный опыт реализации проектов, который включает в себя:

  • Развертывание корпоративной телефонной связи на базе IP-телефонии.
  • Проектирование и создание на базе IP-телефонии call-центров и контакт-центров с функциями голосовой почты, автосекретаря (IVR), персональной маршрутизации звонков, проведения аудиоконференций и др.
  • Проектирование и настройка отказоустойчивой системы IP-телефонии.
  • Интеграцию телефонных сетей удаленных офисов в единую телефонную сеть с использованием каналов Интернет.

CBS осуществляет проектирование корпоративных сетей на базе IP-телефонии для российских и международных компаний. Разрабатывая проект IP-телефонии для международной компании «Джафра Косметикс», специалисты отдела сетевых технологий CBS работали в тесном контакте с инженерами местного провайдера в Мексике, а так же со специалистами центра технической поддержки компании Cisco в Бельгии (TAC). Профессионализм компании CBS в реализации проектов по IP-телефонии можно оценить, познакомившись с выполненными

На рынке телефонных станций, компания Cisco Systems представлена двумя основными продуктами: Cisco Unified Communications Manager (CUCM) и Cisco Unified Communications Manager Express (CME). О них сегодня и поговорим.

Cisco Unified Communication Manager

Cisco Unified Communication Manager – это система процессинга телефонных вызовов на базе ОС Linux. Поддерживает основные стандарты, такие как SIP, H.323, MGCP и проприетарный SCCP. CUCM – решение, которое предназначено для средних и крупных организаций. При кластеризации серверов, один кластер может обрабатывать 30 000 пользователей. В одном кластере может находиться до 20 серверов, причем лишь только 8 из них предназначены непосредственно для обработки телефонной сигнализации. Остальные, это TFTP, MOH (music on hold) сервер, CUC и другие. Среди 8 серверов, обычно выделяют один Publisher, а остальные Subscriber’ы. Основная роль Publisher’a заключается в репликации базы данных на все остальные сервера. CUCM - это программное обеспечение, удобное в администрировании и настройке.

Основной WEB GUI проиллюстрирован ниже:

Данный интерфейс называется Cisco Unified CM Administration. Всего их 5:

  1. Cisco Unified Reporting
  2. Disaster Recovery System
  3. Cisco Unified Serviceability
  4. Cisco Unified OS Administration

Cisco UCM может быть развернут как в виртуальной среде, так и на физическом сервере. Интегрируется с другими продуктами компании Cisco, такими как: Cisco Unity Connection (CUC), Cisco Unified Presence (CUP, начиная с 9 версии IM and Presence), Unified Contact Center Express и другие. Так же поддерживается интеграция с решениями других вендоров.

Cisco Unified Communication Manager Express (CME)

CME отлично подходит для малого и среднего бизнеса, удаленных офисов и небольших площадок. Call Manager Express реализуется на ISR (integrated service router) маршрутизаторах, что обеспечивает консолидацию сервисов телефонии и интернета в одном устройстве. Данная платформа способна поддерживать около 500 телефонных аппаратов. Например, маршрутизатор Cisco 3945E ISR G2 может обеспечить работу 450 телефонов. В CME предусмотрена работа голосовой почты, автосекретаря и других функций, которые реализуются с помощью специальных модулей. Как правило, администрирование CME происходит через CLI (command line interface). Но разработчиками предусмотрено использование аппликации Cisco Configuration Professional (CCP) , с помощью которого можно управлять dial – планом, администрировать телефоны, пользователей и многие другие опции. Cisco Call Manager Express поддерживает SRST, что обеспечивает отказоустойчивость в случае падения WAN. При планировании важную роль играет DSP, которая отвечает за транскодирование и преобразование традиционного телефонного трафика в IP.

CME может локально хранить данные об именах пользователей. Это позволяет отображать имя звонящего при входящем звонке.

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

Пример реализации ниже:

merion_voice(config) #ephone-dn 15 merion_voice (config-ephone-dn) #call-forward busy 1111

Cisco Call Manager Express поддерживает такие опции как:

  • Call Transfer – перевод вызова. Бывает консультативный (англ. Consult - возможность разговора с адресатом до трансфера вызова) и слепой (англ. Blind – моментальный перевод вызова после набора номера получателя).
  • Call Park – возможность повесить вызов на «холд» на специально выделенном номере, а затем, набрать с любого другого ТА этот номер и продолжить разговор.
  • Call Pickup – возможность ответить на телефонный вызов, который пришел на другой телефонный аппарат. Обычно реализуется в рамках одного отдела.
  • Intercom – позволяет при нажатии одной клавиши отдать распоряжения. Например, интерком может быть настроен на кнопке телефона руководителя, для быстрой связи с секретарем.
  • Paging – тоже самое что и интерком, только в широковещательном формате. Удобно для экстренных оповещений большого количества людей.

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