Иван Санников
30.12.2019
1158

Настройка провиженинга телефонов с помощью модуля phoneprov на примере телефона Yealink.

В рамках данной статьи будет рассмотрен модуль Asterisk phoneprov. А также настройка на примере телефона Yealink. Данный модуль позволяет на основе шаблонов строить конфигурационные файлы под провиженинг телефонов. Для функционирования данной возможно необходимо собрать Asterisk c модулем res_phoneprov.so. Исходные данные: — Серверная ОС: Centos 7 — Asterisk версии 17 — Телефонный аппарат Yealink SIP T22 […]

В рамках данной статьи будет рассмотрен модуль Asterisk phoneprov. А также настройка на примере телефона Yealink. Данный модуль позволяет на основе шаблонов строить конфигурационные файлы под провиженинг телефонов. Для функционирования данной возможно необходимо собрать Asterisk c модулем res_phoneprov.so.

Если в используемой сборке Asterisk в modules.conf выставлен параметр autoload=no. рекомендуется в явном виде прописать подгрузку модуля  res_phoneprov.so
прописывание загрузки модуля
прописывание загрузки модуля

Исходные данные:
— Серверная ОС: Centos 7
— Asterisk версии 17
— Телефонный аппарат Yealink SIP T22

Все настройки производятся в конфигурационных файлах Asterisk. Затрагиваются следующие файлы:
— manager.conf
— http.conf
— users.conf
— phoneprov.conf

Файл manager.conf необходимо чтобы следующие параметры были включены в разделе general:

enabled = yes
webenabled = yes
файл manager.conf
файл manager.conf

В файле http.conf также в разделе general нужно указать следующие параметры:

enabled=yes
bindaddr=192.168.170.187 — указывается адрес сервера Asterisk
bindport=8088 — указывается порт на котором предполагается работа встроенного веб-сервера Asterisk, по-умолчанию 8088

файл http.conf
файл http.conf

Далее необходимо настроить модуль res_phoneprov, все его настройки производятся в файле phoneprov.conf

В статье все файлы для которых явно не указан путь находятся в директории /etc/asterisk

Все шаблоны конфигурационных файлов телефонных аппаратов, а также прошивки размещаются в директории /var/lib/asterisk/phoneprov. В файле phoneprov.conf все пути прописываются относительно указанной директории. В этом файле прописываются статические файлы, например, прошивки, конфигурационные файлы общие для модели телефонных аппаратов, а также шаблоны имен динамически генерируемых файлов

в разделе general файла phoneprov.conf прописываются следующие параметры:

  • default_profile=yealink — какой профиль использовать по-умолчанию. если он не указан в явном виде в файле users.conf
  • serveraddr=192.168.170.187 — задание переменной ${SERVER}, необходимой для добавления в динамически генерируемые файлы
  • serverport=5060 — задание переменной ${SERVER_PORT}, необходимой для добавления в динамически генерируемые файлы

Далее необходимо описать профили аппаратов, в данном примере для телефонов модели Yealink SIP-T22
[yealink]

  • mime_type => text/xml, text/plain — тип файлов конфигурации
  • static_file => 7.73.0.50.rom — файл прошивки
  • static_file => y000000000005.cfg — конфигурационный файл, общий для всех телефонов настраиваемой модели
  • ${MAC}.cfg => yealink_mac.cfg — маска имени динамически генерируемых файлов, а также указание из какого шаблона их генерировать
файл phoneprov.conf
файл phoneprov.conf
В примере файл носит имя yealink_mac.cfg — но можно использовать любое имя файла

Затем необходимо загрузить файл прошивки, общий конфигурационный файл и шаблон индивидуального конфигурационного файла в директорию /var/lib/asterisk/phoneprov

Общий файл содержит довольно много параметров настройки телефонных аппаратов, ранее в другой статье они уже упоминались: https://voxlink.ru/kb/ip-phones-configuration/yealink/nastrojka-provisioninga-telefonov-yealink-t21/

Но шаблон под индивидуальный файл приведем ниже (показан необходимый минимум).

 account.1.enable = 1
account.1.label = ${USERNAME}
account.1.display_name = ${USERNAME}
account.1.auth_name = ${USERNAME}
account.1.password = ${SECRET}   
account.1.user_name = ${USERNAME}
account.1.sip_server.2.address = ${SERVER}
account.1.sip_server_port = ${SERVER_PORT}
account.1.sip_server_host = ${SERVER}
account.1.outbound_proxy_enable = 0
account.1.outbound_host =
account.1.outbound_port = ${SERVER_PORT}
account.1.transport = 0
account.1.sip_server.1.expires = 180

Здесь переменные ${USERNAME}, ${SECRET}, ${SERVER}, ${SERVER_PORT}  это переменные зарезервированные модулем res_phoneprov и вместо них при генерации файла будут подставляться необходимые данные.

Далее необходимо завести внутренние номера в  файле users.conf
Примерный набор параметров:

[101]
username = 101
fullname = Test
secret = MKIJKLSeio5u4857jk
macaddress = 00156527bc30
autoprov = yes
context = test
profile=yealink
host = dynamic
qualify = yes

Для корректной работы res_phoneprov необходимы следующие опции:

  • autoprov=yes — указывает модулю, что данный номер должен быть заведен на телефоне провиженингом
  • macaddress — указывается MAC телефонного аппарата на котором должен быть зарегистрирован номер
  • profile — имя профиля из файла phoneprov.conf, который используется для автопровиженинга телефона
  • username — из этого параметра phoneprov берет аккаунт, который необходимо зарегистрировать на телефонном аппарате

Для применения настроек рекомендуется выполнить команды:
sip reload и module reload res_phoneprov.so, если нет  сообщения о каких-либо ошибках, то  значит все настроено корректно. Для просмотра настроек модуля провиженинга используется команда: phoneprov show routes, она выведет список файлов настроенных в phoneprov.conf

результат вывода команды phoneprov show routes
результат вывода команды phoneprov show routes

Далее необходимо указать для телефонов путь к серверу провиженинга, вообщем виде он выглядит следующим образом: http://asterisk_ip:8088/phoneprov
Передать его на телефоны можно, например, с помощью option 66 DHCP-сервера.

На этом настройка провиженинга телефонов с помощью модуля res_phoneprov.so завершена.

Подписаться
Уведомление о
guest
0 Комментарий
Inline Feedbacks
View all comments

Остались вопросы?

Я - Першин Артём, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.

VoIP оборудование

ближайшие курсы

ближайшие Вебинары

ONLINE

10 доводов в пользу Asterisk

Распространяется бесплатно.

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

Безопасен в использовании.

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

Надежен в эксплуатации.

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

Гибкий в настройке.

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

Имеет огромный функционал.

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

Интегрируется с любыми системами.

То, что Asterisk не умеет сам, он позволяет реализовать за счет интеграции. Это могут быть интеграции с коммерческими телефонными станциями, CRM, ERP системами, биллингом, сервисами колл-трекинга, колл-бэка и модулями статистики и аналитики.

Позволяет телефонизировать офис за считанные часы.

В нашей практике были проекты, реализованные за один рабочий день. Это значит, что утром к нам обращался клиент, а уже через несколько часов он пользовался новой IP-АТС. Безусловно, такая скорость редкость, ведь АТС – инструмент зарабатывания денег для многих компаний и спешка во внедрении не уместна. Но в случае острой необходимости Asterisk готов к быстрому старту.

Отличная масштабируемость.

Очень утомительно постоянно возвращаться к одному и тому же вопросу. Такое часто бывает в случае некачественного исполнения работ или выбора заведомо неподходящего бизнес-решения. С Asterisk точно не будет такой проблемы! Телефонная станция, построенная на Asterisk может быть масштабируема до немыслимых размеров. Главное – правильно подобрать оборудование.

Повышает управляемость бизнеса.

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

Снижает расходы на связь.

Связь между внутренними абонентами IP-АТС бесплатна всегда, независимо от их географического расположения. Также к Asterisk можно подключить любых операторов телефонии, в том числе GSM сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.