Рассмотрим пример использования autoprovision в телефонах yealink. Для автоматической настройки нам потребуется установленный dhcp сервер, а так же сервер tftp. Автоматическая настройка будет полезна для большого парка телефонов. Так же взяв за основу данную инструкцию можно ее адаптировать под большинство телефонов.
Первое что необходимо сделать это, установить и настроить dhcp сервер. Данную процедуру будем производить непосредственно на VOIP атс FreePBX, как ее установить мы рассказывали ранее в статье Установка asterisk(FreePBX). Затем мы подготовим конфигурационные файлы для телефонов.
Все манипуляции проходят на FreePBX дистро.
Установка dhcp
1 |
yum install dhcp |
После установки потребуется указать сетевой интерфейс на котором будет запущен dhcp сервер. Откроем файл:
1 |
nano /etc/sysconfig/dhcpd |
Добавим в него DHCPDARGS=eth3, где eth3 название интерфейса.

Затем откроем для редактирования конфигурационный файл
1 |
nano /etc/dhcp/dhcpd.conf |
Вставляем в него следующее:
1 2 3 4 5 6 7 8 9 10 11 |
subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.100 192.168.0.110; option domain-name-servers 192.168.0.2, 192.168.0.1; option domain-name "8.8.8.8"; option tftp-server-name "192.168.0.1"; option routers 192.168.0.1; option broadcast-address 192.168.0.255; default-lease-time 600; max-lease-time 7200; } host SIP-T27G { hardware ethernet 80:5E:C0:28:7B:60; fixed-address 192.168.0.253; } |

В данной конфигурации мы задаем настройки подсети.
subnet обозначает сеть, в области которой будет работать данная группа настроек;
range — диапазон, из которого будут браться IP-адреса;
option domain-name-servers — через запятую перечисленные DNS-сервера;
option domain-name — суффикс доменного имени;
option routers — шлюз по умолчанию;
option broadcast-address — адрес сети для широковещательных запросов;
default-lease-time, max-lease-time — время и максимальное время в секундах, на которое клиент получит адрес, по его истечению будет выполнено продление срока.
Пример кода для резервирования ip адреса:
1 |
host SIP-T27G { hardware ethernet 80:5E:C0:28:7B:60; fixed-address 192.168.0.253; } |
Резервирование ip адреса не обязательно.
Стартуем сервис dhcpd и добавляем в автозагрузку:
1 2 |
systemctl start dhcpd systemctl enable dhcpd |
Установка tftp
Устанавливаем пакет:
1 |
yum install tftp-server xinetd -y |
Добавляем в автозагрузку и запускаем:
1 2 3 4 |
systemctl enable xinetd systemctl enable tftp systemctl start xinetd systemctl start tftp |
Папка tftp сервера расположена в корневом разделе файловой системы и называется tftpboot.
Конфигурационный файл телефона
Ниже представлен минимальный конфиг телефона с одним настроенным аккаунтом. Да
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
#!version:1.0.0.1 #Включение или отключения аккаунта 1, 0-Выключен (умолчание), 1-Включен; account.1.enable = 1 #Лейбл аккаунта 1 отображаемый на экране. account.1.label = 111 #Отображаемое имя аккаунта 1. account.1.display_name = ТЕСТ #Имя пользователя и пароль для авторизации на sip сервере. account.1.auth_name = 111 account.1.password = 255a53d90d5c13874813cf9adc9f80aa #Имя регистрации. account.1.user_name = 111 #Адрес sip сервера 1. account.1.sip_server_host = 192.168.0.1 #Порт подключения к sip серверу, по умолчанию 5060. account.1.sip_server_port = 5060 #Транспортный протокол 0-UDP;1-TCP;2-TLS;3-DNS-NAPTR account.X.sip_server.Y.transport_type = 0 #Период регистрации account.X.sip_server.1.expires = 3600 #Количество запросов account.X.sip_server.1.retry_counts = 3 #Режим (IPv4/IPv6) 0-IPv4;1-IPv6;2-IPv4&IPv6 network.ip_address_mode = 0 #Настройка ip адреса 0-DHCP;2-Static IP Address network.internet_port.type = 2 #IP адресс телефона network.internet_port.ip = 192.168.0.252 #Маска подсети network.internet_port.mask = 255.255.255.0 #Шлюз network.internet_port.gateway = 192.168.0.1 #Статический DNS 0-Off;1-On network.static_dns_enable = 1 #Основной DNS network.primary_dns = 192.168.0.1 #Дополнительный DNS network.secondary_dns = 192.168.0.1 #Часовой пояс local_time.time_zone = +3 #Переход на летнее время 0-Не переходить;1-Переходить;2-Автоматический режим local_time.summer_time = 0 #Приоритет получения NTP с DHCP-сервера 0-Высокий;1-Низкий local_time.manual_ntp_srv_prior = 0 #Адрес NTP сервера 1 local_time.ntp_server1 = cn.pool.ntp.org #Адрес NTP сервера 1 local_time.ntp_server2 = pool.ntp.org #Период синхронизации local_time.interval = 1000 #Формат времени 0-12 часовой;1-24 часовой local_time.time_format = 1 #Формат даты 0-WWW MMM DD;1-DD-MMM-YY; 2-YYYY-MM-DD; 3-DD/MM/YYYY; 4-MM/DD/YY; 5-DD MMM YYYY; 6-WWW DD MMM local_time.date_format = 0 |

Все конфиги телефонов располагаем в папке tftp сервера, по умолчанию она /tftpboot. Данные файлы следует называть по mac адресам устройств(mac.cfg). На этом можно закончить, перезагрузить или подключить новый телефон и проверить работоспособность.
подскажите как пароль через конфиг поменять?
Какая команда?
Судя по официальному форуму производителя потребуется добавить в конфиг следующие строки:
security.user_name.admin = admin
security.user_password = admin:
либо
static.security.user_name.admin = admin:
static.security.user_password = admin:
либо
security.user_password = admin:
security.user_name.admin = admin:
Подскажите после двоеточия «:» что нужно ставить?
Пароль
security.user_password = admin:admin123
security.user_password = user:user123
Скажите, а есть список всех параметров? Мне необходимо указать адрес удаленной телефонной книги.
Про удаленную книгу не подскажу, а локальную точно можно!
Пример:
# Specify the access URL of the custom local contact file.
local_contact.data.url=tftp://192.168.1.100/contact.xml
remote_phonebook.data.1.url = 10.1.1.50/provisioning/yealink-phonebook.xml
подскажите, а можно ли для разных сетей настроить разный автопровижн?
вендор yealink стоит
В плане разных сетей? Автопровижн подхватывается от dhcp сервера, указанием опций. Либо указывается статичный адрес в настройках. Но если разные сети могут ходить друг другу то проблем не будет
Добрый день.
В настройках телефона, во вкладке Auto Provision что указать, какие поля заполнить? Почему-то у меня авто не работает, точнее я не могу сказать что работает. Остаются все параметры, что я прописал вручную в самом телефоне.
Смотря как настраиваете, если развернут tftp сервер, то следует указать адрес сервера с конечной папкой конфигов, например tftp://ip-tftp-сервера/yealink