Auto provisioning что это
Что такое Auto Provisioning и как это работает?
IP-АТС Yeastar предлагает множество функций, позволяющих значительно сэкономить время ИТ-специалистов: например, расширенный интерфейс администратора и усовершенствованное программное обеспечение, которые упрощают задачи по установке и обслуживанию оборудования.
Почему Auto Provisioning?
Как правило, ранее вся подготовка IP-АТС и IP-телефонов производилась вручную, если только речь не шла о проприетарной системе (но такое оборудование обычно бывает слишком дорогим для среднего и малого бизнеса).
Многие пытались устанавливать на обычные компьютеры последние версии Asterisk (в том числе, с графическим интерфейсом), но такой подход не идет ни в какое сравнение с промышленными IP-АТС Yeastar серии S / серии К или облачной IP-АТС Yeastar Cloud PBX, работающих по принципу Plug&Play.
Для того, чтобы развернуть телефонную систему в небольшом офисе, нередко требовалось несколько дней, так как каждый телефон необходимо было настроить вручную. При этом управление телефонами было довольно сложным, так как разные устройства (даже одного и того же производителя) были настроены по-разному.
С каждым новым устройством, перемещением телефонов или изменением учетных записей процесс становился все более утомительным и менее управляемым, а быстрая диагностика и устранение проблем превращались в непосильную задачу.
Обновление парка телефонов в несколько кликов
С первых дней появления на рынке компания Yeastar предлагает системный подход к инициализации телефонов.
Хотя практически любой IP-телефон можно настроить вручную с помощью веб-интерфейса, это приводит к увеличению стоимости работ из-за существенных затрат времени, а также к проблемам, вызванным ошибками ввода данных.
Компания Yeastar предлагает другой подход и гарантирует, что с функцией Auto Provisioning самое сложное в настройке телефона — это его распаковать!
Телефонные системы связи Yeastar всегда были известны заказчикам поддержкой большого списка производителей IP-телефонов. Совместная работа компании Yeastar с производителями телефонных аппаратов позволяет обеспечивать простое и быстрое развертывание систем связи.
Быстрая удаленная настройка
Функция Auto Provisioning позволяет пользователям оптимизировать трудозатраты и сократить время настройки оконечных устройств. Сервис позволяет автоматически регистрировать телефоны и настраивать их в веб-интерфейсе IP-АТС серии S / серии К или Yeastar Cloud PBX, например, менять пароли и добавочные номера, а также любые параметры пользователя или группы.
Если администратору известен MAC-адрес телефона, автоматическую инициализацию можно выполнить из веб-интерфейса IP-АТС удаленно. Нет необходимости присутствовать в офисе клиента, чтобы внести изменения, так как доступ к телефонной системе с учетными данными администратора может быть получен из любой локации с безопасным подключением к интернету.
IP-АТС серии S поддерживают автоматическую настройку следующих устройств:
IP-телефоны Yealink
T19P-E2, T21P-E2, T23G, T23P, T27G, T27P, T29G, T40P, T40G, T41P, T41S, T41U, T42G, T42S, T43U, T46G, T46S, T46U, T48G, T48S, T48U, T49G, T52S, T53, T53W, T54W, T54S, T56A, T57W, T58A, T58V, VP59, CP860, CP960, CP920, W52P, W56P, W60B, W53P, W41P, W60P, CP930W-Base, W80B
IP-телефоны Fanvil
X210i, Н3, Н5
Шлюзы Yeastar
TA100, TA200, TA400, TA800, TA1600, TA2400, TA3200
IP-АТС Yeastar Cloud PBX поддерживает автоматическую настройку следующих устройств:
IP-телефоны Yealink
T19P-E2, T21P-E2, T23G, T23P, T27G, T27P, T29G, T40P, T40G, T41P, T41S, T42G, T42S, T46G, T46S, T48G, T48S, T49G, T52S, T54S, T56A, T58A, T58V, T53 / 53W, T54W, T57W, TW41P, W52P, W53P, W56P, W60P, VP59, CP960, CP920
IP-телефоны Fanvil
H5
IP-АТС Yeastar K2 поддерживает автоматическую настройку следующих устройств:
IP-телефоны Yealink
Все модели
Напоминаем, что до 31 декабря 2019 года компания АйПиМатика предлагает новым партнерам воспользоваться уникальным предложением и получить скидку 35% на приобретение оборудования Yeastar.
Кроме того, мы объявляем специальные цены на модули и VoIP-шлюзы Yeastar и Hanlong.
Становитесь партнером компании АйПиМатика! Становитесь партнером Yeastar!
По вопросам приобретения оборудования Yeastar обращайтесь по адресам:
Данный раздел содержит информацию для автоматической настройки телефонного аппарата с помощью функции Autoprovision
Устройство загружает конфигурационные файлы с FTP/FTP/HTTP/HTTPS/DHCP-сервера, IP-адрес или полное доменное имя которого указано в поле параметра 66.
Файлы конфигурации
Для загрузки файла доступны два типа конфигурации:
Если на сервере два файла конфигурации, то IP устройство изначально получит настройки из общего файла, а потом настройки персональные настройки из второго файла со своим mac-адресом.
Настройка IP-телефона
Рассмотрим настройку auto provision IP-телефона, где в качестве TFTP-сервера будем использовать 3CDaemon.
Для настройки IP-телефона, через auto provision, необходимо:
Установить FTP/FTP/HTTP/HTTPS-сервер
В настройках TFTP сервера указываем путь, до конфигурационных файлов.
Создать конфигурационный файла
Загрузить файл конфигурации
AutoProvision Now
DHCP Option
Если IP телефон настроен на использование параметра DHCP для получения URL-адреса автоматической настройки, телефон отправит запрос на DHCP-сервер для определенного кода опции DHCP по умолчанию.
Диапазон значений DHCP Option от 128 до 254 (по умолчанию DHCP Option 66)
URL
Формат URL
URL-адрес указывает информацию, полученную опцией DHCP и SIP PnP через сервер. Формат URL следующий:
Серверный протокол: // user:password@Server IP:port / path / Configuration
Для примера: http://user:password@172.16.1.3:8080/VP52CGP /$mac.cfg
Составляющие URL
Ниже описаны функции и настройки различных частей URL-адреса.
Если имя пользователя и пароль требуются, но вы забыли их ввести или неправильно ввели имя пользователя и пароль на веб-странице, телефонный аппарат потребует от вас ввести имя пользователя и пароль еще раз на ЖК-дисплее, если вы не откажетесь от обновления.
Auto provisioning для grandstream или вынимаем и вкладываем душу в GXP1165
До недавнего времени в качестве VoIP аппаратов мы использовали продукцию Fanvil. И в целом всем были довольны. Управление из единой точки есть, качество связи удовлетворительное, но оставалось ощущение какой-то незаконченности или даже недосказанности (понимайте как хотите :))) В общем поиск «идеального телефона» в фоновом режиме, но все время продолжался. И вот мне в руки попал Grandstream GXP1165. Имея более именитого производителя данная модель находится в той же ценовой категории, что и китайские Fanvil-ы. Обладает всеми необходимыми функциями и имеет более интуитивное обозначение на кнопках и портах подключения. Кроме того, с некоторых пор, одним из решающих факторов при выборе IP телефона для меня является функция авто провижинга. Данная модель grandstream его обещала. Об этом дальше и пойдет речь.
Мой опыт работы с функцией auto provisioning основывался на уже упомянутой китайской продукции. И я наивно полагал, что с Grandstream все будет выглядеть примерно также. В общем-то так и вышло. Но я не предполагал насколько примерно все окажется. Чтобы не быть голословным приведу два куска настроек с одного и другого аппарата. Настройки получены путем экспорта файла.
Fanvil:
А теперь держитесь. Кусок настроек из конфига grandstream:
А! Как вам?! Впечатлены? По правде говоря я вас немножко обманул. Рабочий конфиг телефона выглядит иначе. Но зато вы можете представить мою растерянность, когда я увидел конфигурацию которую скачал с аппарата.
Сразу видны плюсы и минусы одного и другого собрата. Китайцы сделали настройки более приближенные к человеческому пониманию. Зато американцев выручает хорошее количество документации. В конечном итоге выручило оно и меня.
Файл конфигурации для grandstream можно создать двумя способами. При помощи утилит на сайте производителя (инструменты есть для Windows и для Linux) и в ручную, через XML файл. С первым способом у меня не сложилось. Поэтому опишу второй.
Как вы уже поняли, названия полей конфигурации зашифрованы и найти их описание не то чтобы сложно, но порыть инет пришлось. Что-то взял тут, что-то здесь и в целом получился вот такой файл.
Данный конфиг позволяет зарегистрировать аппарат на SIP сервере работающем по не стандартному порту 5561. Также включены незначительные особенности вроде отображения погоды в Цельсиях и настройки пути к адресной книге. Параметры которые не указаны, будут установлены по умолчанию.
Готовый файл необходимо зашифровать.
Имя файла должно иметь вид cfg[macaddress].xml. Раздавать файл будем через HTTP, поэтому просто выкладываем его в /var/www/ (Установку apache в виде apt-get install apache2, извините, описывать не буду :))
Далее по аналогии с Fanvil-ами автоматизируем этот процесс.
Создадим файл users со следующим содержимым:
Обратите внимание, mac адрес должен быть написан маленькими буквами.
… и bash файл который будет брать настройки из users
Все. На выходе /var/www/ получаем зашифрованный XML-ник cfg000a91547c9c.xml
В настройках самого аппарата достаточно прописать путь к серверу конфигурации и пароль для расшифровки конфиг файла.
Внизу нажимаем кнопку «Сохранить и применить» и отправляем в ребут кнопкой «Перезагрузка» в верхнем правом углу экрана.
Если путь к адресной книге прописан правильно, то после перезагрузки справочник будет подтянут на аппарат. Убедиться в этом можно будет нажав кнопку с телефонной книгой на корпусе телефона или в настройках через web интерфейс.
Но и этого мне было мало. Итак. Финальный аккорд.
Пожалуй единственным минусом аппарата можно назвать скудный выбор рингтонов. Всего три да и те какие-то страшненькие. Но! Рингтоны можно залить свои!
Описан способ для Linux. Уилита для Windows здесь.
Скачиваем и распаковываем утилиту
VoIP зоопарк — Provisioning
Вступление
Однажды руководство одобрило эксперимент по внедрению IP телефонии в нашей конторе. Так как мой опыт в данной области был мизерным, задача пробудила во мне огромный интерес и я погрузился в изучение различных аспектов вопроса. По окончании погружения решил поделиться приобретенными знаниями — в надежде, что кому-то они пригодятся. Итак…
Исходные данные
В качестве IP-АТС выбран и развернут Asterisk. Парк телефонов состоит из аппаратов Cisco 7906g, Panasonic UT-KX123B, Grandstream GXP1400 и Dlink DPH-150S(E)/F3, Yealink T19 и T21. Такой разброс обусловлен тем, что в рамках эксперимента было принято решение попробовать всего понемногу, чтобы составить своё мнение о соотношении цена/качество/удобство.
Задача
Максимально упростить и унифицировать процесс настройки новых аппаратов. Все телефоны должны быть синхронизированы по времени, иметь телефонную книгу, подгружаемую с сервера и предоставлять доступ к настройкам для администратора.
Решение этой задачи простое — реализовать автоматическую настройку телефонов, т.н. Provisioning. Собственно, о моей реализации этой замечательной функции и пойдет речь.
Настройка tftpd,dhcpd
Для раздачи настроек телефонам я выбрал tftp как универсальный вариант, поддерживаемый всеми платформами, легкий в настройке и управлении.
Специфической настройки для tftp не потребовалось. Установил штатный tftpd и разместил все необходимые файлы в его корневой директории.
Файлы с настройками разместил по каталогам в соответствии с производителем телефона. Правда, аппарат от Cisco так и не полез в свою папку, пришлось хранить в корне.
Для того, чтобы указать телефонам местонахождение tftp-сервера, я воспользовался option-66. Кроме того, разделил их на отдельные классы по производителю. Каждый класс получил собственный сегмент адресов и индивидуальную папку для конфигурационных файлов. К слову, аппараты от D-link пришлось вычислять по MAC-адресам, так как информацию о производителе в dhcp-запросе они не предоставляют.
После перезапуска всех вовлеченных служб телефоны уверенно направились за настройками на положенный им tftp-сервер. Осталось только их там разместить.
Cisco 7906
Эти аппараты достались мне в заводской упаковке. Пришлось перешивать, чтобы подружить с asterisk’ом. Но это отдельная история. В конкретном случае для настройки аппарата я, согласно инструкции, создал в корне tftp-сервера файл SEPAABBCCDDEEFF.cnf.xml. Где AABBCCDDEEFF — MAC-адрес аппарата.
Про настройку телефонов от Cisco было написано уже не раз, поэтому я просто оставлю рабочий файл с настройками.
D-Link DPH-150S/F3
Если вам только предстоит приобрести телефон этой серии, будьте внимательны, автонастройка поддерживается только в аппаратах 150S/F3. На аппарате 150S/F2, попавшем мне в руки, такого функционала не обнаружил.
Конфигурационный файл может быть как в формате xml, так и обычном текстовом. Для xml есть одно требование: тэг должен быть в начале строки, иначе парсер его проигнорирует и значение соответствующего параметра не изменится.
Для настройки телефона используются два файла. f0D00580000.cfg — для хранения настроек всех телефонов и 00112233aabb.cfg (MAC-адрес в нижнем регистре) для индивидуальных настроек. Индивидуальные настройки, естественно, имеют больший приоритет.
Полный набор настроек насчитывает более тысячи строк, чтобы не загромождать статью, опишу минимальный достаточный набор настроек.
Первым приведу файл с общей конфигурацией для всех телефонов. По сути дела, он хранит все настройки, индивидуальный файл будет отвечать только за номер телефона и надпись на экране.
В двух блоках, приведённых ниже, устанавливаются параметры временной зоны и синхронизации времени, начальный порт для RTP и включается сетевой мост между WAN и LAN разъемами аппарата.
Panasonic UT-KX123B
Эти аппараты получают настройки по несколько иной схеме. Конфигурация хранится в текстовых файлах. Максимальный размер конфигурационного файла составляет 120 КБ. Независимо от количества файлов общий их размер не должен превышать 120 КБ.
Конфигурационный файл состоит из набора строк, на которые накладываются указанные ниже условия:
Такой серьёзный набор требований к конфигурационному файлу меня, откровенно говоря, огорчил. На мой взгляд, реализация взаимодействия с сервером управления у телефонов Panasonic сделана чрезвычайно неудобно. По этому параметру телефон значительно уступает остальным.
При первом включении аппарата (или после сброса на заводские настройки) он пытается загрузить так называемый файл продукта (в данном случае это KX-UT123RU.cfg), в котором должны содержаться пути к остальным файлам конфигурации.
# Panasonic SIP Phone Standard Format File # DO NOT CHANGE THIS LINE!
CFG_STANDARD_FILE_PATH=«tftp://10.1.1.50/panasonic/
CFG_PRODUCT_FILE_PATH=«tftp://10.1.1.50/panasonic/KX-UT123RU.cfg»
CFG_MASTER_FILE_PATH=«tftp://10.1.1.50/panasonic/master.cfg»
После этого телефон выведет на экран сообщение об успешном завершении подготовки и будет ожидать, пока его не перезагрузят. А уже после перезагрузки он начнет обрабатывать положенные ему конфигурационные файлы.
В файле master.cfg рекомендуется указывать общие настройки для всех телефонов. Как и в случае с Dlink, я укажу только некоторые параметры. Имена остальных параметров и их значения можно найти в документации на сайте производителя.
## System Time Settings
NTP_ADDR=«10.1.1.4»
TIME_ZONE=«660»
DST_ENABLE=«N»
DST_OFFSET=«60»
DST_START_MONTH=«3»
DST_START_ORDINAL_DAY=«2»
DST_START_DAY_OF_WEEK=«0»
DST_START_TIME=«120»
DST_STOP_MONTH=«10»
DST_STOP_ORDINAL_DAY=«2»
DST_STOP_DAY_OF_WEEK=«0»
DST_STOP_TIME=«120»
LOCAL_TIME_ZONE_POSIX=»»
## Syslog Settings
SYSLOG_ADDR=«10.1.1.50»
SYSLOG_PORT=«514»
SYSLOG_EVENT_SIP=«6»
SYSLOG_EVENT_CFG=«6»
SYSLOG_EVENT_VOIP=«6»
SYSLOG_EVENT_TEL=«6»
## Provisioning Settings
OPTION66_ENABLE=«Y»
OPTION66_REBOOT=«N»
PROVISION_ENABLE=«Y»
CFG_STANDARD_FILE_PATH=«tftp://10.1.1.50/panasonic/
CFG_PRODUCT_FILE_PATH=«tftp://10.1.1.50/panasonic/KX-UT123RU.cfg»
CFG_MASTER_FILE_PATH=«tftp://10.1.1.50/panasonic/master.cfg»
## DNS Settings
DNS_QRY_PRLL=«Y»
DNS_PRIORITY=«N»
DNS1_ADDR=«10.1.1.1»
DNS2_ADDR=»»
## HTTP Settings
HTTPD_PORTOPEN_AUTO=«Y»
HTTP_VER=«1»
HTTP_USER_AGENT=«Panasonic_
HTTP_SSL_VERIFY=«0»
CFG_ROOT_CERTIFICATE_PATH=»»
## XML Application Settings
XML_HTTPD_PORT=«6666»
XMLAPP_ENABLE=«Y»
XMLAPP_USERID=»»
XMLAPP_USERPASS=»»
XMLAPP_START_URL=»»
XMLAPP_INITIAL_URL=» »
XMLAPP_INCOMING_URL=»»
XMLAPP_TALKING_URL=»»
XMLAPP_MAKECALL_URL=»»
XMLAPP_CALLLOG_URL=»»
XMLAPP_IDLING_URL=»»
XMLAPP_LDAP_URL=«10.1.1.50/provisioning/panasonic-phonebook.xml»
XMLAPP_LDAP_USERID=»»
XMLAPP_LDAP_USERPASS=»»
PHONE_NUMBER_1=«168»
SIP_URI_1=«168»
LINE_ENABLE_1=«Enabled»
PROFILE_ENABLE_1=«Enabled»
SIP_AUTHID_1=«168»
SIP_PASS_1=«SIP_PWD»
Grandstream GXP-1400
Параметры этих телефонов хранятся в одном xml-файле с именем cfg
P1650 – отвечает за веб-интерфейс для управления телефоном (0 – HTTPS, 1 – HTTP)
P47 – адрес SIP сервера для подключения.
Если конфигурация хранится в текстовом файле, параметры не требуют никакой группировки и идут в любом порядке. Строки, начинающиеся с #, рассматриваются как комментарии.
Yealink T19 и T21
Аппараты этих моделей поддерживают индивидуальные конфигурационные файлы для устройств и общие для моделей. В моём случае, мне пришлось общие параметры разместить в файлах y000000000031.cfg и y000000000034.cfg соответственно. Индивидуальные конфигурационные файлы именуются в соответствии с MAC-адресом: 00112233aabb.cfg.
Настройки для yealink’ов хранятся в текстовом формате. Из обязательных требований только наличие в первой строке версии файла, в формате #!version:1.0.0.1.
Все параметры записываются в виде параметр = значение. Комментарии должны начинаться с символа «#». Имена параметров и их значения можно найти в документации на сайте производителя.
В итоге, благодаря замечательной функции auto-provision, предусмотренной в упомянутых мной телефонах, с подключением к сети новых аппаратов не возникло никаких проблем. Всё свелось к выяснению MAC-адреса телефона и генерации конфигурационного файла по шаблону.
Надеюсь, что вы дочитали до конца и извлекли пользу из прочитанного.
Askozia. Как работает Autoprovisioning Plug & Play
При разработке АТС Askozia мы столкнулись с задачей по автоматической настройке телефонов и решили ее по-своему.
Autoprovisioning Plug & Play (PnP), эту технологию поддерживают многие производители — Yealink, Snom, Fanvil.
Основные достоинства автоматической настройки телефонов:
Пример из опыта
У нас был интересный кейс при внедрении телефонии одному из наших клиентов. Основная проблема заключалась в том, что клиент находился в другом городе. При этом, одним из требований значилось то, что распаковав посылку с телефонами и включив их в сеть телефония должна сразу работать.
Решена задача была относительно просто. Клиент зарезервировал для нас ряд IP адресов. Мы настроили оборудование у себя в офисе и упаковав в коробку выслали курьерской службой.
При использовании автоматической настройки аппаратов задача стала бы намного проще.
Упрощенная схема работы PnP
В ответ ожидает получить ответ NOTIFY с инструкциями по настройке.
Наиболее важные и интересные заголовки
В NOTIFY сообщении наиболее ценная информация находится в теле сообщения. Как правило, в теле необходимо передать ссылку на получение конфигурационного файла:
Если в сети работает несколько PnP серверов, то кто первый кто ответит устройству, будет его настраивать.
Телефон при получении NOTIFY пытается выполнить запрос по указанному адресу.
Пример реализации сервера доступен на github https://github.com/boffart/MikoServerPnP
Для работы этого сервера PnP необходимо:
Возможности сервера PnP
Использование PnP сервера позволяет использовать «Одноразовые ссылки».
Допустим мы отдаем файл по ссылке:
Обычная прямая ссылка на файл. Очевидно, что это НЕ безопасно. Зная MAC адрес телефона и адрес сервера можно попробовать получить конфиг с логинами и паролями.
При работе с PnP сервером возможно для каждого SUBSCRIBE запроса отдавать уникальную ссылку:
Пример формулы для расчета хэш:
PID — это ID процесса PnP сервера. Его узнать может только root.
Подобрать такой hash практически не реально.
Если происходит обращение по недействительной ссылке, то баним вредителя.
Reboot Yealink средствами NOTIFY без авторизации
Да, да, именно без авторизации.
От такой возможности не смог закрыть устройство на актуальной версии прошивки.
Достаточно выполнить команду
И телефон уйдет в ребут. Повесив такую команду в cron можно добиться ужасающего эффекта. Конечно это возможно если мы знаем IP адрес и SIP порт телефона.
Настройка сервера PnP
Располагаются в settings/settings.json
Белый список MAC
Можно описать в settings/mac_white.conf. Разделитель — перевод строки.
Черный список MAC
Можно описать в settings/mac_black.conf. Разделитель — перевод строки.
Конфигурационные файлы телефонов
Необходимо поместить в каталог configs.
Средствами PnP сервера есть возможность создать простейшие конфиги для Yeakink и Snom: