понедельник, 11 ноября 2013 г.

Alcatel-Lucent OXE. Патчим CPU, роумим DECT, лезем в LDAP

Вторая, но, возможно, не последняя статья из цикла былого опыта. Пригодится.

Установка патча на CPU-плату.

Перед началом установки патча необходимо выбрать рабочую станцию или сервер, с которой телефонная станция будет забирать обновления. На выбранной машине у нас должны быть права администратора, чтобы установить OmniPCX Enterprise PC Installer и запустить tftp-сервер. Обязательно нужно проверить, видит ли АТС выбранную станцию командой ping. Можно, конечно, извернуться и поднять сервер на *nix-тачке, но мы же entry-level администраторы и не ищем сложных путей, поэтому:

1) На выбранной машине устанавливаем программу OmniPCX Enterprise PC Installer. Её дистрибутив лежит в каждом релизе патча. Вот здесь (на примере 50-го патча):
\dhs3mgr\h130150\pcmao\boot_res\pcinstall

2) Затем на данной машине нужно остановить брандмауэр, запустить службу обозревателя и запустить инсталлятор в режиме Call handling or patch. Окно будет выглядеть примерно так (ну, кроме надписей в полях ввода):


Рис. 1

Поскольку мои АТС-ки были представлены в двухпроцессорных конфигурациях, была возможность обновлять софт, не прерывая работы станции. На некоторое время отвалятся лишь IP-соединения при переходе телефонии с основной платы на резервную. Для начала нам нужно понять, которая из плат в данный момент активна, а которая находится в режиме STAND-BY. Традиционно на всех станция основной платой являлась CPU с именем xb…, которая соответствует плате, установленной в слоте номер 6 (решение, возможно, спорное и необязательное, но так уж всё было настроено на всех узлах ABC-F сети, и проще было в дальнейшем придерживаться этой идеи, чем всё переконфигурировать). Текущую роль платы можно посмотреть, выполнив команду role.
Также проверяем, синхронизированы ли платы командой twin. Если нет, то необходимо вручную выполнить перенос всех баз с основной платы на резервную. Может быть, это будет рассмотрено в другом мануале.

3) Итак, командой role мы выяснили, которая из плат находится в режиме STAND-BY. Если нам необходимо установить динамический патч (с буквой после полного номера релиза), то телефонию можно не останавливать, и вообще устанавливать патч «на горячую». Однако в случае статического патча делаем следующее (залогинившись по ssh или telnet на плату под пользователем mtcl):
- swinst (пароль SoftInst)
- 1 Easy menu
- 7 Stop the telephone

4) Ставим патч:
- swinst
- 2 Expert menu
- 2 Deliveres installation
- 1 Install delivery from server

На запрос Enter the name of the server (default xxx.xxx.xxx.xxx) ->  вводим ip-адрес компьютера, на котором запущен OmniPCX Enterprise PC Installer). Далее ввод выделен полужирным шрифтом:

The installation of the binaries will modify the current installed version
Please, confirm the installation of a new version (y/n, default y): y
Enter the full path of the delivery on the server
example for Unix server: /twdhs3/dhs3ref/dhs3ref_d2/E2.504/LIVRAISON
for Windows server: /dhs3mgr/E2504
-> /dhs3mgr/h130150a (относительный путь до патча, в данном примере приведён динамический патч)
Confirm the full path /dhs3mgr/h130150a (y/n, default y): y
The path of the delivery is /dhs3mgr/h130150a
Do you wish to secure the installation (y/n): n

Если мы ставим сначала статический, а затем динамический патч, то данный пункт можно и даже желательно сразу же повторить ещё раз, уже для динамического патча. При этом не стоит пугаться, если сразу после установки статического патча мы увидим что-то вроде:
End of post installation
In order to run the Linux packages
In order to run the emulation layer
YOU HAVE TO REBOOT THE SYSTEM
Press return
In order to install the swinst package
you are reconnected as swinst user.
End of operation!
Local and twin cpus have different software number
- on local cpu : DELIVERY h1.301.50
- on twin cpu : DELIVERY h1.301.50.a
running new swinst profile
Confirm that 'ru' will be used as EXPORT version (y/n, default y):
*** Creation of the missing main directories
*** Creation of the missing swinst directories
A periodic backup is already registered
Last installed delivery
DELIVERY h1.301.50

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

5) Включаем автостарт сервисов телефонии (если ранее она была остановлена):
- swinst
- 2 Expert menu
- 6 System management
- 2 Autostart management
- 1 Set autostart

6) После того, как все патчи установлены, если среди установленных патчей у нас имелся хоть один статический, то нужно перезапустить плату, на которой мы его устанавливали:
shutdown -r now

7) Проверяем, всё ли поднялось, командой twin. Выполнять данную команду можно на любой из процессорных плат:
(105)xa001005> twin
Tue Jan 31 16:57:19 GMT-4 2012
Usage : twin [Redundancy Cpu Enable (y/n)]
Role and CPU positions:
Role of the CPU : STAND BY
CPU position : 20
CPU address : aaa.aaa.aaa.aaa
Twin CPU position : 06
Twin CPU address : bbb.bbb.bbb.bbb
Redundancy State:
Duplicated configuration : YES
Wished sig. transfer mode : C1 signalling channel
Used sig. transfer mode : C1 signalling channel
Transmission CPU-CPU : READY
monitel redundancy : READY
memloader redundancy : KO
All applications redundancy : READY

В нашем случае memloader redundancy будет не синхронизирован из-за разной версии ПО на двух платах CPU. После того, как командой bascul (на  активной плате) мы переведём телефонию на резервную плату и повторим все пункты, начиная с №3 для той платы, которая изначально была основной, синхронизация должна будет выровняться.

Роуминг DECT


Для начала нужно выяснить, какие лицензии у нас есть, и что мы можем наконфигурировать.

Лицензии на роуминг

Чтобы узнать, какие возможности перед нами открыты, залогинимся на станцию, и выполним команду spadmin:
(105)xb001005> spadmin
ooo Reading string-file /DHS3bin/oneshot/mtcl/objects.US0 ...
ooo Reading string-file /DHS3bin/oneshot/mtcl/spadmin.dct ...
ooo Reading string-file /DHS3bin/oneshot/mtcl/err2lov.dct ...
Display current counters ........................... 1
Display active file ................................ 2
Check active file coherency ........................ 3
Install a new file ................................. 4
Read the system CPUID .............................. 5
CPU-Ids management ................................. 6
Display active and new file ........................ 7
Display OPS limits ................................. 8
Display ACK code ................................... 9
Exit ............................................... 0
choice :

Выберем 2. На экране появится список всех возможностей, доступных в текущей лицензии на станцию. Нас интересует три пункта:
82 Nb of DECT terminals
90 Roaming DECT/PWT
175 Mobile users
В п. 82 указано общее (оплаченное по лицензии) доступное количество пользователей (абонентов) DECT. Причем в это количество также входят и так называемые «виртуальные» номера, создаваемые на станции для того, чтобы было возможно осуществлять роуминг.
В п. 90 указано количество внутренних абонентов DECT на станции, которым мы имеем право присвоить права роуминга на другие станции ABCF-сети. При этом необходимо помнить, что для того, чтобы роуминг работал на второй, гостевой станции к моменту попадания трубки в зону действия DECT должен быть свободный «виртуальный» номер.
В п. 175 можно посмотреть, какое количество лицензий уже использовано, включая т.н. «виртуальные» номера. 

Чтобы посмотреть на станции, какие абоненты имеют право на роуминг, проще всего в системе OmniVista задать следующий фильтр:
Рис. 2.

Настройка роуминга

У каждой системы DECT есть определённый идентификатор – PARI-номер. Его можно посмотреть в следующем месте: Dect System – IBS System (или RBS System). См. рис. 3.

Рис. 3.

Каждой трубке присваивается PLI-номер. Я, если честно, не знаю его формального определения, но значение PLI-номера соответствует количеству байтов PARI-номера, которые должны быть одинаковыми на двух станциях, чтобы между ними был возможен роуминг DECT. Переведём PARI-номера наших станций в двоичный вид и сравним. В скобках записан шестнадцатеричный вид PARI-номера.

1 станция: 100 0001 1100 0100 0111 1001 0100 0010 0010 (4 1C47 9422)
2 станция: 100 0001 1100 0100 0111 1001 0100 0100 0000 (4 1C47 9440)
...
7 станция: 100 0001 1100 0100 0111 1001 0100 0101 1110 (4 1C47 945E)

Жёлтым цветом выделено 27 байтов. Это значение PLI, которое должны иметь трубки, у которые есть право DECT-роуминга. У остальных трубок значение PLI равняется 31.
Но это ещё не всё. Для работы роуминга требуется ещё, чтобы на той станции, куда приходит гость, был зарегистрирован так называемый Shell. При этом станция, откуда пришёл этот гость, должна знать, где обитает данный Shell. У нас это реализовано следующим образом (рассматриваем на примере двух абстрактых станций 1 и 2):
На станции 1 создано 5 пользователей (Рис. 3)

Рис. 4.

На станции 2 создано 5 соответствующих префиксов, имеющих значение Dect Mobile и ссылающихся на станцию 1 (Рис. 4)

Рис. 5.

Нужным абонентам станции 2 поставлены права Network Mobile Rights и PLI 27. Таким образом, 5 первых таких пользователей, попавших в зону действия DECT станции 1, зарегистрируются на станции и будут успешно разговаривать с абонентами станции 2.

И, в заключение, небольшая ...

Недокументированная возможность

На LDAP-сервере OmniVista есть один пользователь, существование которого не описано ни в одном официальном мануале. Это суперпользователь сервера каталогов, о существовании которого я узнал из какого-то раздела на Alcatel Unleashed :
Имя пользователя: cn=Directory Manager
Пароль: 123456789


Пользуемся

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


1)​ Настраиваем новое соединение. Единожды настроив, потом можно будет им пользоваться:


Рис. 6

2)​ Подключаемся, жмём «Yes»:

Рис. 7

3)​ Разворачиваем дерево каталога до нужного пользователя, как показано на скриншоте, нажимаем на пользователе правую кнопку мыши, выбираем пункт Set Password:


Рис. 8

Всё! При следующей попытке входа в OmniVista пользователю будет предложено создать новый пароль. И сделали мы это, не используя учётную запись администратора.

Комментариев нет:

Отправить комментарий