Установка 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»  — при нажатии позволяет скачать все свойства, которые были применены к этому аппарату, после прохождения цепочки. Описание понятия цепочки описано в разделе «Документация AutoProvision (AUP)».

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



Свойства

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

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

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

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

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

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

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

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

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

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

Удалить 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Устройства

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

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

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

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

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

«Редактировать» — при нажатии позволяет редактировать уже заданные переменные окружения и параметры конфигурации у пользователя.

Удалить

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

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

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

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

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

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

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

  • Пользователь — название пользователя;
  • Имя — имя пользователя;
  • Фамилия — фамилия пользователя;
  • Ключ — название переменной окружения, которая принадлежит данному пользователю.  Переменные окружения пользователя, в отличие от hardware полей цепочек, помогают определить особенности для каждого пользователя, не привязываясь к модели устройства, которым этот пользователь располагает.  В цепочках можно формировать структуры, которые будут сгруппированны по парметрам пользователей. (например выделить пользователей с конкретным номером кабинета) В конфигурации по-умолчанию всегда присутствуют данные переменные окружения:
    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, в которой сконфигурированы по - умолчанию группы и параметры конфигурации. У администратора системы всегда есть возможность создания новой цепочки для более гибкой настройки, в соответствии со своими целями.

Цепочки конфигурационных параметров представляют из себя дерево объектов.
Есть два типов объектов:

  • Цепочка (chain);
  • Группа (group).

Группы подразделяются также на несколько типов:

  • Простая группа (simple group);
  • Группа-ссылка на группы (group reference);
  • Группа-ссылка на цепочки (chain reference).

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

Простая группа (simple group) — это группа, являющаяся конечной точкой иерархии, в ней содержатся конфигурационные параметры (свойства).

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

Группа-ссылка на группы (group reference) — это группа, которая с помощью переменной может ссылаться на другие группы. Например группа имеющая название floor_ref и переменную floor=${floor} может ссылаться на группы с названиями floor=1, floor=2, floor=3. Выбор конкретной группы произойдет лишь на этапе сбора конфигурационных параметров. Переменная ${floor} в данном примере может быть определена в атрибутах пользователя или в какой-либо другой простой группе.

Группа-ссылка на цепочки (chain reference) — это группа, которая с помощью переменной может ссылаться на цепочки. Группа с названием Users и переменной user=${user_name} может ссылаться на цепочки с названиями user=Admin, user=Andrei, user=Michail. Опять же точное название цепочки определится только при сборе конфигурационных параметров в зависимости от имени пользователя. Группа данного типа может ссылаться только на цепочки.

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

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

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

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

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

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

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

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

При раскрытии текущего объекта показываются все объекты, которые "содержит" текущий объект.

Для цепочки - это все группы внутри цепочки.

Для группы-ссылки - это все группы, которые могут быть выбраны на основе переменной этой группы (напомню, что в процессе сбора конфигурационных параметров устройством будет выбрана какая-либо одна конкретная группа)

Для простых групп это конфигурационные параметры.

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

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

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

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

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

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

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

  • Выберите группу — здесь можно выбрать уже существующую группу, либо создать новую;
  • Шаблонная группа — это группа, которая является промежуточным звеном и может управлять направлением сбора параметров на основе переменных. Шаблонные группы также подразделяется на две категории:
    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 (Адрес SSW)
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 и нажать на кнопку «Сменить».

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

Приступим к конфигурированию нашей цепочки 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 и применятся для всех телефонов.

Задание 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 минуты.