среда, 21 декабря 2011 г.

Развертывание SIP-DECT от Aastra совместно Cisco CallManager Express (ver. 8.0)

Я продолжаю тестирование решения SIP-DECT от Aastra с IP-АТС различных производителей.
В этой статье пойдет речь о тестировании SIP-DECT решения совместно с Cisco Call Manager Express 8.0 на базе шасси Cisco 2811 с IOS 15.1. 
Основная идея этого тестирования - показать возможность получения функционала мобильности по технологии классического DECT стандарта GAP в уже существующую, работающую, инфраструктуру, развернутого на базе Cisco CME.


С точки зрения Cisco CallManager Express DECT-абоненты будут являться обычными SIP-абонентами, работающими по стандарту SIPv2, всю работу по регистрации DECT-терминалов и преобразованию голоса в стандартные кодеки SIP произведут базовые станции Aastra RFP.

DECT-кластер на базе Aastra RFP представляет собой множество взаимосвязанных точек доступа, одна из которых является главной точкой, содержащей управляющую микропрограмму OMM (Open Mobility Manager), остальные точки в системе являются ведомыми, каждая из них имеет свой IP-адрес в системе, но управление кластером производится только с главной точки, содержащей OMM.  Следует заметить, что в текущей версии базовых станции, управляющую программу OMM главная точка доступа будет загружать с TFTP-сервера каждый раз после включения питания, таким образом для в момент запуска системы (или перезагрузки системы) TFTP-сервер должен быть доступен с точек доступа. В данном примере мы будем использовать в качестве TFTP-сервера непосредственно маршрутизатор Cisco, предварительно загрузив в его flash файл omm_ffsip.tftp.


Схема лабораторной установки представлена на рисунке 1.
Рис.1.

Как видно из схемы, в тестировании принимают участие две точки доступа Aastra RFP L32 и Aastra RFL L42 WLAN (с возможностью работы в качестве точки доступа Wi-fi, в данном тестировании этот функционал не рассматривается). В качестве DECT-терминалов - трубки Aastra d610 и Aastra d620.
В качестве проводных терминалов будем использовать аппараты Cisco 7960, работающие по проприетарному протоколу SCCP, для проверки совместного взаимодействия SIP-DECT решения с оборудованием Cisco.
Также, все устройства объединены в локальную сеть посредством восьмипортового коммутатора с PoE - Cisco 2960.
В качестве IP-АТС в данном тестировании взято шасси Cisco 2811 (без DSP), с IOS версии 15.1, имеющий функционал CallManager версии 8.0:

CCME#sh version
Cisco IOS Software, 2800 Software (C2800NM-IPVOICE_IVS-M), Version 15.1(1)T, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2010 by Cisco Systems, Inc.
Compiled Mon 22-Mar-10 01:25 by prod_rel_team

ROM: System Bootstrap, Version 12.4(13r)T11, RELEASE SOFTWARE (fc1)

CCME uptime is 1 hour, 20 minutes
System returned to ROM by reload at 10:51:34 UTC Fri Dec 9 2011
System image file is "flash:c2800nm-ipvoice_ivs-mz.151-1.T.bin"
Last reload type: Normal Reload

Cisco 2811 (revision 53.51) with 514048K/10240K bytes of memory.
Processor board ID FCZXXXXXXXX
2 FastEthernet interfaces
2 Voice FXS interfaces
DRAM configuration is 64 bits wide with parity enabled.
239K bytes of non-volatile configuration memory.
126000K bytes of ATA CompactFlash (Read/Write)


License Info:

License UDI:

-------------------------------------------------
Device#   PID                   SN
-------------------------------------------------
*0        CISCO2811             FCZXXXXXXXX



Configuration register is 0x2102


Приступим к настройке Cisco CallManager Express посредством командной строки. Строки, начинающиеся с # - мои комментарии команд:

#В первую очередь пропишем IP-адрес на интерфейсе маршрутизатора:
interface FastEthernet0/0
ip address 172.31.31.254 255.255.255.0



#Поднимаем tftp-сервер с файлом микропрограммы omm_ffsip.tftp для
#базовых станций Aastra RFP:
!
tftp-server flash:omm_ffsip.tftp alias omm_ffsip.tftp
!
#Настроим телефонный сервис для функционирования проприетарных #телефонов Cisco 7960 по протоколу SCCP:
telephony-service
max-ephones 10
max-dn 10
ip source-address 192.168.201.254 port 2000
max-conferences 4 gain -6
call-forward pattern .T
moh flash:/music-on-hold.au
#Файл, содержащий музыку для MoH, должен находиться на flash:
transfer-system full-consult
transfer-pattern .T
create cnf-files version-stamp Jan 01 2002 00:00:00
!
!
ephone-dn  1
number 2001
description Ivanov Ivan
name Ivanov Ivan
!
!
ephone-dn  2
number 2002
description Petrov Peter
name Petrov Peter

!
ephone  1
mac-address 001A.2F8D.F296
paging-dn 10
type 7960
button  1:1 2:3
!
!
!
ephone  2
mac-address 000B.FDCD.B1A0
paging-dn 10
type 7960
button  1:2
!

!
!


#Настроим основной раздел voip, в котором явно укажем с какого протокола на какой разрешены соединения, а так же что наш CallManager является Registrar Server для SIP-терминалов:
voice service voip
allow-connections sip to sip
sip
 registrar server
!

#Опишем класс кодеков, которые будут доступны для выбора SIP-абонентами при согласовании в соответствующем порядке:
voice class codec 1
codec preference 1 g711ulaw
codec preference 2 g711alaw
codec preference 3 g729r8
!
!

#Далее следует описание раздела voice register:
voice register global
mode cme   #режим CME, все звонки будут обрабатываться CallManager
source-address 172.31.31.254 port 5060 #адрес, на которомслушает” Registrar server
max-dn 10   #Максимальное количество линий
max-pool 10
authenticate register   #включаем аутентификацию sip-абонентов
authenticate realm treolan.ru   #аутентификация с использованием realm #оказалась обязательным условием функционирования SIP-DECT баз
!
#Заводим линию для SIP-абонента 6000:
voice register dn  2
number 6000
name 6000
label 6000
!
#Заводим линию для SIP-абонента 6001:
voice register dn  3
number 6001
name 6001
label 6001
!
#Заводим пул для SIP-абонента 6000:
voice register pool  2
id mac 0030.4212.6000  #Идентификатор не обязательно соответствует MAC-устройства
number 1 dn 2 #Соответствие номера в пуле линии
dtmf-relay rtp-nte cisco-rtp sip-notify
voice-class codec 1 #Ссылка на список кодеков
username 6000 password 6000 #Данные аутентификации
description 6000
!
#Заводим пул для SIP-абонента 6001:
voice register pool  3
id mac 0030.4212.6001
number 1 dn 3
dtmf-relay rtp-nte cisco-rtp sip-notify
voice-class codec 1
username 6001 password 6001
description 6001
!

После этого телефоны должны зарегистрироваться. Проверить состояние регистрации можно например командой:


#show voice register pool 3
Pool Tag 3
Config:
 Mac address is 0030.4212.D981
 Number list 1 : DN 4
 Proxy Ip address is 0.0.0.0
 DTMF Relay is enabled, rtp-nte, sip-notify
 Call Waiting is enabled
 DnD is disabled
 keep-conference is enabled
 username 6000 password 6000
 service-control mechanism is not supported
 registration Call ID is 62474b6d11170384313942@DSIP
 active primary line is: 6000

 contact IP address: 172.31.31.11 port 5060


Dialpeers created:

dial-peer voice 40003 voip
destination-pattern 6000
session target ipv4:172.31.31.11:5060
session protocol sipv2
dtmf-relay rtp-nte sip-notify
voice-class codec 1
 after-hours-exempt   FALSE

Statistics:
 Active registrations  : 1

 Total Registration Statistics
   Registration requests  : 2
   Registration success   : 2
   Registration failed    : 0
   unRegister requests    : 1
   unRegister success     : 1
   unRegister failed      : 0


Настройка  базовых станции Aastra
Первичная настройка базовых станции имеет свою специфику. Во-первых, станции не содержать IP-адреса по умолчанию, с помощью которого можно их настроить. В новых станциях, вытащенных из коробки активен только базовый загрузчик, который может взаимодействовать только со специальной утилитой OM_Configurator.jar (java-приложение). Эта утилита, а также весь остальной софт, который нам понадобится в настройке находится тут:  http://www.aastra.com/document-library.htm?curr_fam=SIP-DECT&curr_nav=4&prod_id=6023. Эти .jar файлы разместите в папке с простым именем (без символов !, _ и прочих дополнительных, это важно для Java).
Распаковав архив, мы обнаружим там ряд файлов. В первую очередь нам понадобится основной файл микропрограммы, который будет загружен во все базовые станции по протоколу TFTP. Это файл - omm_ffsip.tftp, его следует поместить в папку tftp-сервера, из которой впоследствии возможен забор по протоколу tftp. После чего, на ноутбуке для настройки запустим конфигуратор OM_Configurator.jar (подразумевается, что JAVA на нем уже установлена). Убедимся, что базовые станции и ноутбук для настройки находятся в одном LAN-сегменте и запустим сканирование этого L2-сегмента сети кнопкой Scan в конфигураторе (рис. 4): 

Рисунок 4.

Должны обнаружиться все базовые станции, которые подключены в этот сегмент сети. По MAC-адресу определим нужную нам RFP L32 IP – ее MAC должен совпадать с написанным на коробке или на дне станции.

В данном случае это первая обнаруженная станция, на нее следует нажать мышью, чтобы в правой части настроек появился ее MAC. Далее, настраиваем поля, которые отмечены красными стрелками. Следует заметить, что логин/пароль по умолчанию на базовых станциях omm/omm. В качестве OMM IPaddress следует прописывать IP-адрес главной станции. В данном случае мы настраиваем главную станцию, поэтому этот адрес совпадает с IP address.

После заполенения необходимых данных нажимаем кнопку Send config. на верхней панели. Если все нормально – в левом нижнем углу должен появится статус Send OK.
После выполненных действий данная базовая станция готова к работе. Ее IP-адрес 172.31.31.11 должен отвечать на команду ping, на нее можно зайти через WEB-интерфейс по этому адресу или через утилиту OMP.jar, которая была в составе распакованного архива. Таким же способом делаем первичную настройку второй станции, различие будет только в IP-адресе.
В дальнейшем, все настройки системы производятся только с главной станции, вторая и последующие станции не могут быть настроены через WEB-интерфейс или утилитой OMP.jar.
Зайдем на главную базовую станцию через браузер Internet Explorer, набрав в адресной строкеhttp://172.31.31.11
В первую очередь нам будет предложено заменить пароль по умолчанию на более сложный. Пароль должен содержать большие и маленькие латинские буквы, а также цифры. Без смены пароля работа с WEB-интерфейсом не возможна (в отличии от утилиты OMP.jar, которая не требует обязательной смены пароля). Также будет предложено заменить пароль на пользователя root для удаленного доступа (если он будет необходим и активирован, по умолчанию он не активен). Следует отметить, что пароль на эти базовые станции в последствии очень сложно сбросить к первичному заводскому (необходимо будет взаимодействие с технической поддержкой Aastra), поэтому крайне не желательно его забывать, сохраните его в надежном месте.
Начинаем настройки с раздела System Settings (рис. 5):

Рисунок 5.
Обязательно следует настроить поля, отмеченные красными стрелками:
- Имя системы, которое будет отображаться на телефонных трубках;
- PARK-код, который уникально идентифицирует данную DECT-систему базовых станций. Является уникальным кодом,  заказывается отдельно, без него система будет работать с базовым PARK-кодом только 72 часа и звонки будут ограничены 30 секундами (для тестовой эксплуатации).  Также этот PARK-код нужно будет ввести на DECT-терминале при первичной настройке для регистрации трубок в этой системе. Следует заметить, что изначально код приведен в шестнадцатеричной системе (HEX), а в DECT-терминалы его следует ввести в десятичной системе – код в десятичной приведен справа от поля PARK в круглых скобках.
- Regulatory domain – тут следует указать наш регион – EMEA;
DECT authentication code – этот код в последствии нужно будет вводить на DECT-терминалах при первичной настройке для регистрации трубок в системе.
После нажатия кнопки OK базовая станция перезагрузится (не забывать оставлять запущеннымTFTP-сервер).
Далее, после перезагрузки перейдем к настройкам SIP (рисунок 6):
Рисунок 6.
В полях, отмеченных красными стрелками, вводим IP-адрес нашего Asterisk, на котором уже заведены два SIP-аккаунта. После нажатия ОК, станция также перезагрузится.
Следует заметить, что для того чтобы проверить функционал DECT не обязательно наличие поднятой телефонной станции. Вместо IP станции можно прописать IP-адрес текущей главной базовой станции DECT (в данном случае 172.31.31.11) и звонки с одной трубки на другую трубку в пределах этой DECT-системы должны проходить. Таким образом, это можно использовать для траблшутинга, в случае, если что то не работает, чтобы определить в чем проблема – в DECT части или в SIP-взаимодействии с телефонной станцией.
Далее, перейдем к настройкам собственно DECT-базы (Radio Fixed Parts) рис. 7:
Рисунок 7.
Даже если базовая станция в системе только одна, все равно ее следует завести в этом разделе. Как показано красными стрелкам, нажимаем кнопку New и вводим в появившемся окне MAC address нашей станции, ее имя, а также обязательно принадлежность к DECT-кластеру, в данном случае 1. Аналогично добавляем вторую базовую станцию RFP L42 WLAN.
После этих настроек станция станет активной и ее должны «увидеть» DECT-терминалы в зоне доступа.
Далее, перейдем к настройкам DECT-абонентов (Portable parts), для того, чтобы наши DECT-терминалы получили номера, соответствующие SIP-номерам номерного плана АТС Asterisk и стали полноправными участниками этой телефонной системы (рис 8):
Рисунок 8.
Кнопкой New добавляем новый аппарат, вводим его имя, номер, IPEI-код (однозначно идентифицирует DECT-терминал, можно посмотреть в настройках трубки раздел Система -> Показать IPEI), а также DECT authentication code. Тут также можно ввести параметры SIP-аутентификации, если они предусмотрены на АТС, но в данном случае эти поля остаются пустыми (выделены красным овалом).
Настроим DECT-терминалы, для того чтобы они могли зарегистрироваться в этой DECT-системе на примере терминала Aastra 610d: Меню -> Система -> Регистрации -> Новая система. Далее следует ввести код аутентификации (в нашем случае это 1234), а также PARK-код в десятичной системе счисления.
Заведя два DECT-терминала убедимся, что они прописались на станции (появились зеленые галочки в разделе Subscribed).



Далее нами были проведена проверка различных вариаций взаимодействия полученной системы. Ниже приведены результаты тестов. Для краткости приняты обозночения:
  • d610(6000) - DECT терминал Aastra d610 с номером 6000
  • d620(6001) - DECT терминал Aastra d620 с номером 6001
  • C7960(2001) - Cisco 7960 терминал с номером 2001
  • C7960(2002) - Cisco 7960 терминал с номером 2002


Проверка трансфера:
1.1 Звонок с d610(6000) на d620(6001) успешно переключен на C7960(2001)
1.2 Звонок с d610(6000) на C7960(2001) успешно переключен на C7960(2002)
1.3 Звонок с d610(6000) на C7960(2001) успешно переключен на d620(6002)
1.4 На d610(6000) в меню выставлена безусловная переадресация на телефон C7960(2002). При звонке на 6000 с C7960(2001) происходит безусловный переброс на C7960(2002).

Выводы: трансфер с SIP-DECT на проприетарные телефоны Cisco работает во всех вариациях, как в режиме blind так и в режиме full consalt. В разделе telephony service обязателен параметр transfer-pattern .T

Так же, как видно из настроек, присутствует функционал MoH - Music On Hold. В действительности, при переключении в DECT-трубках слышна соответсвующая музыка.

Кроме всего прочего, замечено, что передается и выводится на экран имя звонящего во всех направлениях - как с DECT-трубок на Cisco Phones, так и наоборот (Рисунок 9).




Рис.9

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

Выводы: решение SIP-DECT от Aastra вполне совместимо с Cisco CallManager Express 8.x по основному функционалу и достаточно просто интегрируется в уже работающую сеть, с минимальными изменениями.
Версия CCME 8.0 на момент написания статьи является достаточно актуальной на данный момент времени. Так же была успешно протестирована функциональность базового звонка с версией CallManager 4.1. С большой долей вероятности можно утверждать, что это решение будет работать с «большим» Cisco CallManager.


2 комментария:

  1. Этот комментарий был удален автором.

    ОтветитьУдалить
  2. authenticate realm treolan.ru #аутентификация с использованием realm #оказалась обязательным условием функционирования SIP-DECT баз . Действительно без этой строчки ( проверял несколько раз) базовая станция Aastra rfp l 34 ip не включается и не устанавливает на себя прошивку с tftp сервера Циски.
    Спасибо вам за столь подробную информацию.

    ОтветитьУдалить