Открыть меню
Toggle preferences menu
Открыть персональное меню
Вы не представились системе
Your IP address will be publicly visible if you make any edits.

17. Autoprovision

Материал из Платформа Эра. Документации

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

Устройство после подключения получает у DHCP сервера IP-адрес, одновременно DHCP-сервер сообщает в опциях адрес TFTP-сервера автопровизии, куда затем устройство осуществляет серию запросов. Платформа выступая сервером автопровизии, фильтрует запросы через черно-белые списки обслуживаемых адресов и подсетей, по MAC-адресу находит учетную запись и формирует конфигурационный файл для этого конкретного устройства.

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

Задание 17.1. Подключение Autoprovision (TFTP)

Подключение Autoprovision (TFTP)

В рамках задания настроим один конкретный

1. Настройка

  • На телефоне Yealink, Grandstream, FlatPhone посмотрите и выпишите MAC-адрес.
  • Внесите MAC-адрес в настройку учетной записи (поле sipuser.opts.ap_mac_address).
  • Дополнительно в учетную запись внесите модель телефона (поле sipuser.opts.ap_device_model) в формате "BRAND MODEL", например "Yealink SIP-T30P".
  • Снимите ограничения сервера на обработку запросов автопровизии в правилах пограничного фильтра в мастер-домене.
  • Если в сети телефона есть DHCP сервер, то пропишите в DHCP соответствующую опцию, указывающую телефону адрес TFTP-сервера автопровизии. / Если DHCP сервера нет, либо установка опций не поддерживается, то пропишите адрес TFTP-сервера вручную в настройки телефона после сброса.
  • Осуществите сброс телефона к заводским настройкам.

2. Дождитесь завершения процесса автопровизии на дисплее телефона.

3. Скачайте лог-журнал микросервиса AP. Посмотрите как в журнале отобразилась информация о факте автопровизии.

4. В течение 30 секунд после процесса автопровизии опросите каталог сервера             /opt/era*/local/temp/ap1/autoprovision (актуально для односерверной инсталляции).

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

5. Проснифферите с помощью tshark/wireshark процесс автопровизии с фильтром по tftp.

6. Проанализируйте последовательность обращений от устройства к серверу.

Задание 17.2. Несколько устройств

Несколько устройств

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

1. Перезагрузка устройства.

  • Зарегистрируйте под учетной записью несколько разных устройств - телефонных аппаратов (при необходимости добавьте к учетной записи лицензию девайса).
  • Проведите настройку учетной записи для поддержки нескольких устройств (поле sipuser.opts.ap_devices).
  • Перезагрузите устройства. Если в них не настроена автопровизия при перезапуске, то дополнительно настройте ее и перезапустите устройство.

2. Дождитесь завершения процесса автопровизии на дисплее телефонов.

3. Скачайте лог-журнал микросервиса AP. Посмотрите как в журнале отобразилась информация о факте автопровизии. Какая разница?

Задание 17.3. Протокол PnP

Протокол PnP

Протокол PnP не требует предварительной настройки IP-адреса сервера автопровизии (ни в опциях DHCP, ни в собственной конфигурации). В локальную сеть отправляется broadcast запрос, который обрабатывается лишь PnP-сервером автопровизии. В ответе PnP-сервер сообщает адрес TFTP-сервера, куда затем устройство осуществляет запрос.

1. Выключите в настройках телефона режим автопровизии TFTP, включите PnP.

2. Запустите из веб-интерфейса процесс автопровизии. Дождитесь завершения процесса автопровизии в веб-интерфейсе или на дисплее телефонов.

3. Скачайте лог-журнал микросервиса AP. Посмотрите как в журнале отобразилась информация о факте автопровизии. Какая разница?

Задание 17.4. Черный и белый списки доступа

Черный и белый списки доступа

Сервер автопровизии в ответ на корректно сформированный TFTP-запрос с известным ему MAC-адресом сообщает устройству идентификационную информацию, включая логин и пароль. MAC-адрес имеет битность 48. Не очень безопасно держать сервер открытым для TFTP-запросов с произвольных направлений, если он размещен в публичном сегменте интернет. Поэтому по умолчанию правила пограничного фильтра для сервиса автопровизии посредством белого списка разрешают запросы только с локальных сетей: 10.0.0.0/8, 100.64.0.0/10, 172.16.0.0/12, 192.168.0.0/16. При настройке системы автопровизии следует уточнять разрешенные диапазоны, при необходимости разрешать какие-то дополнительные конкретные подсети публичного сегмента.

1. Добавьте в правила пограничного фильтра в мастер-домене блокировку на часть подсети, в которой выдает адреса DHCP-сервер и имеет адрес телефон. Осуществите сброс телефона к заводским настройкам.

2. Телефон не должен настроиться. Скачайте лог-журнал микросервиса AP. Посмотрите как в журнале отобразилась информация о факте блокировки автопровизии.

3. Удалите выставленную блокировку. Оставьте настройку блокировки всех нелокальных адресов. Каким образом это сделать?

Задание 17.5. Сброс и перезагрузка устройств

Сброс и перезагрузка устройств

В любой момент времени корректно подключенным устройствам из приложения администратора “Настройки” можно отправить команды на перезапуск и переконфигурацию. Это осуществляется путем запроса NOTIFY с Event: check-sync. Не все устройства поддерживают это расширение, но с большой вероятностью устройство поддерживающее автопровизию поддерживает и это расширение. Yealink поддерживает.

В приложении Настройки -> Номерной план -> Абоненты выделите учетную запись с настроенным MAC-адресом.

  • Нажмите кнопку "Синхронизировать".

Скачайте лог-журнал микросервисов B2B и AP. Посмотрите SIP-трафик, и как в журнале отобразилась информация о факте автопровизии.

   

  • Нажмите кнопку "Перезагрузить".

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

Задание 17.6. Константные конфигурации

Константные конфигурации

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

1. Опросите в браузере следующие API-эндпойнты: GET /rest/v1/fs/targets/ap_configurations

    Там лежат файлы константных конфигураций.

2. Измените в файле, сохраненном на шаге 1 какое нибудь значение, например задайте другое значение лейбла для настроенного аккаунта.

3. Разместите в указанный выше эндпойнт с помощью CURL или API-тестера файл, сохраненный на шаге 1.

    Инициируйте из приложения Настройки -> Номерной план -> Абоненты синхронизацию.

Например, используйте расширение для chrome Talend API tester

4. Автопровизия произошла, лейбл поменялся. Почему?

5. Удалите этот файл.

Вы можете найти этот каталог на сервере в контейнере в каталоге /var/lib/era_files/syncroot/common/autoprovision/configurations.

Этот каталог автоматически синхронизируется между серверами.

Почему файлы константных конфигураций размещаются в каталоге syncroot?

Задание 17.7. Шаблоны конфигураций

Шаблоны конфигурационных файлов

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

Конфигурационные файлы (и соответственно, шаблоны), могут иметь формат xml, ini, либо любой другой текстовый формат. Шаблоны представляют собой конфигурационные файлы, где в качестве некоторых переменных значений подставлены макросы. Файл шаблона имеет имя “БРЕНД МОДЕЛЬ" и соответствующим бренду расширение. Устройство осуществляет TFTP запрос файла с именем “<MAC>.<ext>”, именно это расширение и должно использоваться в шаблоне.

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

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

1. Опросите в браузере следующие API-эндпойнты:

  • GET /rest/v1/fs/targets/ap_templates
  • GET /rest/v1/fs/targets/ap_constants

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

Во втором - константные значения общего характера.

2. Добавление настроек в шаблон.

    Шаг 1

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

    Шаг 2

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

    Шаг 3

  • Измените шаблон - добавьте выбранную дополнительную настройку №1.
  • Задайте пароль администратора телефона.
  • Инициируйте процесс автопровизии. Убедитесь, что выставленная настройка применена.

3. Макро-значения и вложения.

    Шаг 1

  • Добавьте в поле ext учетной записи по ключу "ap_test1_value" значение для настройки №2.
  • Добавьте в шаблон макро-значение - пусть телефон в качестве лейбла аккаунта отобразит значение, расположенное в sipuser.ext.ap_test1_value .
  • Инициируйте процесс автопровизии. Убедитесь что выставленная настройка применена.

    Шаг 2

  • Удалите ключ "ap_test1_value" из sipuser.ext.
  • Инициируйте процесс автопровизии. Что поменялось?

    Шаг 3

  • Добавьте в константы значение для настройки №3 по ключу "ap_test3_value".
  • Измените в шаблоне макро-значение - добавьте ключ настройки №3, где в качестве значения установите ссылку на константу "ap_test3_value".
  • Инициируйте процесс автопровизии. Убедитесь что выставленная настройка применена.

    Шаг 4

  • Включите в шаблон ссылку на вложенный шаблон.
  • Создайте новый шаблон под включение в другие шаблоны.
  • Внесите в него новую дополнительную настройку №4.
  • Инициируйте процесс автопровизии. Убедитесь что выставленная настройка применена.

    Шаг 5

  • Внесите в sipuser.ext.ap_override дополнительные настройки №5 и №6 и их значения.
  • Инициируйте процесс автопровизии. Убедитесь что выставленные настройки применены.

4. После завершения верните шаблон к исходному виду.

Задание 17.8. BLF

Autoprovision для BLF

BLF — функция отображения состояний других абонентов. Каждый телефон, имея соответствующие индикаторы, может быть настроен и подписан на некоторых других абонентов. Перечень этих абонентов и их привязка к тем или иным индикаторам/кнопка на телефоне или панели расширения индивидуальны. Таким образом эти индивидуальные привязки должны быть заданы либо в константной индивидуальной конфигурации под MAC-адрес, либо при использовании шаблонов — в учетной записи sipuser. Файл конфигурации, созданный из шаблона, расширяется с помощью отдельного шаблона “<BRAND MODEL>.blf.<ext>”, кратно копируя его в соответствии с заданным количеством blf индикаторов в учетной записи. Точно также конкретные значения индикатора подставляются вместо макросов: линия, позиция кнопки, номер абонента, номер перехвата и т.д.

1. Настройте в учетной записи sipuser несколько BLF-кнопок (Настройка -> Номерной план -> Абоненты, поле sipuser.ext.ap_blf, раздел карточки "Настройка BLF")

2. Перезагрузите телефон.

3. Дождитесь или добейтесь, чтобы новые BLF-кнопки загорелись.

Задание 17.9. Прошивка устройств

Прошивка через autoprovision

Автопровизия может использоваться в частности и для массовой прошивки устройство. Это способно значительно сэкономить время администраторов.

Файл прошивки размещается на сервере, и его имя размещается в один из файлов (шаблонов), запрашиваемых с устройства. Очевидно, что прошивки привязаны к конкретным моделям, поэтому следует использовать либо шаблон модели, а не обще-брендовый, либо даже специальный константный файл конкретной модели, например модель Yealink SIP-T48G опрашивает файл y000000000035.cfg.

1. Скачайте с сайта производителя последнюю прошивку для используемого устройства.

2. Расположите прошивку в папке /rest/v1/fs/targets/ap_configurations

3. В соответствии с правилами для конкретной модели разместите информацию о прошивке в соответствующем файле.


Задание 17.10*. Создание нового шаблона

Создание нового шаблона

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

1. Если у вас нет специфического телефона (Escene, Cisco и т.д.), то выдумайте свой телефон.

2. Создайте для него шаблон с использованием макросов.

3. Задайте его какой либо учетной записи.

4. Выдумайте MAC-адрес.

5. Подключитесь с помощью TFTP-клиента и опросите файл с передачей MAC-адреса. Скачайте файл и проверьте его содержание.