Autoprovision processor (ap)
Описание
Процессор автопровижена. Обрабатывает запросы от устройств, поступающие по протоколам TFTP и PNP.
Резервируется. Active-Active применяется для процессов TFTP. Active-Passive для процессов PNP и управления кэшем MAC-адресов.
При поступлении TFTP запроса первым делом ищет готовый файл в каталоге :SYNC/common/autoprovision/configurations (управление доступно также через REST-API мастер-домена /rest/v1/fs/targets/ap_configurations).
Если файл не обнаружен, то делается попытка обнаружить шаблон, заполнть и вернуть.
1. Из имени файла выделяется MAC-адрес.
2. По MAC обнаруживается учетная запись sipuser (поле `opts.ap_devices.mac или opts.ap_mac_address`). Поиск производится во всех доменах.
3. По имени файла обнаруживается маска имени шаблона в `MasterDomain.settings.ap_options.masks`. Возможно маска содержит тип, тогда при поиске шаблона он выступает конечным расширением файла.
4. По учетной записи определяется модель устройства (поле `opts.ap_devices.device_model bkb opts.ap_device_model`).
5. На основании типа из маски имени шаблона и обнаруженной модели устройства ищется шаблон настроек autoprovision (размещается в каталоге :SYNC/common/autoprovision/templates и доступны через REST-API /rest/v1/fs/targets/ap_templates).
6. Шаблон рассматривается как текстовый файл или xml. Шаблон заполняется значениями из учетной записи sipuser, констант домена (`Domain.settings.ap_constants`), констант мастер-домена (`MasterDomain.settings.ap_constants`), констант сайта (`:SYNC/common/autoprovision/constants/<SiteName>.cfg`), Раздел [blf] - заполняется через кратную подстановку шаблона для BLF, взятого для обнаруженной модели устройства и заполненного на основании списка (поле `opts.ap_devices.blf или ext.ap_blf`).
7. Шаблон дополняется или корректируется индивидуальными настройками (поле `opts.ap_devices.override` или `ext.ap_override`). Результат возвращается устройству для проведения автонастройки.
.
При необходимости обеспечить скачивание прошивок и других файлов, не зависящих от MAC-адреса, их следует разместить в каталог статических конфигураций.
.
Возвращает файл по TFTP и удаляет его сразу же (в случае PNP уведомляет устройство сообщая временный URL на вебсервере).
Шаблон применяется несколько раз до полного завершения подстановки, позволяя таким образом производить глубокие вложения файлов.
Код |
|
Режим работы |
|
Режим резервирования |
|
Типы сайтов |
|
Слой |
|
Размещение |
|
Сохранение и восстановление состояния при перезагрузке |
|
Приложение |
|
Ограничения
-
Для работы TFTP опция должна быть прописана на DHCP сервере.
-
PNP может обслуживать только устройства, находящиеся в сегменте сети, из которой сервер доступен для broadcast сообщений.
-
Специфика autoprovision индивидуальна для различных марок и моделей телефонов; подготовка системы к проведению автонастройки может потребовать предварительных усилий по тестированию и подготовке специфических шаблонов.
-
Некоторые модели телефонов хранят локальную конфигурацию из настроек, заданных непосредственно в интерфейсе телефона, которая имеет приоритет по отношению к настройкам, распространяемым через autoprovision.
-
Безопасность PNP обеспечивается недоступностью broadcast-адреса сервера для других сегментов сети, а TFTP (по умолчанию порт 69) требует внимания, поскольку возможен перебор MAC-адресов. При установке сервера на публичном адресе следует рассмотреть возможность отключения роли autoprovision из конфигурации после проведения основной фазы настройки системы и распространения конфигурации на большинство абонентских устройств.
-
Сложные настройки (использование нескольких сип-серверов, зависимых от домена, настройка нескольких учетных записей на телефоне и т.д.) следует решать путем проектного создания специфических шаблонов.
Параметры
Подстановочные поля в шаблонах
Категория | Описание |
---|---|
|
подставляет значения полей учетной записи sipuser. Например |
|
подставляет имя домена учетной записи sipuser. |
|
подставляет адрес прокси сервера SG на текущем сайте. Более сложные настройки (специфический порт, множественная или распределенная адресация) должны обеспечиваться созданием специфических шаблонов в проекте перед проведением массового подключения устройств. |
|
подставляет новый UUID, делая файл конфигурации уникальным всякий раз. |
|
подставляет значения констант. Константы берутся с понижением приоритета: 1) из настроек домена учетной записи (settings.ap_constants), 2) из настроек мастер-домена (settings.ap_constants), 3) из файла настроек сайта (:SYNC/common/autoprovision/constants/SITE.cfg, /rest/v1/fs/targets/ap_constants/SITE.cfg - где SITE - имя сайта обслуживающего запрос). |
|
производит запрос nslookup указанного доменного имени и подставляет один из обнаруженных адресов. В случае кратного использования команды в шаблоне гарантирует подстановку разных значений. Может быть использовано для подстановки адресов NTP-серверов в случае отсутствия у телефонов доступа к сервису DNS). |
|
подставлет целиком другой файл шаблона. Вместо FILENAME должно быть указано имя файла в каталоге :SYNC/common/autoprovision/templates (/rest/v1/fs/targets/ap_templates). |
|
подставлет случайное целое значение от 0 до N-1. Может быть использовано для round-robin выбора и подстановки вложенного шаблона (например |
Пример конфигурации
Управление конфигурацией производится в приложении, доступном для администраторов мастер-домена. Приложение скрывает полное содержание конфигурации, однако тем не менее оно доступно через API.
Конфигурация содержит раздел для описания всех экземпляров всех ролей. Параметры определяются для каждого конкретного экземпляра роли.
{
"name": "ap1",
"roletype": "ap",
"iface": "eth0",
"group": 11360,
"order": 1,
"tftp_port": 69,
"pnp_url_proto": "tftp"
}