Установка AUP

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

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

Репозиторий — deb [arch=amd64] http://archive.eltex.org/ssw/bionic/aup/1.4 stable main extras external

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

sudo aptitude install ecss-autoprovision
sudo aptitude install ecss-autoprovision-ui
CODE

где

  • <VERSION> — версия пакета AUP. Актуальная версия пакета на данный момент 1.3.2

В архитектуре AUP используется пакет OpenResty. Начиная с версии OpenResty 1.11.2.5 все официальные бинарные пакеты для процессоров Intel x86_64 требуют поддержки инструкций SSE 4.2 в процессоре. Если вы используете старый процессор, который не поддерживает SSE 4.2, то вам нужно собрать OpenResty из исходного архива на этом процессоре самостоятельно. Подробнее смотрите на https://openresty.org/en/linux-packages.html В противном случае — вы увидите ошибку «Недопустимая инструкция» при использовании бинарных пакетов на ваших процессорах без поддержки SSE 4.2. Либо обратиться с соответствующим запросом в Сервисный Центр компании Элтекс.

Начиная с версии ecss-autoprovision_1.2.58 изменился формат конфигурационного файла integration.json. При обновлении на данную версию, стоит сохранить старую версию конфигурационного файла, т.к он будет перезаписан.

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

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

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

  • ecss-autoprovision-core — ядро системы, которое управляет формированием конфигураций, осуществляет выгрузку и мониторинг за ТА;
  • ecss-autoprovision-ui — web-интерфейс управления системой Autoprovision;
  • ecss-autoprovision-tftp2http — преобразует tftp сообщения в http-запросы, понятные для ядра системы.

«Autoprovision (AUP)» имеет свой собственный web-конфигуратор. Для входа в него требуется зайти по ссылке <ip>:<8092>

где

  • ip — адрес сервера на котором установлен пакет ecss-autoprovision-ui.

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

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

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

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

Настройки DHCP сервера для телефонов Fanvil X4/X6 и BW320 актуальны только для версий ПО V1.2&V1.3-1.12.2

В основную конфигурацию 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-range=tag:vp, 192.168.18.24,192.168.18.30,255.255.255.0,1h #диапазон IP адресов, которые будут выдаваться данным телефонам, обновление производится каждый час.
dhcp-mac = set:vp, a8:f9:4b:*:*:* #маска MAC, на основе которой будут выдаваться IP и DHCP опцииa
dhcp-option=tag:vp, 43,"|5|http://192.168.116.181:1350/eltex/|6|$MAC.yaml|7|firmware.bin" #43 DHCP опция для ТА VP-12/15, где 192.168.116.181 - ip AUP

###################FANVIL-X4/X6##############
dhcp-range=tag:fanvil_x, 192.168.18.32,192.168.18.40,255.255.255.0,1h #диапазон IP адресов, которые будут выдаваться данным телефонам, обновление производится каждый час.
dhcp-mac = set:fanvil_x, b8:c9:a2:*:*:* #маска MAC, на основе которой будут выдаваться IP и DHCP опции
dhcp-option=tag:fanvil_x,66,http://192.168.116.181:1350/fanvil #66 DHCP опция для ТА Fanvil моделей X4 и X6, где 192.168.116.181 - ip AUP

###################FANVIL-BW320##############
dhcp-range=tag:fanvil_bw, 192.168.18.42,192.168.18.50,255.255.255.0,1h #диапазон IP адресов, которые будут выдаваться данным телефонам, обновление производится каждый час.
dhcp-mac = set:fanvil_bw, c0:a3:b2:*:*:* #маска MAC, на основе которой будут выдаваться IP и DHCP опции
dhcp-option=tag:fanvil_bw,66,http://192.168.116.181:1350/fanvil/BW320/$XX:XX:XX:XX:XX:XX.txt #66 DHCP опция для ТА Fanvil модели BW320, где 192.168.116.181 - ip AUP, вместо XX:XX:XX:XX:XX:XX должен содержаться MAC-адрес конкретного ТА.
XML

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

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

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

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

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

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

  • Пользователь — каждому телефонному аппарату назначается пользователь, за которым он закреплен. При первичном обращении к AUP каждому устройству назначается пользователь undefined;
  • Фамилия — фамилия, которая назначена на пользователе;
  • MAC-адрес — уникальный адрес устройства уровня Ethernet;
  • IP-адрес — сетевой адрес устройства;
  • Имя устройства — телефонный номер, который назначается на телефонный аппарат;
  • Модель — модель телефона, которая была определена системой;
  • Версия ПО — версия ПО телефона;
  • Производитель — производитель телефона;
  • Предыдущий запрос — время, когда телефон последний раз отправлял запрос на получение конфигурации;
  • Обслуживание — ввод/вывод телефона из обслуживания;
  • Действия — дополнительные действия, доступные для телефона.

При нажатии на кнопку «Обслуживание» можно ввести телефон в обслуживание или же вывести.

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

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

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

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

  • Все — показывает все устройства в системе;
  • Обслуживается — показывает только те устройства, которые автоконфигурируются AUP;
  • Игнорируется — показывает только те устройства, которые не автоконфигурируются AUP.

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

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

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

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

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

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

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

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

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

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

Свойства

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

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

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

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

  • Уровень — уровень показывает, какое свойство будет применено. Чем выше уровень, тем больше приоритет свойства;
  • Значение — значение, выставленное данному свойству;
  • Имя группы — название группы, в котором было выставлено данное свойство;
  • Базовый тип — тип свойства (строка, число, время и т.д).
Файлы

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

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

  • Имя — название файла, которое было запрошено телефоном;
  • Тип — тип файла. Может принимать значение:
    • ignore — игнорировать файл при запросе;
    • configuration — файл конфигурации;
    • firmware — прошивка телефона;
    • dynamic — файл конфигураций генерируется динамически;
    • static — статически заданный файл конфигураций;
  • Метод получения — метод получения файла;
  • Предыдущий запрос — время последнего запроса со стороны телефона;
  • Действия — позволяют удалять или изменять тип запрашиваемого файла.

При нажатии на кнопку действия в строке с конфигурацией, появится следующее меню:

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

Удалить 

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

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

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

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

  • Пользователь — уникальный идентификатор пользователя. Каждому телефонному аппарату назначается пользователь, за которым он закреплен. При первичном обращении к AUP каждому устройству назначается пользователь undefined
  • Имя — имя пользователя;
  • Фамилия — фамилия, которая назначена на пользователе;
  • Цепочка — цепочка, в которой определены параметры для пользователя, и по которой будет сформирован конфигурационный файл после назначения пользователя устройству;
  • Действия — открывает список из доступных действий.

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

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

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

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

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

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

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

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

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

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

Устройства

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

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

  • id — уникальный идентификатор устройства в системе;
  • Модель — модель телефонного аппарата;
  • MAC-адрес — MAC-адрес устройства;
  • IP-адрес — IP-адрес устройства;
  • Производитель — производитель телефонного аппарата.

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

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

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

Удалить

«Удалить»  — удаление пользователя.

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

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

  • Безопасное удаление — удаление не будет выполнено, если объект является владельцем какого-то другого объекта (например, пока не будут удалены все группы которые создал пользователь и не будут отвязаны все устройства);
  • Удалить в любом случае — в этом случае произойдет максимальное удаление всех созданных ресурсов объекта;
  • Отмена — не удалять пользователя.

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

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

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

  • Пользователь — название пользователя;
  • Имя — имя пользователя;
  • Фамилия — фамилия пользователя;
  • Ключ — ключ, который принадлежит данному пользователю. В дефолтной конфигурации всегда присутствуют данные ключи:
    1. gender — пол пользователя;
    2. age — возраст;
    3. phone — номер телефона;
    4. sip_username — имя sip-юзера;
    5. sip_auth_name — логин для авторизации на SIP-сервере;
    6. sip_domain — домен SIP-сервера;
    7. password — пароль для авторизации на SIP-сервере;
    8. branch отделение;
    9. bulding — здание, в котором находится пользователь;
    10. floor — этаж, на котором находится пользователь;
    11. room — комната, в которой находится пользователь;
    12. subunit — подразделение;
    13. department — отдел;
    14. group — логическая группа.

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

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

Вкладка «Цепочки»

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

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

  • Простая группа (simple group) — это группа, являющаяся конечной точкой иерархии, в ней содержатся конфигурационные параметры (ключи).
  • Шаблонная группа — это группа, которая является промежуточным звеном и может управлять направлением сбора параметров на основе переменных. Шаблонные группы также подразделяется на две категории:
    1. Группа-ссылка на группы (group reference) — это группа, которая с помощью переменной может ссылаться на другие группы. Например группа имеющая название floor_ref и переменную floor=${floor} может ссылаться на группы с названиями floor=1, floor=2, floor=3. Выбор конкретной группы произойдет лишь на этапе сбора конфигурационных параметров, при условии, что у пользователя указан этаж, на котором он находится. Группа данного типа, таким образом, может ссылаться на группы любого типа.
    2. Группа-ссылка на цепочки (chain reference) — это группа, которая с помощью переменной может ссылаться на цепочки. Группа с названием Users и переменной user=${user_name} может ссылаться на цепочки с названиями user=Admin, user=Andrei, user=Michail. Опять же точное название цепочки определится только при сборе конфигурационных параметров в зависимости от имени пользователя. Группа данного типа может ссылаться только на цепочки.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Выберите группу — здесь можно выбрать уже существующую группу, либо создать новую;
  • Шаблонная группа — это группа, которая является промежуточным звеном и может управлять направлением сбора параметров на основе переменных. Шаблонные группы также подразделяется на две категории:
    1. Группа-ссылка на группы (group reference) — это группа, которая с помощью переменной может ссылаться на другие группы. Например группа имеющая название floor_ref и переменную floor=${floor} может ссылаться на группы с названиями floor=1, floor=2, floor=3. Выбор конкретной группы произойдет лишь на этапе сбора конфигурационных параметров, при условии, что у пользователя указан этаж, на котором он находится. Группа данного типа, таким образом, может ссылаться на группы любого типа.
    2. Группа-ссылка на цепочки (chain reference) — это группа, которая с помощью переменной может ссылаться на цепочки. Группа с названием Users и переменной user=${user_name} может ссылаться на цепочки с названиями user=Admin, user=Andrei, user=Michail. Опять же точное название цепочки определится только при сборе конфигурационных параметров в зависимости от имени пользователя. Группа данного типа может ссылаться только на цепочки.
  • Вес — приоритет группы;
  • Описание группы — описание группы;
  • Простая группа, группа, цепочка — тип создаваемой группы.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

На данной вкладке содержатся все необходимые настройки системы 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
XML

По результатам произведенных действий телефон получил 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
XML

Создание 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.
XML

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

Логическое разделение ключей стоит начинать от общего к частному, поэтому, в первую очередь создадим группу, в которой будут описаны общие для всех телефонов ключи. Для этого — войдем в цепочку 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 зданию.

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

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

Исходные данные:

Телефонная сеть развернута в 3 этажном здании и работает в подсети 10.24.105.0/24. На каждом этаже своя нумерация и Display Name:
1 этаж - 1ХХХ номер, Dname - 1э_1XХX
2 этаж - 2ХХХ номер, Dname - 2э_2ХХХ
3 этаж - 3ХХХ номер, Dname - 3э_3ХХХ
На каждом из телефонов должны быть активированы услуги: MeetMe conference, Network Conference.
На 3 этаже расположены секретари, поэтому на их телефонах должны быть активирована услуга BLF с настроенной подпиской на телефоны 555 и 666.
Также все телефоны должны поддерживать видео, иметь русификацию и обновляться до самой новой версии ПО.
Все телефоны регистрируются на программный коммутатор производства Eltex - ECSS-10. Данный SoftSwitch имеет IP адрес 10.24.105.100.
XML

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

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

Пример:

interface = enp2s0 #сетевой интерфейс, который слушает/раздает IP и DHCP опции
dhcp-mac = set:cisco, BC:16:F5:*:*:* #маска MAC, на основе которой будут выдаваться IP и DHCP опции 
dhcp-range=tag:cisco tag:10.24.105.0,10.24.105.254,1h #диапазон IP адресов, которые будут выдаваться данным телефонам, обновление производится каждый час.
dhcp-option = tag:cisco, tag:enp2s0, option:netmask, 255.255.255.0 #маска сети, которая будет выдаваться данным телефонам.
dhcp-option = tag:cisco, tag:enp2s0, option:router, 10.24.105.1 #IP адрес дефолтного шлюза
dhcp-option = tag:cisco, tag:enp2s0, option:dns-server, 10.24.105.250 #IP адрес DNS сервера
dhcp-option = tag:cisco, tag:enp2s0, option:ntp-server, 10.24.105.1 #IP адрес NTP сервера
dhcp-option = tag:cisco, tag:enp2s0, option:tftp-server, 10.24.105.9 #IP адрес AUP сервера
XML

По результатам произведенных действий телефоны получат IP-адреса из сети 10.24.105.0/24. Данные телефоны, получив IP адрес AUP сервера, автоматически запросят у него файлы конфигурации, прошивку для обновления ПО. Т.к для данных телефонов пока ничего не сконфигурировано, они просто отобразятся в системе во вкладке «Устройства» . Конфигурация и ПО им пока не будет выдан.

Настройка AUP

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

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

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

login - номер телефона (1ХXХ, 2ХXХ или 3ХXХ)
password - 1234567
IP ECSS-10 - 10.24.105.100
Domain - ecss.eltex.co
XML

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

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

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


Итоговый список ключей на пользователе 3099 будет выглядеть таким образом:

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

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

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

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

Настройка цепочек

В каждой цепочке можно создать 3 различных логических элемента:

  • Простая группа — объединяет в себе множество ключей, которые будут внесены в конфигурацию телефонного аппарата. Вход в простую группу может осуществляться при помощи равенства переменной, введенной в группе с переменной, которая берется из свойств пользователя или телефонного аппарата, привязанного к этому пользователю;
  • Группа — объединяет в себе множество простых групп. Группе можно задавать префикс, значение которого затем будет определено в простой группе;
  • Цепочка — объединяет в себе простые группы, группы, другие цепочки.

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

Приступим к конфигурированию нашей цепочки AUP_chain.

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

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

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

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

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

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

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

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

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

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

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

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

Добавление ключей в AUP

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

Регистрация телефонов на сервер ECSS-10

Чтобы наши устройства успешно зарегистрировались на сервере ECSS-10 — нужно добавить следующий набор ключей. Ключи будут добавляться в простую группу ALL_TA. Ключи будут применяться для всех телефонов, т.к расположены в простой группе ALL_TA.

Задание Display Name в соответствии с номером этажа

Все настройки, которые относятся к конкретным этажам, были вынесены в цепочку Floor, в ней есть простая группа Floor_3, которая соответствует 3 этажу.
Занесем туда ключ account[].display_name, который отвечает за отображаемый Display name. В нашем случае, ключу account[1].display_name нужно присвоить значение 3э_${phone}

Настройка MeetMe conference

С описанием настройки конференции Meet Me можно ознакомиться по ссылке Конференц-связь 'Пригласи меня' (Meet Me Conference)

Для того чтобы настроить быстрый набор feature-кода для создания/входа в конференцию, нужно настроить следующие ключи:

  • cisco.device.sipProfile.sipLines.line[ ].speedDialNumber — ключ, отвечающий за набор номера. В нашем случае нужно указать feature-код сбора Meet me conference *271*Meet_Me_Room;
  • cisco.device.sipProfile.sipLines.line[ ].type — тип вызова. В нашем случае это Speed dial;
  • cisco.device.sipProfile.sipLines.line[ ].featureLabel — обозначение клавиши на дисплее телефона. Обозначим как Meet Me.

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

Все ключи были занесены в цепочку ALL_TA, т.к должны быть применены для всех телефонов. Таким образом абонент сможет по нажатию клавиши 3 входить в конференц-комнату с номером 300.

Настройка Network conference

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

Описание настройка приведена в разделе Конференция/телеконференция.

Настройка BLF

Для телефонов, расположенных на 3 этаже, нужно настроить BLF на номера 555 и 666. Настройка BLF на ECSS-10 описана в разделе Отслеживание состояния абонента по подписке (BLF).

Для этого, в цепочку Floor, в простую группу Floor_3, добавим следующие ключи:

  • cisco.device.sipProfile.sipLines.line[5].speedDialNumber — на какой номер нужно совершить подписку. В нашем случае на 666;

  • cisco.device.sipProfile.sipLines.line[5].type — тип вызова. В нашем случае активируем быстрый набор, совмещенный с BLF. Выберем blf-speed-dial;

  • cisco.device.sipProfile.sipLines.line[5].featureLabel — обозначение клавиши на дисплее телефона. Обозначим как Директор.

Таким образом на телефонном аппарате на 5 кнопке появится обозначение Директор, на его номер будет совершена подписка, при нажатии на клавишу произойдет быстрый набор его номера.

Настройка видео

Для настройки видео на всех телефонах, нужно в цепочку ALL_TA добавить ключ:

  • cisco.device.vendorConfig.videoCapability — включение/выключение видео

Русификация телефонных аппаратов

Для того чтобы русифицировать телефонный аппарат, нужно позволить ему скачать файл с названием russian_russian_federation/td-sip.jar.

Для этого в цепочку ALL_TA нужно добавить ключи:

  • cisco.device.userLocale.langCode — код языка. В нашем случае требуется ввести ru_RU;

  • cisco.device.userLocale.name — язык, который следует скачать и установить на телефон. В нашем случае это russian_russian_federation.

После перезагрузки телефона, он начнет запрашивать у сервера AUP файл russian_russian_federation/td-sip.jar.

Зайдите во вкладку «Устройства» — Файлы, напротив файла с именем russian_russian_federation/td-sip.jar нажмите действия и выставите значения: Тип файла — firmware, Прошивка — cisco-jar

Далее, нужно загрузить файл russian_russian_federation/td-sip.jar на сервер AUP.

Для этого нужно зайти во вкладку «Настройки» — «ПО» и нажать на кнопку «Добавить прошивку».

В появившемся окне заполним данные и загрузим файл с локализацией.

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

Обновление ПО устройств

Все запрашиваемые файлы конфигурации можно посмотреть во вкладке «Устройства» — «Файлы». Нас интересуют файлы, помеченные типом firmware. Если телефон самостоятельно запросил файл прошивки, то он появится в данном меню.

После чего нам нужно загрузить в систему требуемый файл прошивки. Данное действие производится во вкладках «Настройки» — «ПО». При переходе в это меню нажмите на кнопку «Добавить прошивку», появится окно с загрузкой:

Здесь требуется выбрать вендора, модель телефона, тип прошивки и вписать версию и описание, после чего загрузить требуемый файл прошивки. В данном случае мы обновляем телефон Cisco CP-8845.


После данных действий файл с данным названием появится в списке прошивок.

После чего в списке файлов «Устройства» — «Файлы» для данной прошивки нужно выставить тип файла firmware - common.

При следующем запросе прошивки, телефону будет выдан данный файл с ПО.

В случае, если телефон не запрашивал файл для обновления ПО (его нет в списке файлов), нужно в цепочке выставить ключ cisco. device. loadInformation c значением равным названию файла прошивки.

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

Дальнейшие действия по обновлению ПО аналогичны, написанным выше.

Пример настройки цепочек для ТА Cisco, Eltex, Yealink

Общие настройки для всех ТА

В данном разделе будут более подробно рассмотрены базовые цепочки для работы телефонов марки Cisco, Eltex, Yealink.

Телефоны должны успешно регистрироваться на АТС, а также должны быть подписаны по BLF/Presence на номера других телефонов.

Для получения базовых параметров SIP можно определить их в общей секции low-priority device settings, тогда все устройства получат необходимые настройки вне зависимости от марки устройств.

Для перехода к настройкам необходимо выбрать вкладку Свойства и затем, выбрав необходимую цепочку, перейти к параметрам low-priority device settings.

Определяем следующие настройки в подцепочке:
(N, M — целое число)

  • account.number — количество SIP-аккаунтов;
  • account[N].enable — активация аккаунта
  • account[N].phone — номер пользователя;
  • account[N].registrar — сервер для регистрации устройств;
  • account[N].auth_name — имя для регистрации устройства (логин);
  • account[N].password — пароль для регистрации устройства (пароль);
  • account[N].domain — SIP домен;
  • account[N].sipserver.number — количество серверов для регистрации;
  • account[N].sipserver[M].expires — время по истечение которого происходит перерегистрация;
  • account[N].sipserver[M].address — сервер для регистрации устройств;
  • account[N].sipserver[M].port — порт для регистрации устройств;
  • account[N].outbound_proxy.number — количество прокси-серверов;
  • account[N].outbound_proxy[M].enable — флаг активации параметра прокси-сервера.

Некоторые настройки можно определить через переменные, которые заданы на конкретном пользователе, доступ к ним получается через обращение к переменной. Например: для параметра account[1].phone = $phone.

 Нажмите здесь для раскрытия...
[
  {
    "base_type": "integer",
    "description": "Reflects the number of accounts for this device model. This parameter must be in the device model group",
    "name": "account.number",
    "value": "1",
    "sub_type": null
  },
  {
    "base_type": "string",
    "description": "Subscriber number assigned to the account",
    "name": "account[1].phone",
    "value": "${phone}",
    "sub_type": null
  },
  {
    "base_type": "string",
    "description": "",
    "name": "account[1].registrar",
    "value": "192.168.116.132:5062",
    "sub_type": null
  },
  {
    "base_type": "boolean",
    "description": "Enable account",
    "name": "account[1].enable",
    "value": "true",
    "sub_type": null
  },
  {
    "base_type": "string",
    "description": "",
    "name": "account[1].auth_name",
    "value": "${sip_auth_name}",
    "sub_type": null
  },
  {
    "base_type": "string",
    "description": "Password used for subscriber authentication on SIP server",
    "name": "account[1].password",
    "value": "${password}",
    "sub_type": "password"
  },
  {
    "base_type": "string",
    "description": "",
    "name": "account[1].domain",
    "value": "${sip_domain}",
    "sub_type": null
  },
  {
    "base_type": "string",
    "description": "Set expires of sipserver for account",
    "name": "account[1].sipserver[1].expires",
    "value": "360",
    "sub_type": null
  },
  {
    "base_type": "boolean",
    "description": "Enable send registration requests to the secondary server for account when encountering a failover",
    "name": "account[1].sipserver[1].register_on_enable",
    "value": "true",
    "sub_type": null
  },
  {
    "base_type": "string",
    "description": "SIP address to connect to on the device running SSW",
    "name": "account[1].sipserver[1].address",
    "value": "192.168.116.132",
    "sub_type": "host"
  },
  {
    "base_type": "integer",
    "description": "Count of sipservers",
    "name": "account[1].sipserver.number",
    "value": "1",
    "sub_type": null
  },
  {
    "base_type": "integer",
    "description": "SIP port to connect to on the device running SSW",
    "name": "account[1].sipserver[1].port",
    "value": "5062",
    "sub_type": "port"
  },
  {
    "base_type": "boolean",
    "description": "Enable autoprovision repeat",
    "name": "autoprovision.repeat.enable",
    "value": "true",
    "sub_type": null
  },
  {
    "base_type": "integer",
    "description": "Set autoprovision repeat interval",
    "name": "autoprovision.repeat.interval",
    "value": "5",
    "sub_type": null
  },
  {
    "base_type": "boolean",
    "description": "Enable outbound proxy for account",
    "name": "account[1].outbound_proxy[1].enable",
    "value": "false",
    "sub_type": null
  },
  {
    "base_type": "integer",
    "description": "",
    "name": "account[1].outbound_proxy.number",
    "value": "2",
    "sub_type": null
  },
  {
    "base_type": "boolean",
    "description": "Enable outbound proxy for account",
    "name": "account[1].outbound_proxy[2].enable",
    "value": "false",
    "sub_type": null      }
]
CODE

Настройки для ТА Eltex

В данном разделе описаны специфичные настройки для ТА компании Eltex.

  • aup.template.package — пакет, который определяет специфику конфигураций для выбранного вендора;
  • autoprovision.url — определяет адрес автоконфигуратора;
  • firmware.url — определяет адрес для загрузки новых прошивок;
  • eltex.System.Password.AdminPassword — определяет пароль для входа на устройство;
  • eltex.System.Autoprovision.DHCPBased.Priority — приоритет выбора адреса автоконфигуратора;
  • eltex.System.Display.Language — язык интерфейса телефона;
  • eltex.VoIP.Line[N].SIPAccountParameters.SIP.SIPDomainToReg — определяет использовать ли название домена при регистрации.

 Нажмите здесь для раскрытия...
[
  {
    "base_type": "enum",
    "description": "Set phone template package",
    "name": "aup.template.package",
    "value": "eltex",
    "sub_type": "template-package"
  },
  {
    "base_type": "string",
    "description": "Set autoprovision url",
    "name": "autoprovision.url",
    "value": "http://192.168.114.124:1350/eltex/config.yaml",
    "sub_type": null
  },
  {
    "base_type": "string",
    "description": "Set URL address for firmware",
    "name": "firmware.url",
    "value": "http://192.168.114.124:1350/eltex/firmware.bin",
    "sub_type": null
  },
  {
    "base_type": "string",
    "description": "Язык интерфейса пользователя",
    "name": "eltex.System.Display.Language",
    "value": "RU",
    "sub_type": null
  },
  {
    "base_type": "enum",
    "description": "Приоритетный источник параметров для автоконфигурирования",
    "name": "eltex.System.Autoprovision.DHCPBased.Priority",
    "value": "Static",
    "sub_type": "eltex.System.Autoprovision.DHCPBased.Priority"
  },
  {
    "base_type": "string",
    "description": "Пароль администратора",
    "name": "eltex.System.Passwords.AdminPassword",
    "value": "password",
    "sub_type": "password"
  },
  {
    "base_type": "boolean",
    "description": "Применить SIP-Domain для регистрации",
    "name": "eltex.VoIP.Line[1].SIPAccountParameters.SIP.SIPDomainToReg",
    "value": "false",
    "sub_type": null
  }
]
CODE

Настройки для ТА Cisco

В данном разделе описаны специфичные настройки для ТА компании Cisco.

  • aup.template.package — пакет, который определяет специфику конфигураций для выбранного вендора.

 Нажмите здесь для раскрытия...
[
  {
    "base_type": "enum",
    "description": "Set phone template package",
    "name": "aup.template.package",
    "value": "cisco",
    "sub_type": "template-package"
  }
]
CODE

В данном разделе описаны специфичные настройки для ТА компании Yealink.

  • aup.template.package — пакет, который определяет специфику конфигураций для выбранного вендора;
  • autoprovision.url — определяет адрес автоконфигуратора;
  • firmware.url — определяет адрес для загрузки новых прошивок;
  • yealink.gui.lang — язык графического интерфейса;
  • yealink.wui.lang — язык телефона;
  • yealink.security.user_password — определяет связку логин/пароль для доступа к устройству (разделяется ":" )

 Нажмите здесь для раскрытия...
[
  {
    "base_type": "enum",
    "description": "Set phone template package",
    "name": "aup.template.package",
    "value": "yealink",
    "sub_type": "template-package"
  },
  {
    "base_type": "string",
    "description": "Set autoprovision url",
    "name": "autoprovision.url",
    "value": "http://192.168.114.124:1350/yealink",
    "sub_type": null
  },
  {
    "base_type": "string",
    "description": "Set URL address for firmware",
    "name": "firmware.url",
    "value": "http://192.168.114.124:1350/yealink/firmware.rom",
    "sub_type": null
  },
  {
    "base_type": "string",
    "description": "Set lang for GUI",
    "name": "yealink.gui.lang",
    "value": "Russian",
    "sub_type": null
  },
  {
    "base_type": "string",
    "description": "Set lang for WUI",
    "name": "yealink.wui.lang",
    "value": "Russian",
    "sub_type": null
  },
  {
    "base_type": "string",
    "description": "Set security user password",
    "name": "yealink.security.user_password",
    "value": "admin:password",
    "sub_type": null
  }
]
CODE

Настройки контроля линии (BLF/Presence)

Настройки контроля линии следует настраивать специфично для каждого устройства, для этого перейдем в подцепочку low-priority devices settings. Определим для кнопки функцию контроля линии за номером: 

Пример настройки для Yealink:

  • yealink.linekey.number количество кнопок контроля;
  • yealink.linekey[1].type тип сервиса для выбранной кнопки;
  • yealink.linekey[1].label надпись для кнопки;
  • yealink.linekey[1].valueзначение (номер) BLF.

 Нажмите здесь для раскрытия...
[
  {
    "base_type": "enum",
    "description": "It configures key feature",
    "name": "yealink.linekey[1].type",
    "value": "BLF",
    "sub_type": "yealink.linekey[].type"
  },
  {
    "base_type": "integer",
    "description": "Settings Number linekey",
    "name": "yealink.linekey.number",
    "value": "2",
    "sub_type": null
  },
  {
    "base_type": "string",
    "description": "Set label for linekey",
    "name": "yealink.linekey[1].label",
    "value": "6001",
    "sub_type": null
  },
  {
    "base_type": "string",
    "description": "Set value for linekey",
    "name": "yealink.linekey[1].value",
    "value": "6001",
    "sub_type": null
  }
]
CODE

Пример настройки для Cisco:

  • cisco.device.sipProfile.lines.number количество кнопок;
  • cisco.device.sipProfile.sipLines.line[2].featureLabel — надпись на кнопке;
  • cisco.device.sipProfile.sipLines.line[2].speedDialNumber — значение номера;
  • cisco.device.sipProfile.sipLines.line[2].type — тип используемого сервиса.

 Нажмите здесь для раскрытия...
[
  {
    "base_type": "string",
    "description": "Text label to display next to the line key",
    "name": "cisco.device.sipProfile.sipLines.line[2].featureLabel",
    "value": "6001",
    "sub_type": null
  },
  {
    "base_type": "string",
    "description": "Dials the number specified by the value",
    "name": "cisco.device.sipProfile.sipLines.line[2].speedDialNumber",
    "value": "6001",
    "sub_type": null
  },
  {
    "base_type": "enum",
    "description": "Line keys are features assigned to the physical line buttons on the phone. Note: Some phone models do not support certain line keys and those features may instead be available as Soft Keys",
    "name": "cisco.device.sipProfile.sipLines.line[2].type",
    "value": "blf-speed-dial",
    "sub_type": "cisco.device.sipProfile.sipLines.line[].type"
  },
  {
    "base_type": "integer",
    "description": "Set number lines",
    "name": "cisco.device.sipProfile.lines.number",

    "value": "3",
    "sub_type": null
  }
]
CODE

Пример настройки для Eltex:

  • eltex.UserInterface.CustomizableButtons.F9.Function — определяет тип сервиса функциональной кнопки;
  • eltex.UserInterface.CustomizableButtons.F9.Params — определяет параметры сервиса.

 Нажмите здесь для раскрытия...
[
  {
    "base_type": "string",
    "description": "",
    "name": "eltex.UserInterface.CustomizableButtons.F9.Function",
    "value": "BLF",
    "sub_type": null
  },
  {
    "base_type": "string",
    "description": "",
    "name": "eltex.UserInterface.CustomizableButtons.F9.Params",
    "value": "Label=Test,Number=6001,Line=1",
    "sub_type": null
  }
]
CODE

Лицензионные ограничения функционала AuP

Лицензионные ограничения для функционала AutoProvision:

  • Ограничения на количество устройств:
    • Общее ограничение на количество;
    • Ограничения по MAC-адресу;
    • Ограничения по производителю;
    • Ограничения по модели устройств;
  • Ограничения на количество интеграций с программными коммутаторами (SSW);
  • Ограничения на количество пользователей:
    • Общее ограничение на количество;
    • Ограничение на администраторов;
  • Добавлена поддержка ru-token.

Установка лицензии.

После обновления ПО следует перейти в папку /var/lib/ecss/ecss-autoprovision/license. В ней должен находиться файл лицензии default.lic. Данная лицензия имеет следующие ограничения:

Наименование ограниченияЗначение
Общее количество пользователей10
Количество администраторов2
Режим доступа устройствМягкий (Permissive)
Общее количество устройств10
Количество интеграций с программными коммутаторами0
Использование токенаНе используется

В отсутствие лицензии используются ограничения из лицензии по умолчанию. Для установки расширенной версии, следует полученный файл лицензии standard.lic добавить в папку /var/lib/ecss/ecss-autoprovision/license.

Обратите внимание, что для корректной работы программы название лицензии должно быть standard.lic. Других файлов, кроме default.lic и standard.lic в папке быть не должно.

После размещения лицензии следует выполнить перезагрузку программы, для этого выполните команду:

sudo systemctl restart ecss-autoprovision-core.service
cd /var/log/ecss/autoprovision
cat autoprovision.log
BASH

Если лицензия установлена корректно, то вывод SSM будет иметь следующий вид:

2020/09/14 09:18:05 [error] 3365#3365: *53 [lua] ssm.lua:0: (): [ssm] [1600075085] active -> ss_verify_lic [ss_verify_lic_event] [], context: ngx.timer
2020/09/14 09:18:06 [error] 3365#3365: *53 [lua] ssm.lua:0: (): [ssm] [1600075086] ss_verify_lic -> ss_check_token [ss_check_token_event] [], context: ngx.timer
2020/09/14 09:18:06 [error] 3365#3365: *53 [lua] ssm.lua:0: (): [ssm] [1600075086] ss_check_token -> ss_check_credentials [ss_check_credentials_event] [], context: ngx.timer
2020/09/14 09:18:06 [error] 3365#3365: *53 [lua] ssm.lua:0: (): [ssm] [1600075086] ss_check_credentials -> ss_route [ss_route_event] [], context: ngx.timer
2020/09/14 09:18:06 [error] 3365#3365: *53 [lua] ssm.lua:0: (): [ssm] [1600075086] ss_route -> active [ss_active_event]
[active][], context: ngx.timer
BASH

Здесь следует обратить внимание на результат проверки лицензии, он указывается последней строкой в цепочке вывода. Система может иметь следующие статусы:

  • active — система активна доступны любые методы, а также происходит конфигурирование устройств;
  • recovery — система в режиме восстановления. Доступны только методы для приведения системы в активное состояние, конфигурирование устройств при этом не осуществляется;
  • lock — система заблокирована. Конфигурирование устройств не осуществляется.

Система выходит из состояния active при наличие следующих ошибок:

  • ["lic_nbf"] — лицензия ещё не активна;
  • ["lic_exp"] — лицензия истекла;
  • ["lic_exp_after_n"] — лицензия истекает через n секунд;
  • ["lic_invalid"] — неверный формат лицензии;
  • ["token_fail"] — ошибка при проверке наличия токена;
  • ["token_fail_timer_exp"] — превышено максимальное время работы без токена;
  • ["users_limit_fail"] — превышены лицензионные ограничения для пользователей;
  • ["admins_limit_fail"] — превышены лицензионные ограничения для администраторов;
  • ["devices_limit_fail"] — превышены лицензионные ограничения для устройств;
  • ["integrations_limit_fail"] — превышены лицензионные ограничения для интеграций.
Обратите внимание, что интервал обновления информации о лицензионных ограничениях: 2 минуты.