Настройка AutoProvision for Yealink

О боже, тем кто использует что-то облачное, в частности данная компания где я работают по каким-то причинам до меня зачем-то в качестве телефонии выбрала этот Гравител. И с тех самых порт – работа телефонии — это сущая головная боль. Я уже писал об этом в опубликованных заметках дабы служба поддержки Гравител наконец-таки обратила внимание, что не все так хорошо. Но увы этого пока не происходит. Сейчас мы ведем переписку с ихними инженерами: пусть будут имена: Даниил Николаев, Ильшат Лукманов и другие. Которые как мне кажется уже не знают, что рекомендовать: то отмените все кодеки оставьте только PCMU на всех базовых станциях (у меня это Gigaset A540 IP и Yealink T21P E2) хотя по ихним настройкам из Wiki все настроено, все порты из VLAN 10 где находятся все телефонные аппараты доступ разрешен.

Теперь просят включить настройки STUN, я их включаю, но нет связи между телефонами где он включен. Порт 3478 открыт. Но вот из всего этого, мое терпение лопнуло, когда я менял настройки кодеков на более чем 50 аппаратах. Я решил, что во что бы то ни стало нужно разобраться как настраивается Auto Provisioned пока для Yealink и я это сделал.

Шаг №1: Сегодня я покажу, как я в компании настроил Auto Provision для телефонных аппаратов Yealink T21P E2. Для чего это, просто здесь у каждого сотрудника стоит данный аппарат, а уже через него подключен компьютер. Сделано это для разграничения по VLAN

  • Порт Internet – это VLAN 10 (тегированный трафик)
  • Порт PC – это VLAN 4 (нетегированный трафик)

В составлении конфигурационных файлов для Auto Provision использовался мануал: mcgrp.ru-Vxr85DxE.pdf

В наличии:

  • Телефонный аппарат: Yealink T21P E2

Формат имени конфигурационного файла общих настроек для каждой модели свой.

Phone ModelCommon CFG File
Yealink T21P E2 (with PoE)y000000000052.cfg
Yealink T21 E2 (no PoE)y000000000052.cfg
Yealink SIP-T28Py000000000000.cfg
Yealink SIP-T26Py000000000004.cfg
Yealink SIP-T22Py000000000005.cfg
Yealink SIP-T21Py000000000034.cfg
Yealink SIP-T20Py000000000007.cfg
Yealink SIP-T19Py000000000031.cfg
Yealink SIP-T19P E2y000000000053.cfg
Yealink SIP-T40Py000000000054.cfg
Yealink SIP-T46Gy000000000028.cfg
Yealink SIP-T42Gy000000000029.cfg
Yealink SIP-T41Py000000000036.cfg

Шаг №2: В офисной локальной сети поднимаем или задействуем виртуальную/физическую систему под управлением Ubuntu 18.04 Server и поднимаем на ней сервис tftpd-hpa

12345678910111213141516171819ekzorchik@srv-ftp:~$ sudo mkdir /media/pxeboot ekzorchik@srv-ftp:~$ sudo chmod -R 777 /media/pxeboot/ ekzorchik@srv-ftp:~$ sudo chown -R nobody:nogroup /media/pxeboot/ ekzorchik@srv-ftp:~$ sudo cp /etc/default/tftpd-hpa /etc/default/tftpd-hpa.backup ekzorchik@srv-ftp:~$ sudo nano /etc/default/tftpd-hpa # /etc/default/tftpd-hpa TFTP_USERNAME=”tftp” TFTP_DIRECTORY=”/media/pxeboot” TFTP_ADDRESS=”0.0.0.0:69″ TFTP_OPTIONS=”–secure –create –verbose”

На заметку:

  • “--create” – включаем запись
  • “--verbose” – включаем логирование
  • “--secure” – Разрешить загрузку файлов на TFTP-сервер
1ekzorchik@srv-ftp:~$ sudo service tftpd-hpa restart && sudo service tftpd-hpa status | head -n 5

Шаг №3: В каталог /media/pxeboot нужно положить следующие файлы

Где

  • 805ec07aa38d.cfg – MAC-адрес телефонного аппарата
  • T21P_E2-52.84.14.5.rom – файл прошивки для данного телефонного аппарата
  • y000000000052.cfg – общий конфигурационный файл для всех телефонных аппаратов серии Yealink T21P E2

На заметку: либо y000000000000.boot либо 805ec07aa38d.boot, но я использую первое.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123ekzorchik@srv-ftp:~$ sudo nano /media/pxeboot/y000000000000.boot #!version:1.0.0.1 ## The header above must appear as-is in the first line include:config “y000000000052.cfg” include:config “$mac.cfg” overwrite_mode = {$yealink_overwrite_mode} ekzorchik@srv-ftp:~$ sudo nano /media/pxeboot/805ec07aa38d.cfg #!version:1.0.0.1 ### This file is the exported MAC-all.cfg. account.1.auth_name = <login> account.1.codec.pcmu.priority = 1 account.1.codec.pcma.enable = 0 account.1.codec.pcma.priority = 0 account.1.codec.g729.enable = 0 account.1.codec.g729.priority = 0 account.1.codec.g722.enable = 0 account.1.codec.g722.priority = 0 account.1.enable = 1 account.1.label = <number> account.1.sip_server.1.address = firma.gravitel.ru account.1.user_name = <login> account.1.password = <password> linekey.1.label = Перехват linekey.1.type = 13 linekey.1.value = *63 sip.listen_port = 5070 ### Static Configuration ### static.network.dhcp_host_name = SIP-T21P_<number> ekzorchik@srv-ftp:~$ ekzorchik@srv-ftp:~$ sudo nano /media/pxeboot/y000000000052.cfg #!version:1.0.0.1 #firmware.url = tftp://192.168.9.123/T21P_E2-52.84.14.5.rom # Включить Auto Provisioning: auto_provision.mode = 1 # Адрес сервера Auto Provisioning (tftp) auto_provision.server.url = 192.168.9.123 network.internet_port.type = 0 network.bridge_mode = 1 network.web_server_type = 3 #Устанавливаем свой пароль на вход через Web и телефон security.user_name.admin = admin security.user_password = admin:712mbddr@ #Выключить появление логотипа Yealink на телефоне phone_setting.lcd_logo.mode = 0 #Подсветка phone_setting.backlight_time = 1800 #https://IP&DNS – user&pass – Account – Rasshirennie – Session Expires (default: 1800) account.1.session_timer.expires = 180 # Укажем NTP сервер: local_time.ntp_server1 = polygon.com local_time.interval = 60 # Назначим Time Offset (Московское время) local_time.time_zone = +3 local_time.time_zone_name = Russia(Moscow) lang.wui = Russian lang.gui = Russian network.port.max_rtpport = 30000 network.port.min_rtpport = 10000 network.vlan.internet_port_enable = 1 network.vlan.internet_port_vid = 10 network.vlan.dhcp_enable = 1 ekzorchik@srv-ftp:~$ sudo chown -R nobody:nogroup /media/pxeboot/

Шаг №4: Далее в настройках DHCP сервиса настроить запись, у меня DHCP сервис развернут на домен контроллерах под управлением Windows Server 2012 R2 Std

On srv-dc1

Win + X – Control Panel – Administrative Tools – DHCP и в пуле VLAN 10 (Scope [192.168.10.0] VLAN 10) – Scope Options – Configure Options — добавляю запись

  • 066 Boot Server Host Name: отмечаю галочкой
  • String value: прописываю IP&DNS Ubuntu 18.04 Server где развернут сервис tftpd-hpa

Шаг №5: Теперь перезагружаю телефонный аппарат и настройки применяются, кстати для отладки что аппарат запрашивает можно наблюдать в логах вот таким вот образом:

123456789ekzorchik@srv-ftp:~$ sudo tail -f /var/log/syslog Jun 18 16:11:35 srv-ftp in.tftpd[26431]: RRQ from 192.168.10.148 filename 805ec07aa38d.boot Jun 18 16:11:35 srv-ftp in.tftpd[26433]: RRQ from 192.168.10.148 filename y000000000000.boot Jun 18 16:11:36 srv-ftp in.tftpd[26434]: RRQ from 192.168.10.148 filename y000000000052.cfg Jun 18 16:11:36 srv-ftp in.tftpd[26435]: RRQ from 192.168.10.148 filename 805ec07aa38d.cfg

Шаг №6: Проверяю, что теперь на телефонный аппарат могу зайти по IP адрес из VLAN 10, а для авторизации логин admin, а пароль уже не дефолтный admin, а тот который я задал в глобальном конфигурационном файле y000000000052.cfg. Все успешно.

Шаг №7: А если телефонный аппарат без поддержки PoE: Yealink T21 E2 (5B – 0.6A)

  • MAC Address: 80:5E:C0:A1:5F:94

Включил его и увидел в логах на ftp, какие файлы он запрашивает

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051Jun 18 13:24:31 srv-ftp in.tftpd[25985]: RRQ from 192.168.10.6 filename 805ec0a15f94.boot Jun 18 13:24:31 srv-ftp in.tftpd[25986]: RRQ from 192.168.10.6 filename y000000000000.boot Jun 18 13:24:31 srv-ftp in.tftpd[25987]: RRQ from 192.168.10.6 filename y000000000052.cfg Jun 18 13:24:31 srv-ftp in.tftpd[25988]: RRQ from 192.168.10.6 filename 805ec0a15f94.cfg ekzorchik@srv-ftp:~$ sudo nano /media/pxeboot/805ec0a15f94.cfg #!version:1.0.0.1 ### This file is the exported MAC-all.cfg. account.1.auth_name = <sip_number> account.1.codec.pcmu.priority = 1 account.1.codec.pcma.enable = 0 account.1.codec.pcma.priority = 0 account.1.codec.g729.enable = 0 account.1.codec.g729.priority = 0 account.1.codec.g722.enable = 0 account.1.codec.g722.priority = 0 account.1.enable = 1 account.1.label = <number> account.1.sip_server.1.address = firma.gravitel.ru account.1.user_name = <login> account.1.password = <password> linekey.1.label = Перехват linekey.1.type = 13 linekey.1.value = *63 sip.listen_port = 5070 ### Static Configuration ### static.network.dhcp_host_name = SIP-T21_<number>

После выключаю/включаю телефон или же выключаю/включаю интерфейс на Mikrotik и настройки применяются к телефонному аппарату. И да они применились. Звонок с данного аппарата и на данным аппарат проходит, слышимость отличная. Ну по крайней мере в рамках работы облачной телефонии от Гравител.

Итого в моем случае мне нужно вести таблицу Excel дабы знать какие телефоны участвуют.

  • Mac адрес устройства
  • Его внутренний номер в облачной телефонии от Гравител
  • Активирована ли настройка Auto Provisioned

На заметку: А потом у меня случился казус с аппаратом Yealink T21 E2 он перестал видеть настройки Auto Provisioned, хоть и пишет на телефоне “Отправка Provisioned запроса”, но настройки не получает. В логах на /var/log/syslog ничего нет, в аудите фаервола тоже ничего нет. Прямо мистика какая. Подключаю аппарат Yealink T21P E2 и он сразу же получает настройки по сети. Для подключения использую тот же самый порт на Mikrotik(е). Зашел на сам аппарат через браузер: Настройки – Autoprovision – указал IP (Сервер настроек: 192.168.9.123) и нажал обновить (Обновить настройки сейчас) и после в логах на tftp увидел запрашиваемые данные:

123456789Jun 18 17:37:45 srv-ftp in.tftpd[26675]: RRQ from 192.168.10.187 filename 805ec0a15f94.boot Jun 18 17:37:45 srv-ftp in.tftpd[26677]: RRQ from 192.168.10.187 filename y000000000000.boot Jun 18 17:37:45 srv-ftp in.tftpd[26678]: RRQ from 192.168.10.187 filename y000000000052.cfg Jun 18 17:37:45 srv-ftp in.tftpd[26679]: RRQ from 192.168.10.187 filename 805ec0a15f94.cfg Jun 18 17:37:48 srv-ftp in.tftpd[26680]: RRQ from 192.168.10.187 filename T21P_E2-52.84.14.5.rom

И настройки с конфигурационного файла поднятулись. Видимо что-то с DNS записью 66, а она на DNS в винде прописана или работой DNS – это мелочи.

Итого я для себя разобрал, как настраивается Auto Provision для телефонных аппаратов Yealink. На этом у меня пока все, с уважением автор блога Олло Александр aka ekzorchik.