О боже, тем кто использует что-то облачное, в частности данная компания где я работают по каким-то причинам до меня зачем-то в качестве телефонии выбрала этот Гравител. И с тех самых порт – работа телефонии — это сущая головная боль. Я уже писал об этом в опубликованных заметках дабы служба поддержки Гравител наконец-таки обратила внимание, что не все так хорошо. Но увы этого пока не происходит. Сейчас мы ведем переписку с ихними инженерами: пусть будут имена: Даниил Николаев, Ильшат Лукманов и другие. Которые как мне кажется уже не знают, что рекомендовать: то отмените все кодеки оставьте только PCMU
на всех базовых станциях (у меня это Gigaset A540 IP и Yealink T21P E2
) хотя по ихним настройкам из Wiki
все настроено, все порты из VLAN 10
где находятся все телефонные аппараты доступ разрешен.
- Настройка Yealink T21 E2 на работу с АТС Гравител
- Проблемы при использовании виртуальной АТС от Гравител
Теперь просят включить настройки 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 Model | Common CFG File |
Yealink T21P E2 (with PoE) | y000000000052.cfg |
Yealink T21 E2 (no PoE) | y000000000052.cfg |
Yealink SIP-T28P | y000000000000.cfg |
Yealink SIP-T26P | y000000000004.cfg |
Yealink SIP-T22P | y000000000005.cfg |
Yealink SIP-T21P | y000000000034.cfg |
Yealink SIP-T20P | y000000000007.cfg |
Yealink SIP-T19P | y000000000031.cfg |
Yealink SIP-T19P E2 | y000000000053.cfg |
Yealink SIP-T40P | y000000000054.cfg |
Yealink SIP-T46G | y000000000028.cfg |
Yealink SIP-T42G | y000000000029.cfg |
Yealink SIP-T41P | y000000000036.cfg |
Шаг №2:
В офисной локальной сети поднимаем или задействуем виртуальную/физическую систему под управлением Ubuntu 18.04 Server
и поднимаем на ней сервис tftpd-hpa
ekzorchik@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-сервер
ekzorchik@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
, но я использую первое.
ekzorchik@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:
Теперь перезагружаю телефонный аппарат и настройки применяются, кстати для отладки что аппарат запрашивает можно наблюдать в логах вот таким вот образом:
ekzorchik@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
, какие файлы он запрашивает
Jun 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
увидел запрашиваемые данные:
Jun 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.