В этой небольшой лабораторной работе мы подключим к СМЕ телефоны по протоколу SIP. Кто не знает, SIP это такой протокол передачи данных для медиасообщений. Протокол стандартизирован и широко используется в Asterisk. Телефоны Cisco можно научить передавать данные по SIP, но для этого необходимо прошивать телефон соответствующей прошивкой. По умолчанию установлена прошивка с Cisco-вским протоколом SCCP.
Это довольно широкая тема, так что не будем на ней останавливаться, а перейдем к настройке.
За основу взят конфиг из предыдущей лабы.
Для начала включим на СМЕ поддержку SIPa, точнее, возможность совершать звонки между соответствующими типами VoIP точек. По умолчанию эта возможность отключена для IP-IP звонков. Протокола SCCP это не касается, так как там несколько по-другому все реализовано. Это клиент-серверный протокол, в отличии от SIP. Вместе с SIP здесь же можно разрешать H.323
CME(config)#voice service voipCME(conf-voi-serv)#allow-connections sip to sipПереходим в режим настройки sip-протокола, запускаем на роутере сервер регистрации
CME(conf-voi-serv)#sipCME(conf-serv-sip)#registrar server expires ?
max Default registration max expires
timemin Default registration min expires time<cr>
CME(conf-serv-sip)#registrar server expires max 1200 min 300
CME(conf-serv-sip)#registrar server expires max 1200 min 300 - устанавливаем минимальное и, соответственно, максимальное время до перерегистрации IP-телефонов. Это надо для того, чтобы после перезагрузки CME, он сам автоматически перерегистрировал IP-телефоны, так как при перезагрузке, CME не сохраняет базу зарегистрированных телефонов.
Переходим к редактированию параметров регистрации. Процесс напоминает такой же для протокола SCCP.
CME(config)#voice register global
^
% Invalid input detected at ‘^’ marker.но, как видно, меня тут ждало разочарование. Нет такой команды.
Что ж, как показало
Настроим параметры регистрации:
CME(config)#voice register global
CME(config-register-global)#mode cme
CME(config-register-global)#source-address 192.168.10.20 ?port Define tcp port for SIP CME
<cr>
CME(config-register-global)#source-address 192.168.10.20 port 5060
CME(config-register-global)#max-dn 10
CME(config-register-global)#max-pool 5
CME(config-register-global)#authenticate register
CME(config-register-global)#tftp-path flash:
CME(config-register-global)#create profile
CME(config-register-global)#do show flash
System CompactFlash directory:File Length Name/status 1 69 syncinfo.xml
2 1828 SIPDefault.cnf
3 3579 softkeyDefault_kpml.xml
4 3613 softkeyDefault.xml
[9352 bytes used, 16767860 available, 16777212 total]16384K bytes of ATA System CompactFlash (Read/Write)
CME(config-register-global)#
voice register global - переход в режим глобальных параметров регистрации.
source-address 192.168.10.20 port 5060 - указывает, адрес и порт сервера регистрации
max-dn 10 - максимальное количество линий
max-pool 5 - максимальное количество телефонов. pool в даном случае соотносится с телефоном.
authenticate register - указывает, что логин-пароль для регистрации должны находится в настройках отдельных телефонов. Теперь в секциях каждого voice pool их необходимо будет указывать.
tftp-path flash: - содержимое нашего tftp сервера будет на флеш-памяти. Нет необходимости публиковать отдельные файлы командой tftp-server, нужные файлы и конфиги публикуются автоматически.
create profile - команда создает или обновляет конфигурацию на tftp-сервере. Обратите внимание, что ее нужно вводить после каждого изменения настроек.
Теперь перейдем к настройкам линий и номеров
CME(config)#voice register dn 1
CME(config-register-dn)#number 211
CME(config-register-dn)#name Clint Eastwood
CME(config-register-dn)#exit
CME(config)#voice register dn 2
CME(config-register-dn)#number 212
CME(config-register-dn)#name Bruce Willis
CME(config-register-dn)#voice register dn 1 - команда создает dn. Понятие имеет то же значение, что и ephone-dn в настройках SCCP. Более подробно можно посмотреть в предыдущей статье.
name Clint Eastwood - имя, отображается на экране телефона, которому будет назначен этот dn, а также на экране абонента когда мы ему будем звонить с этого телефона.
Теперь добавим телефоны:
CME(config)#voice register pool 1
CME(config-register-pool)#id mac e811.32c6.d5dd
CME(config-register-pool)#type 7905
CME(config-register-pool)#username 211 password 211pass
CME(config-register-pool)#description Clint_Eastwood
CME(config-register-pool)#number 1 dn 1
CME(config-register-pool)#codec g711ulawvoice register pool 1 - входим в режим настройки телефона. В терминологии SCCP это ephone 1.
id mac e811.32c6.d5dd - мак-адрес телефона.
username 211 password 211pass - логин и пароль для регистрации телефона. В телефонах cisco указывается в Settings->SIP configuration.
number 1 dn 1 - привязываем к первой линии телефона первый dn. Соответственно, номер телефона будет взят из него.
codec g711ulaw - указываем, какой кодек будет использоваться.
После этих манипуляций телефоны должны регистрироваться.
Проверяем командой show voice register dial-peers
CME#show voice register dial-peers
dial-peer voice 40001 voip destination-pattern 211 session target ipv4:192.168.10.51:5060 session protocol sipv2 codec g711ulaw bytes 160 after-hours-exempt FALSEДаже работает :)
CME#
В качестве заметки на полях: если телефон со всеми настройками не регистрируется, но с него можно позвонить на зарегистрированные телефоны на CME, то половина настроек, которые мы вводили выше было введено зря. Такая ситуация с телефонами не редкая. В моем понимании, это из-за того, что SIP это протокол типа точка-точка (не клиент-серверный как SCCP), соответственно, когда мы набираем номер, то вызов идет на указанный нами в настройках телефона SIP-proxy (что есть тот же CME) в формате number@sip.proxy.ip.addr. В таком виде он приходит на CME, а тот уже знает, что с ним делать, так как номер, куда мы звоним у него зарегистрирован. Но на SIP-телефон позвонить не можем, потому что он не зарегистрирован и CME понятия не имеет, что делать, когда приходит вызов на этот номер.
Потраблшутить регистрацию можно командами:
debug voice register eventsdebug ccsip messagesВторая выдает намного более подробную информацию.
Под занавес скажу, что нормально регистрируется и звонит только настольный Cisco-телефон с SIP прошивкой, софт-фон стороннего производителя пока не удалось заставить работать. Authentication failed. Но уже пол-третьего ночи и одним глазом я уже сплю, так что оставим эту затею до лучших времен.
No comments:
Post a Comment