Массовая настройка IP-телефонов (Auto Provisioning) через TFTP/HTTP
Кошмар сисадмина: нужно вручную настроить 150 телефонов в новом офисе
Компания переезжает в новый бизнес-центр, закуплено 100 новеньких IP-телефонов Yealink или Grandstream в коробках. Если настраивать каждый аппарат вручную через веб-интерфейс (распаковать, подключить к ПК, зайти по IP, ввести логин, пароль, сервер, адрес книги, время), у системного администратора уйдет целая рабочая неделя рутинного труда.
Сравнение ручной настройки и технологии Auto Provisioning
| Параметр | Ручная настройка через Web каждого телефона | Автопровижининг (Auto Provisioning) |
|---|---|---|
| Время на 100 телефонов | ~ 25–30 рабочих часов | 5 минут (нужно только воткнуть кабель питания) |
| Риск опечатки в пароле | Высокий (человеческий фактор) | 0% (генерация из единого файла базы) |
| Смена настроек в будущем | Придется снова заходить на 100 аппаратов | Изменили 1 файл на сервере → все телефоны обновились сами |
Как работает Auto-Provisioning простыми словами?
Вы достаете новый телефон из коробки и просто втыкаете в него сетевой провод с PoE. Телефон при включении запрашивает IP-адрес у офисного DHCP-сервера. Роутер через специальную Опцию 66 (Option 66) сообщает телефону: «Файлы твоей конфигурации лежат на сервере http://192.168.1.5/configs/». Телефон скачивает файл со своим MAC-адресом (например, 001565a1b2c3.cfg), сам прописывает SIP-логин, пароль, кнопки быстрых номеров и сразу готов к работе!
Пошаговый план настройки автопровижининга (на примере Yealink)
- Шаг 1. Разверните легкий HTTP/TFTP сервер:
В качестве сервера раздачи конфигов подойдет обычный Nginx/Apache на сервере Asterisk или встроенный TFTP:
# Создаем папку для конфигураций телефонов на веб-сервере: sudo mkdir -p /var/www/html/provisioning/ sudo chown -R www-data:www-data /var/www/html/provisioning/ - Шаг 2. Создайте персональный файл конфигурации для телефона:
Имя файла должно строго соответствовать MAC-адресу телефона в нижнем регистре с расширением
.cfg(например:0015651234ab.cfg):#!version:1.0.0.1 # Настройка учетной записи SIP Номер 101: account.1.enable = 1 account.1.label = 101 - Ivan account.1.display_name = Ivan Ivanov account.1.auth_name = 101 account.1.user_name = 101 account.1.password = SuperSecretPass123 account.1.sip_server.1.address = 192.168.1.5 account.1.sip_server.1.port = 5060 # Настройки времени и NTP: local_time.time_zone = +3 local_time.ntp_server1 = ru.pool.ntp.org # Ссылка на корпоративную телефонную книгу (XML): remote_phonebook.data.1.url = http://192.168.1.5/provisioning/phonebook.xml remote_phonebook.data.1.name = Компания - Шаг 3. Настройте Option 66 на DHCP сервере (MikroTik / Windows Server / Keentic):
В настройках DHCP пула вашей сети укажите Option 66 (TFTP Server Name / Provisioning URL) со значением
http://192.168.1.5/provisioning/.# Настройка Option 66 на MikroTik CLI: /ip dhcp-server option add name=yealink_prov code=66 value="'http://192.168.1.5/provisioning/'" /ip dhcp-server network set [find] dhcp-option=yealink_prov
Безопасность: Файлы .cfg содержат пароли от SIP-номеров в открытом виде. Закройте доступ к папке /provisioning/ веб-сервера фаерволом, разрешив скачивание файлов только из диапазона локальной подсети IP-телефонов (Voice VLAN)!
Частые вопросы (FAQ)
Что такое общий файл y000000000000.cfg у Yealink?
Это глобальный мастер-файл общих настроек (Common Config). Параметры из него (например, адрес сервера времени, мелодия звонка, логотип компании на экране) применяются сразу ко всем телефонам линейки.
Как заставить телефон немедленно обновить настройки без перезагрузки?
Сервер Asterisk может отправить на телефон специальный скрытый SIP-пакет <code>SIP NOTIFY</code> с командой <code>Event: check-sync</code>. Телефон получит команду и мгновенно перечитает конфиг по HTTP.
Что делать, если DHCP сервер в филиале нельзя перенастроить под Option 66?
Воспользуйтесь бесплатным облачным сервисом производителя <b>Yealink RPS (Redirection and Provisioning Service)</b>: при первом включении телефон сам связывается с облаком Yealink и получает ссылку на ваш сервер конфигов.
Можно ли обновлять прошивку (Firmware) телефонов через Auto Provisioning?
Да! Добавьте в конфигурационный файл строку с ссылкой на файл прошивки: <code>firmware.url = http://192.168.1.5/firmware/T31P-v86.rom</code>, и все 100 телефонов централизованно обновят ПО ночью.