Установка AUP

Необходимо настроить адрес репозитория, с которого будет производиться установка пакета ecss-autoprovision.

Для установки системы Autoprovision необходимо добавить репозиторий ЭЛТЕКС.

Информацию о репозитории и ключ для него, требуется уточнять у технической поддержки.

После удачного добавления репозитория, нужно установить пакет ecss-autoprovision-<VERSION>.
Где <VERSION> - версия пакета AUP.

Также возможен вариант развертывания AUP на виртуальной машине.

Ссылка на образ виртуальной машины, требуется уточнить у коммерческого отдела.

Работа виртуальной машины возможна на следующих гипервизорах: Virtualbox, VMWare Player, Qemu/kvm.

Логин/Пароль - admin/admin.

После успешного импорта виртуальной машины требуется сделать dpkg-reconfigure ecss-autoprovision и настроить сервис.

Общее описание системы Autoprovision (AUP)

Система "Autoprovision (AUP)" представляет собой сервис, при помощи которого возможно автоматическое конфигурирование и обновление ПО телефонных аппаратов.

Вся система состоит из 3 сервисов, которые обеспечивают полноценную работы системы: ecss-autoprovision-core, ecss-autoprovision-ui, ecss-autoprovision-tftp2http.

"Autoprovision (AUP)" имеет свой собственный WEB-конфигуратор. Для входа в него требуется зайти по ссылке <ip>:<8092>, где ip - адрес сервера на котором установлен пакет ecss-autoprovision-ui.

Настройка системы AUP

Настройка DHCP сервера

Для того чтобы телефоны могли взаимодействовать с "Autoprovision (AUP)", они должны знать IP-адрес сервера AUP. Телефоны получают адрес благодаря опции 66 DHCP. В данном примере будет приведена настройка DHCP сервера на основе dnsmasq.

Для каждого вендора (ELTEX, YEALINK, CISCO) стоит настроить отдельные группы настроек, которые будут применяться только к ТА данных вендров.

В основную конфигурацию dnsmasq, располагающую по пути /etc/dnsmasq.conf, следует внести следующие параметры:

Пример:

##############YEALINK###############
interface=enp2s0 #сетевой интерфейс который слушает/раздает IP и DHCP опции 
dhcp-mac = set:yealink, 80:5e:c0:*:*:* #маска MAC, на основе которой будут выдаваться IP и DHCP опции 
dhcp-range=tag:yealink tag:192.168.116.200,192.168.116.205,1h #диапазон IP адресов, которые будут выдаваться данным телефонам, обновление производится каждый час.
dhcp-option=3,192.168.112.1 #Третья DHCP опция
dhcp-option=tag:yealink, tag:enp2s0,66,http://192.168.116.181:1350/yealink #66 DHCP опция для ТА Yealink, где 192.168.116.181 - ip AUP
dhcp-option=6,172.16.0.250

###################VP-12/15##############
dhcp-mac = set:vp, a8:f9:4b:*:*:* #маска MAC, на основе которой будут выдаваться IP и DHCP опции
dhcp-option=tag:vp, tag:enp2s0,66,http://192.168.116.181:1350/eltex/A8.F9.4B.2F.00.FE.yaml #66 DHCP опция для ТА VP-12/15, где 192.168.116.181 - ip AUP

После того как телефоны получат 66 опцию, они автоматически определяется в системе "Autoprovision (AUP)", во вкладке "Устройства".

Настройка AUP через WEB - конфигуратор

Вкладка "Устройства"

На данной вкладе отображается весь список телефонных аппаратов, которые когда-либо обратились к сервису "Autoprovision (AUP)".

При первичном обращении к AUP каждому устройству назначается пользователь undefined

Описание полей:

           - телефон не конфигурируется сервером AUP.

Фильтры и поиск

В верхней области страницы присутствует фильтр и поиск. При выборе фильтра "Обслуживание" появляется контекстное меню, в котором можно выбрать нужный фильтр.

В поле поиска можно вводить любое значение, которое может находиться в полях: Пользователь, Фамилия, MAC-адрес и т.д

Действия над устройством

При выборе устройства становится активным меню с действиями:

Описание действий:

Показать пользователя 

"Показать пользователя"  - при нажатии переводит вас на ссылку с пользователем, который привязан к данному устройству.

Сменить пользователя 

"Сменить пользователя"  - при нажатии позволяет задать устройству другого пользователя:

Скачать свойства в JSON 

"Скачать свойства в JSON"  - при нажатии позволяет скачать все свойства, которые были применены к этому аппарату, после прохождения цепочки. Описание понятия цепочки описано в разделе "Цепочки".

Свойства

"Свойства"  - при нажатии показывает весь список свойств, которые были применены к этому аппарату после прохождения цепочки.

В данном окне отображаются все свойства телефонного аппарата. Некоторые ключи могут быть выставлены на нескольких уровнях цепи, количество повторов указывается в скобках. Аналогичным образом можно добавить в простую группу требуемое количество ключей

При нажатии на любой из ключей появится дополнительное информационной поле:

Описание полей:

Файлы

"Файлы"  - при нажатии показывает весь список файлов, которые запросило устройство у сервера AUP:

Описание полей:

В верхнем меню расположены кнопки действий, доступные при выборе одного из файлов.


Описание иконок:

-  Скачать файл;

- Показать файл;

- Редактировать файл;

- Удалить файл.


В нем вы сможете скачать, отредактировать или же посмотреть уже окончательно сформированную конфигурацию для данного устройства, которая будет выгружена не него при следующем обращении к серверу AUP.

Удалить 

"Удалить"  - при нажатии удаляет данное устройство из списка. Устройство появится в списке, если еще раз сделает запрос на сервер AUP.

Вкладка "Пользователи"

На данной вкладке отображены все пользователи, которые были созданы в системе AUP.

Описание полей:

Фильтры и поиск

В верхней области страницы присутствует фильтр и поиск. При выборе фильтра Цепочка появляется контекстное меню, в котором можно выбрать нужный фильтр. Фильтр показывает только те цепочки, которые назначены на пользователей. Цепочки без назначения не отображаются.

В поле поиска можно вводить любое значение, которое может находится в полях: Пользователь, Имя, Фамилия, Цепочка.

Действия над пользователем

При выборе пользователя становится активным меню с действиями:

Описание действий:

Обновить список пользователей


"Обновить список пользователей"- при нажатии обновляет список пользователей;

Добавить пользователя

"Добавить  пользователя"- при нажатии появляется меню с созданием нового пользователя;

Импортировать пользователей из всех источников

"Импортировать пользователей из всех источников"- при нажатии импортирует пользователей из всех источников;

Показать цепочку

"Показать цепочку"  - при нажатии переводит на страницу с цепочкой, к которой привязан пользователь;

Изменить цепочку

"Изменить цепочку"  - при нажатии позволяет переназначить цепочку на пользователе:

Устройства

"Устройства"  - при нажатии показывает список всех устройств, которым назначен пользователь:

Описание полей:

Нажатие на устройство приводит к переходу на ссылку с этим устройством.

Редактировать

"Редактировать"  - при нажатии позволяет редактировать уже заданных свойства и ключи у пользователя.

Удалить

"Удалить"  - удаление пользователя.

При нажатии появляется окошко, в котором нужно выбрать ответ:

Описание полей:

Создание нового пользователя

Для создания пользователя, требуется нажать на кнопку . Появится контекстное меню:

Описание полей:

В случае нехватки ключей, всегда можно создать свой собственный. Для этого требуется нажать на кнопку "Добавить переменную окружения" .

В открывшемся меню требуется ввести название нового ключа и его значение.

Вкладка "Свойства"

 Цепочка (chain) — это набор групп упорядоченных по весовым коэффициентам (weight).   Изначально, в системе существует только стандартная цепочка с именем Default chain, в которой сконфигурированы дефолтные группы и ключи. У администратора системы всегда есть возможность создания новой цепочки для более гибкой настройки, в соответствии со своими целями.

Существуют группы двух типов:

В цепочке могут находиться группы любых типов. Стоит отметить один важный момент. Если при сборе параметров на предыдущих шагах уже встречался параметр с таким же именем то его значение будет обновлено. Это позволяет однозначно сопоставлять значения параметра избегая множественного выбора.

Описание принципа формирования конфигурации для телефонов

В системе "Autoprovision (AUP)" есть набор ключей, которым назначается свой тип и значение. После того как в системе был заведен пользователь, ему была присвоена требуемая цепочка, к нужному устройству был привязан пользователь, система начинает формирование конфигурации для данного телефона.

Прохождение по цепочке осуществляется в соответствии с весом групп, простых групп. Чем ниже вес - тем более приоритетной считается группа. Если один и тот же ключ был выбран 2 раза на разных уровнях цепи, то берется именно тот, который был выбран в более приоритетной группе.

Система в первую очередь проходит по всей цепочке и отбирает только те ключи, которые должны принадлежать конкретному устройству. Именно поэтому цепочку нужно конфигурировать от общего к частному, т.е ключи, которые должны назначаться наибольшему количеству устройств, должны находиться в группах с низким приоритетом. Таким образом можно быстро изменить какой-то ключ для конкретного аппарата, просто выставив этот ключ на более высокой по приоритету группе. Так, ключ применится только для конкретного аппарата, а не для всех устройств.
То, какие ключи будут выбраны, зависит от свойств устройства (Вендор, модель, MAC-адрес) и от свойств пользователя (см. Создание нового пользователя).

После того как система отобрала все ключи, которые будут присутствовать в конфигурации телефона (см. Свойства), она начинает преобразовывать данные ключи в читаемый для телефонa вид, т.е в конфигурацию. Для данного преобразования используются специальные шаблоны (template), которые есть в базе системы. На данный момент поддержаны шаблоны для телефонов ELTEX, Cisco, Yealink.
Сформированную конфигурацию можно посмотреть ознакомившись с разделом Файлы.

Описание вкладки цепочки

На начальной странице отображаются только те цепочки, которые привязаны хотя бы к одному из пользователей. Для того чтобы посмотреть все доступные цепочки, нужно поставить галку в область.

Для более быстрого поиска цепочек присутствует специальный поиск:

Создание новой цепочки

Для создания новой цепочки требуется поставить галку на кнопку "Все" - . В нижней части страницы нажмите на , в открывшемся меню введите имя и описание цепочки.

Добавление новой группы в цепочку

Для добавления в цепочку новой группы нажмите на .

В появившемся окне требуется выбрать тип группы и заполнить дополнительные поля:

Описание полей:

При создании простой группы в нее можно сразу добавить нужные ключи. Для этого нужно нажать на кнопку  и в появившемся окне выбрать нужные ключи.

Если в буфер обмена уже будут скопированы какие-то ключи, то будет активна кнопка "Вставить свойство" .

При создании группы и цепочки появится новая вкладка, в которой нужно будет ввести префикс и переменную.

Префикс - имя которому будет присвоено значение переменной;

Переменная - ссылка на свойство, принадлежащее телефону или пользователю, за которым закреплен телефон.

К примеру, префиксу vendor_type будет присвоена переменная ${vendor}, тогда при проходе телефона Cisco по этой цепочке, префиксу vendor_type будет присвоено значение Cisco Systems.

Если требуется добавить еще один префикс, то нужно нажать на кнопку .

Теперь, при создании новой простой группы в данных группах/цепочках появится новое окошко:

В нем требуется ввести значение префиксу vendor_type, например Cisco Systems. Таким образом, произойдет сравнение того, что было внесено в префикс из переменной ${vendor} с тем, что было задано префиксу из простой группы.

Если эти значение идентичны, то система заберет из этой простой группы все присутствующие там ключи. В нашем случае, значение переменной ${vendor} равно значению в префиксе в простой группе - Cisco Systems.

Пример создания зависимостей между префиксами их значениями:

Взаимодействие новой цепочки

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

Вкладка "Карта цепочек"

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

Вкладка "Статистика"

На данной вкладке отображается статистика по моделям, производителям и ПО, которые обслуживаются данным сервером AUP

Вкладка "Настройки"

На данной вкладке содержатся все необходимые настройки системы AUP.

Пример настройки системы для автоконфигурирования телефона CISCO CP-7975

Настройка DHCP сервера

Настройка DHCP осуществляется на примере dnsmasq. Телефону с MAC адресом BC:16:F5:FB:5E:28 должен быть выдан IP-адрес из подсети 10.24.105.0/24, дефолтный шлюз 10.24.105.1, адрес сервера AUP - 10.24.105.9.

Пример:

interface = enp2s0
dhcp-mac = set:cisco, BC:16:F5:*:*:*
dhcp-range=tag:cisco tag:10.24.105.0,10.24.105.254,1h
dhcp-option = tag:cisco, tag:enp2s0, option:netmask, 255.255.255.0
dhcp-option = tag:cisco, tag:enp2s0, option:time-offset, 5
dhcp-option = tag:cisco, tag:enp2s0, option:router, 10.24.105.1
dhcp-option = tag:cisco, tag:enp2s0, option:dns-server, 10.24.105.1
dhcp-option = tag:cisco, tag:enp2s0, option:ntp-server, 10.24.105.1
dhcp-option = tag:cisco, tag:enp2s0, option:tftp-server, 10.24.105.9

По результатам произведенных действий телефон получил IP-адрес 10.24.105.97. Данный телефон обратился к серверу AUP по адресу 10.24.105.9 и запросил файлы конфигурации, прошивку для обновления ПО.

Настройка AUP

Создание пользователя

После выполнения предыдущего пункта телефон определился в системе. Данную информацию можно просмотреть во вкладке "Устройства":

В дальнейшем Данный телефон будет зарегистрирован на Softswitch ECSS-10. На ECSS-10 уже был создан SIP-аккаунт с данными настройками:

login - 3099
password - 1234567
IP - 10.24.105.13
Domain - ssw

Создание SIP-абонента на ECSS-10 описано в данном разделе Создание SIP-абонента.
Далее, для этого телефона требуется создать пользователя. Данное действие производится во вкладке "Пользователи".

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

В случае нехватки ключей всегда можно создать свой собственный. Создадим дополнительные ключи sip_username, sip_auth_name, sip_domain. Для этого нажмите на кнопку .
В новом окне введите требуемое название ключа и его значение:

Создание цепочки

В нашем случае, телефоны будут автоматически настраиваться благодаря цепочке с именем AUP_chain. Для начала, требуется создать данную цепочку. Перейдите на вкладку "Цепочки" и поставьте галку на кнопку "Все" . Отобразятся все доступные в системе цепочки. В нижней части страницы нажмите на , в открывшемся меню введите название и описание цепочки.


После этого, данная цепочка появится в списке всех цепочек.
Назначим данную цепочку на нашего, уже созданного, пользователя 3099. Для этого перейдите на вкладку пользователи, выделите пользователя 3099 нажмите на кнопку "Изменить цепочку" .

В появившемся списке цепочек нужно выбрать созданную нами цепочку AUP_chain и нажать на кнопку "Сменить".

Описание цепочек

Благодаря одной цепочке имеется возможность сконфигурировать любой телефон в системе. При этом, его конфигурация будет уникальна в рамках системы AUP. Для того чтобы обеспечить такую гибкость цепочек, используется система приоритетов и переменных. Так, в рамках одной цепочки может находиться множество ссылок на другие цепочки. При этом, последовательность прохода по этим цепочкам будет осуществляться сверху вниз.


Конфигурирование цепочки

Приступим к конфигурированию нашей цепочки AUP_chain. Для более наглядного примера, дополним нашу систему AUP дополнительными условиями:

Имеется 3 отдельных здания, в каждом из который используется уникальная нумерация и Dname.
Кроме телефонов Cisco абоненты пользуются телефонами компаний ELTEX и Yealink.
Также все секретари должны иметь возможность использовать услуги MeetMe conference, BLF, Network conference.

На основе данных условий начнем конфигурирование нашей цепочки.

Логическое разделение ключей стоит начинать от общего к частному, поэтому, в первую очередь создадим группу, в которой будут описаны общие для всех телефонов ключи. Для этого - войдем в цепочку AUP_chain и нажмем на кнопку . В появившемся окне выберем "Цепочка" и введем ее название:

но при первой установке ни у одно пользователя не назначена рутовская

Написать @Евгений Казарцев


В созданной цепочке создадим цепочку с именем default_key и описанием All_TA.

Далее, в данной цепочке создадим простую группу, в которой будут содержаться общие для всех телефонов ключи. Нажмите на и заполните поля для "Простой группы":

В созданной простой группе теперь можно добавить ключи. Добавим ключ для настройки IP-адреса NTP сервера. Для этого нажмите на иконку  и в сплывающем окне, воспользовавшись поиском по фильтрам, найдите нужный нам ключ. Нам подходит ключ с названием local_time.ntp_server1. Выберем его и введем нужное значение, например 10.0.2.3. Добавим ключ.

Аналогичным образом можно добавить в простую группу требуемое количество ключей, которые будут применены ко всем телефонам.

Далее, создадим еще одну ветвь главной цепочки, в которую смогут попадать только те пользователи, которые находятся в 3 здании. Чтобы идентифицировать в каком здании находится пользователь - нужно добавить ему соответствующий ключ. Добавим ключ building со значением 3 для пользователя 3099.

Далее, создадим в цепочке новую ветку, в которой разнесем различные ключи и их значения по нужным этажам. Добавим новую группу в цепочку AUP_chain.

Создадим в ней группу number_building.

В этой группе создадим группу с префиксом number_building и присвоим ей переменную ${building}.

После чего создадим 3 различные простые группы со своим индивидуальным наборов ключей. Каждая группа имеет свое значение префикса number_building. Каждая из этих 3 групп будет соответствовать своему логическому номеру здания.

Таким образом, в данную группу попадут только те телефоны, на пользователях которых имеется переменная building со значением 3, что соответствует 3 зданию.

По такому же принципу настраиваются все остальные ветки цепочки.