IP-телефония

индекс
102,88

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

Совсем недавно на нашу организацию вышел клиент, который попросил настроить 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 service voip
CME#(config-voice)allow-connections sip to sip

Далее конфигурируем срок регистрации 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. Доступен тут. Там же есть ссылка для скачивания в PDF.

В дальнейшем постараюсь рассказывать о разных нюансах настройки IP-телефонии на Cisco в общем, и о CME в частности — настройка tftp сервера для заливания прошивок на телефоны, подключение линий от ТфОП, специфика установки CME и прочие фичи.
+30
19 июля 2011, 01:51
59

комментарии (8)

0
amario #
CME#(config-ip-dhcp)network 192.168.101.0 255.255.255.0
CME#(config-ip-dhcp)network 192.168.101.0 255.255.255.0

2 раза параметр network прописали.
Может стоит в блог cisco, перенести?
0
paralon #
По части конфигурации — это опечатка, конечно, исправлю сейчас. Спасибо.

По части тематики топика — я долго думал, куда заносить его, остановился на IP-телефонии, т.к. Cisco здесь только база
0
RZimin #
Хорошо. Какие аппараты на местах у пользователей были?
0
paralon #
Cisco 7945G, 6921, 7911 — это из «хороших». По умолчанию юзают SCCP, при желании можно прошить на SIP, но смысла не видел, так как работаем с Cisco.
И Cisco SPA501G (бывший Linksys) — их «плохих». Работает по SIP. Управляется голосовым меню.
0
sahe #
CME достаточно простая для освоения вещь, масштабируемая, и весьма надёжно работающая в масштабах не самого маленького офиса. Мы как-то заморачивались с настройкой скриптов для вывода погоды на экраны цискофонов. Бестолково, зато поигрались:) А самый ад наступил в тот момент, когда пришлось осваивать Cisco Unity Express с её адским редактором скриптов автосекретаря. Это был костыль на костыле.
0
paralon #
Я через час работы с ней с нулём опыта пришёл к тому же выводу, как у вас в первом предложении до первой запятой.
0
sahe #
Система весьма и весьма надёжна. Есть живой опыт уже более чем трёхлетней работы у двух немаленьких клиентов (в районе 200 телефонов). Остановки сервиса были только при смене софта, CME работает как часы.
0
akshakirov #
Спасибо, я какраз для изучения CME недавно купил себе Cisco 1760 максимально нафаршированную.

Статья из того же цикла публиковалась на хабре, вдруг кому интересно будет.

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