Eltex AUP - two beers, or not two beers…
Всем привет! Меня зовут Павел. Работаю в компании Первый Интегратор, и это моя первая статья. В ней покажу как настроить продукт, расскажу о “подводных камнях”.
На написание статьи меня сподвигла не самая понятная и не полная официальная документация*. Плюс, личное "неприятие" использования инструментов визуального программирования, на котором и построен генератор конфигураций в AUP.
Статья поможет лучше разобраться, как готовить продукт юным админам AUP-а. Для всех остальных – это просто обзор функциональности. Но обо всем по порядку.
*В процессе написания статьи, несколько раз перечитал документацию – она стала гораздо лучше по сравнению с предыдущими версиями.
На момент написания статьи, актуальная версия 2.7.
За проектом AUP "слежу", начиная с версии 2.4, поэтому все изменения вижу, что называется "на лицо". Субъективно, продукт становится лучше с каждым релизом. Однако, есть ряд "недоделок" и неудобств, которые уменьшаются с каждым новым выпуском.
Отметим плюсы: продукт работает, он "гибкий", в базе есть бесплатная безлимитная лицензия на 1 интеграцию, 10 аккаунтов и 10 устройств. Но хотелось бы упорядочить информацию по настройке, а также рассказать о возможных особенностях.
Опишу кратко процесс конфигурирования устройства средствами AUP:
- Устройство обращается к AUPу. AUP его идентифицирует по марке - модели и добавляет в список устройств. Если устройства нет в списке поддерживаемых - "извините, мимо кассы".
- AUP идентифицирует запросы от устройства (прошивка и конфиг) и проверяет "метод обслуживания", в том числе, тот, что настроен "по умолчанию". Результатом этого будет выдача или отказ устройству прошивки и/или конфига.
Выглядит несложно. Однако, "под капотом" этого "несложно" лежит несколько нюансов. Чтобы понять что к чему, опишу в подробностях процесс настройки системы, опустив установку базовой ОС и наката самого AUP. Во-первых, в этом нет ничего сложного. Во-вторых, этот процесс хорошо описан в документации. В-третьих, он слишком простой, чтобы его ещё раз описывать. Если вы застряли на этом этапе, рекомендую ещё раз обратиться к официальной документации.
Как говорит герой одного известного мемчика: “Стартуем!”
1. Заходим на веб-интерфейс.
После установки нам становится доступен web-интерфейс, при первом входе в который Вас попросят сменить пароль. Можно смело поменять его на любой. В последствии его можно заменить - механизм подробно описан в документации.
2. Попадаем в раздел «Устройства».
Итак, после авторизации мы попадаем непосредственно в веб-интерфейс самого AUP, а именно в раздел “Устройства”:
Пользователя может смутить отсутствие “активных” кнопок, но не стоит расстраиваться - устройства добавятся автоматически по мере их обращения к системе AUP. Сам механизм подключения, более подробно описан ниже. Других вариантов на данный момент нет, увы…
Стоит учитывать эту особенность при подготовке. Не получится заранее загрузить список устройств.
3. Идем дальше, раздел “Аккаунты”.
Тут уже можно что-то добавить, но только руками. Эту особенность тоже стоит учитывать. По нажатию кнопки "+" появляется форма добавления аккаунта, где в абсолютно любом формате можно записать абсолютно любые параметры, что очень удобно и гибко.
- А где массовый импорт аккаунтов? Сидеть поштучно заполнять параметры?
- Да, если у вас нет ECSS-10.
- Погодите, при чем тут ECSS-10?
- Есть одна хитрость - AUP умеет массово импортировать аккаунты, но только из ECSS-10. Этим самым Элтекс в рамках своей “экосистемы” дает конечному пользователю расширенные возможности.
4. Синхронизируем с ECSS-10.
Давайте же скорее посмотрим, где это настроить. Делается это всё в разделе "Настройки" -> "Интеграции ":
Тут довольно много параметров для синхронизации. Брать всё особого смысла нет, так как, по большому счету, нас интересуют только логин, пароль, домен и имя.
Однако, стоит учесть пару нюансов:
1. нет автоматической синхронизации аккаунтов из ECSS-10, т.е. каждый раз при добавлении/удалении/изменении абонентов на ECSS-10 нужно идти на AUP и запускать синхронизацию в ручном режиме;
2. на каждый домен расходуется 1 интеграция. т.е.стоит учитывать особенности лицензирования (об этом чуть ниже, в следующем разделе).
Ну да ладно, работает синхронизация, надо отметить, быстро и эффективно. Надеюсь в ближайших релизах появится эта маленькая, но очень нужная доработка автоматизации процесса (автоматическая синхронизация аккаунтов).
Итак, с аккаунтами вроде разобрались, поехали дальше.
5. Рассмотрим остальные “Настройки”.
Этот раздел больше не участвует в процессе конфигурирования, в рамках этой статьи. Кому не интересно, могут смело идти к следующему пункту.
Самое интересное, кроме вышеупомянутого раздела “Интеграции”, что тут можно отметить - это подразделы “Системные”, “Файлы ПО” и “Тэги”.
Важным в этом разделе считаю подраздел “Системные”. Главная настройка, которая нас интересует, - это настройка политики конфигурирования “по умолчанию”. Это то, что будет система отдавать новым телефонам, подключаемым к AUP. Доступные варианты настройки: “отсутствует” - None; “не предоставлять ничего” - Unprovided; “предосталять конфигурацию” - Configuration; “предоставлять прошивку” - Firmware; “предоставлять конфигурацию и прошивку” - Configuration & Firmware.
В подразделе “Файлы ПО” лежат загруженные в AUP прошивки для телефонов. Ничего сложного там нет - всё довольно просто и интуитивно понятно.
В подразделе “Тэги” можно задать список тэгов как для устройств, так и для аккаунтов. Тут тоже всё просто и интуитивно понятно.
Тут задается именно список доступных тэгов. Сами-же тэги навешиваются на конкретные устройства или аккаунты в соответствующих разделах. На основе этих самых тэгов можно настроить/добавить логики в ваш конфигуратор.
Дополнительно стоит отметить подраздел “Лицензионные ограничения”. Там можно подсмотреть параметры вашей лицензии, но она там представлена в формате json (может быть не всем понятно).
Здесь стоит пояснить, что в лицензии заложено ограничение по параметру “Интеграции” (pbx_integration). В рамках одной “интеграции” Вы можете синхронизировать пользователей из одного домена ECSS-10. Расширение этого параметра не увеличивает (на данный момент) стоимость лицензии, однако, чтобы его увеличить, вам потребуется обращаться за новой лицензией к вашему поставщику.
С настройками тоже вроде-бы понятно. Перейдем от слов к делу. Самое время достать из коробки новенький телефон и попытаться его сконфигурировать.
6. Подключаем телефон к AUP.
Теперь нам нужны телефоны. Для теста возьмём парочку телефонов Элтекс самой "ходовой" модели VP-17P. Прежде чем их подключать, рассмотрим типичный сценарий подключения телефонов в сеть:
1. достаем телефон из упаковки,
2. включаем в сеть,
3. телефон переключается в voice vlan при помощи lldp/cdp,*
4. телефон подключается к системе ECSS-AUP, следуя опциям 43/66/150, отдаваемым ему dhcp-сервером.
*Для того, чтобы телефоны VP-17P самостоятельно переключались в voice vlan, их ПО нужно обновить до официального релиза 1.3.1. В этой версии ПО реализован протокол lldp-med, при помощи которого телефон и переключается самостоятельно.
Чтобы наши тестовые VP-17P подключились к AUP, будем следовать инструкции. Пропишем на нашем dhcp-сервере в опцию 43 нужную строку. А именно: "5|http://<AUP-ip>|6|$MAC.json|7|firmware.tar.gz|9|Manifest".
Выполнив вышеупомянутые действия, наши “подопытные” добавились в список устройств на AUP.
Теперь приступим к привязке аккаунта.
7. Связываем телефон и аккаунт.
Для этого нам нужно снова вернуться в раздел "Устройства". Тут уже стало заметно больше устройств:
Вот у меня к системе сразу подключился целый "мини-зоопарк" устройств, среди которых два телефона VP-17P. Один из них с заводской прошивкой, другой обновлен до актуальной версии.
Весь этот "мини-зоопарк" на AUP пришел по разным опциям. Например, Yealink пришел по 66-ой опции, а Cisco-фоны - по 150-ой.
Если выделить конкретный телефон, можно посмотреть что запрашивает аппарат и какие конфигурации для него сгенерированы, отредактировать тэги, прикрепить какой-то аккаунт, поменять метод обслуживания (что AUP будет отдавать телефону: ничего, прошивку/конфиг или всё). Все эти кнопки подписаны. Не вижу смысла заострять внимание на каждой.
- Для дальнейшей настройки нам нужно прикрепить аккаунт к телефону и всё?
- Да. Но это не всё. Одного прикрепления мало. Нужно ещё научить генератор конфигураций создавать их. Затем нужно запустить этот процесс.
Но сейчас вернемся к привязке аккаунта к телефону.
Если у вас большое кол-во аппаратов, вам поможет строка фильтрации. Методика фильтрации довольно простая. Кликаете в строку поиска - выпадает список параметров фильтрации. Выбрав нужный, кликаете на него. Он становится подсвеченным овальчиком, и сразу за ним печатаете подстроку поиска. Затем нажимаете клавишу Enter.
Найдя нужный аппарат, можно прикрепить аккаунт. Делается это тоже легко - достаточно кликнуть на поле "Владелец устройства". По клику выпадет список доступных аккаунтов, которые точно таким-же методом можно отфильтровать. Среди них отмечаете нужный и нажимаете кнопку "сохранить".
После этого уже можно посмотреть конфигурации для телефона:
Как видно - нет ни одной конфигурации для телефона. AUP-у на данный момент нечего отдать телефону в качестве конфигурации, а значит самое время настроить генератор конфигураций. Ну что-ж, добро пожаловать в раздел "Граф конфигурационных параметров".
8. Создаем конфигуратор. Переходим в раздел “Граф конфигурационных параметров”.
Название конечно странноватое. Значок "share icon" добавляет сомнений. Но именно там настраивается генератор конфигураций. Построен он на node-red, инструменте визуального программирования. Не буду долго томить вас ожиданиями. Вот вам гайд по созданию простейшего генератора конфигураций:
- Берем и перетаскиваем на клетчатое пространство 4 блока из коллекции, а именно, "запрос данных о всех устройствах", "узел настроек", "join"(вам нужно постараться и найти его) и "создать массив конфигураций". Сразу стоит обозначить важный нюанс: чтобы ваш только что созданный генератор конфигураций сохранился, нужно нажать не самую заметную кнопку "Развернуть", которая по факту имеет смысл "deploy/upload/save". Ещё один нюанс - узел "join". Хоть в документации по созданию простейшего конфигуратора не описан, но без него кофигуратор не заработает. Проверял лично.
- А теперь нам нужно эти блоки соединить в последовательность. Делается это вытягиванием мышкой, не отпуская клика, от выхода одного блока до входа в другой (выход - серая точка на правом торце блока, вход - на левом торце). Соединили? Молодцы! Не забудьте сохранить изменения нажав кнопку "Развернуть". Теперь можно попробовать сгенерировать пустую конфигурацию. Делается это нажатием дополнительной кнопки самого первого блока. Нажимаем и смотрим, что статусы блоков стали “зелеными”:
Если дважды кликнуть на «узел настроек», откроется список возможных параметров для конфигурирования, среди которых можно сменить наименование «узел настроек»:
Самое важное, что стоит в этом узле настроить, – это регистрационные данные аккаунта. Заполняются они в группе параметров “Common.SIP.Line.[X]”:
Вы конечно, можете прописать в эти параметры что-то «от руки», но именно эти параметры и будут отдаваться в конфигурации. Всем телефонам. Чтобы отдавать телефонам не статические настройки, а подставлять значения из переменных, нужно в параметры прописать заключенные в “спецсимволы” пути, из которых будут браться значения для конфигурации. Вот так: <%=путь_параметра%>. При этом параметр нужно переключить в режим выборки «из контекста».
Если вам нужно составить значение поля из нескольких параметров, можно записать что-то вроде <%=путь_параметра1%> <%=путь_параметра2%>.
Параметры прописываются следующим образом:
Не забываем сохранять изменения. Сперва кнопкой «подтвердить» внизу формы редактирования конкретной настройки, затем кнопкой «готово» в правом верхнем углу формы редактирования «узла настроек» и наконец кнопку «Развернуть» в настройках «потока».
Необходимые вам пути описаны в документации. Но, если вам нужно что-то специфичное, пути придется «добывать» из debug-сообщений. В общем виде путь можно скопировать из debug-сообщения.
Если в каких-то блоках настроек sip-аккаунта нужна «вариативность», присутствует «дробление» настроек. Например, вам нужно выбирать разные порты для регистрации в разные домены. В этом случае стоит добавить блок «switch», в котором прописать деление по содержимому пути «payload.ctx.device_ctx.account[0].accountAdditionalInfo.domain.value», назначить на выходах узлы конфигурации с прописыванием нужных адресов для регистрации и убрать аналогичные настройки из последующих узлов конфигурирования:
Если захочется визуально уменьшить схему вашего генератора конфигураций, выделяете нужные элементы и через верхнее меню упаковываете это всё в «подпоток»:
Усложнять конфигуратор по вашим запросам и параметрам – можно сколько угодно, на что у вас хватит фантазии. В этом заключается огромный потенциал гибкости продукта.
Вернемся к сути – конфигуратор (какой-никакой) готов, теперь можно сгенерировать конфигурации (не забыли? - кнопка слева, от первого блока) и проверить, что они действительно создались. Для проверки, нужно вернуться в раздел «Устройства», выбрать нужное и нажать кнопку просмотра конфигураций. Выбрав нужную конфигурацию, её можно полностью просмотреть:
Сразу видно, что конфигурация задается исходя из двух конфигурирующих блоков «sip-сервер_по_умолчанию» и «VP-17P», внутри которых и задаются необходимые вам параметры.
9. Проконтролируем настройки устройства.
Теперь осталось удостовериться, что на телефоне появились нужные нам параметры. Но это уже совсем другая история… Шутка! Зайдя на вебку телефона, сразу видно, что всё прописалось корректно на телефон:
Окончание.
На этом, базовый процесс конфигурирования ECSS-AUP окончен. Вроде все описал. Для забывчивых (сам такой) напомню ещё раз порядок конфигурирования:
1. Добавляем в AUP устройства (читай: настраивай свой DHCP-сервер со ссылками на AUP в опциях 43/66/150).
2. Пропиши все аккаунты руками. Если твоя АТС Eltex ECSS-10 – пропиши синхронизацию аккаунтов из неё.
3. Прикрепи аккаунты к устройствам.
4. Настрой «граф конфигурационных параметров».
5. Сгенерируй конфигурации.
6. Проверь, что аккаунт доставлен на устройство.
Профит!
Если что-то пошло не так, попробуйте ещё раз перечитать статью, либо обратитесь к официальной документации.
Итоги.
В конце принято делать выводы или писать резюме, называйте как хотите. Ну что-ж давайте попробую изложить общее впечатление. Продукт на текущий момент в некоторых местах «сыроват» (функционал реализован не в полном объеме), но стремительно развивается. Очень гибкий, местами даже чересчур. В ряде чувствительных и важных мест отсутствует ценз настроек (“защита от дурака”) - требуется повышенное внимание при настройке. Поддерживается широкий набор различных аппаратов различных вендоров, а также абсолютно все модели телефонов Cisco. Да-да,я не опечатался, это действительно так! Если профиль какой-то конкретной модели Cisco не будет найден, применится "общий" шаблон телефонов Cisco и это сработает. Сам проверял на «редкой» модели. В актуальной версии существенно облегчился процесс создания генератора конфигураций - это гигантский "прыжок" на встречу юзерам. Но для реализации не-шаблонных схем нужно “копнуть глубже”. Интерфейс не очень ”дружелюбный”. Что-то приходится искать, и не один раз. Но продукт на данный момент развивается именно в этом аспекте. Продукт работает, стабильно работает - однажды его настроив, станет понятнее методика и принципы его настраивания. Если что-то непонятно или не описано в документации, вам всегда на помощь придет техподдержка производителя, либо … Вы знаете к кому обращаться.
Спасибо всем, кто смог дочитать до конца. Статья получилась длинноватой, но надеюсь полезной. По-другому пока не умею. Если что не так – извиняйте. Объективная критика приветствуется.
#eltex-aup #как_настроить #ecss-aup #aup #autoprovision #настройка