Настройка Cisco Packet Tracer для VoIP
Учишься азам VoIP? Cisco Packet Tracer это отличное решение, в рамках которого ты сможешь попрактиковать свои навыки перед продакшном, подготовиться к экзаменам или просто поймать фан, делая то, чего не можешь сделать на работе (STP петли, широковещательные штормы и прочие радости).
Итак, спешим показать способ, как собрать базовую лабу для тренировки своих VoIP (Voice over IP) навыков. Погнали.
Наполняем лабу железом
В явном виде тебе понадобится L3 девайс (у нас будет маршрутизатор 2811), L2 (коммутатор 2950) и телефончики, которых мы добавим 3 штуки (модели 7960). Перетаскивай все это дело в рабочее поле и соединяй патч – кордом, как показано на скриншоте:
Отлично. Нажми 2 раза на IP – телефон и перейди во вкладку GUI, как показано на скриншоте ниже:
Наш телефон ругается на то, что у него нет питания. Не проблема, подключим к нему блок питания. Переходим в раздел Physical и обращаем внимание на адаптер питания, который выделен красным на скриншоте ниже:
Перетаскиваем его прямо к разъему под питание. Должно получиться примерно вот так:
Как только мы включили питание на телефонах, у нас поднялись линки – обратите внимание на зеленые точки от телефонов до свича:
На этапе подготовки нашей среды работы все. Переходим к конфигурации.
Настройка оборудования
Начинаем с маршрутизатора. Открываем его консоль, поднимаем интерфейс и присвоим IP – адрес:
en conf t interface FastEthernet 0/0 ip address 192.168.0.1 255.255.255.0 no shutdown
Поднимаем DHCP сервер на маршрутизаторе для IP – телефонов:
en conf t ip dhcp pool voice network 192.168.0.0 255.255.255.0 default-router 192.168.0.1 exit
Теперь нужно дать дополнительную команду для опции 150. Она позволяет подтягивать и автоматически подтягивать прошивки для телефонов с TFTP сервера. Выполняем:
en conf t ip dhcp pool voice option 150 ip 192.168.0.1
Время поднастроить классические VoIP параметры, такие как:
- max-dn — максимально – возможное количество поддерживаемых DN (Directory Numbers). Номеров, другими словами;
- max-ephones — максимальное количество телефонных аппаратов. Сделаем по количеству DN’ов;
- ip source-address — откуда наш роутер будет принимать звонки (запросы) от SCCP девайсов;
- auto assign — присвоение линий в автоматическом режиме;
en conf t telephony-service max-dn 15 max-ephones 15 ip source-address 192.168.0.1 port 3100 auto assign 1 to 19
Балдеж. Двигаемся к настройке свича (коммутатор). Нам нужно только включить поддержку VoIP на интерфейсах (голосовой VLAN):
en conf t interface range FastEthernet 0/1 - FastEthernet 0/3 switchport mode access switchport voice vlan 1 exit
Дело за малым. Присвоим телефонные номера нашим аппаратам:
en conf t ephone-dn 1 number 11111 exit ephone-dn 2 number 2222 exit ephone-dn 3 number 3333 exit
Готово. Можно звонить. Попробуем позвонить с 1111 на 2222:
Продолжайте практиковать свои навыки в VoIP в сетях Cisco 🙂
Азы 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 и прочие фичи.