VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Перезагрузка Yealink T23G скрипт

Вопросы по использованию и настройке IP телефонов, шлюзов и всего прочего

Модераторы: april22, Zavr2008

Ответить
НиколайМ
Сообщения: 22
Зарегистрирован: 08 фев 2017, 12:57

Перезагрузка Yealink T23G скрипт

Сообщение НиколайМ »

Доброго дня, уважаемые коллеги!

Прошу помощи в следующей проблеме:

Нужно перезагрузить телефон по http запросу. Регистрация на телефоне пока отсутствует, мы знаем только IP адрес и пароль.
Модель телефона Yealink T23G
Firmware Version 44.81.0.70
Hardware Version 44.0.0.16.0.0.0

Пробую так:
http://192.168.x.xx/servlet?p=settings- ... dmin:admin
не получается, ок, идем дальше, в поисках нашел:

http://192.168.x.xxx/servlet?p=settings ... e&q=reboot
или так:
http://192.168.x.xxx/servlet?p=login&q= ... e&q=reboot

Но картина такая:
403 - User Identity Forbidden
http://prntscr.com/ezsebl

Посмотрел на wireshark, сделал в powershell такой же запрос, но все равно 403.
http://192.168.x.xxx/servlet?p=login&q= ... ade&q=load
работает, выводит на страницу с перезагрузкой, но reboot не нажимает. можно, конечно вручную нажать, но это не наш путь.
Хотелось бы разобраться - почему блокирует перезагрузку через post запрос.
Есть хитрая настройка в Feature телефона - разрешенный диапазон IP для URI запросов. Вот, там я пробовал добавлять и any и IP своего компьютера - без результата.

Тестировал на 80й прошивке - такая же ситуация (исключил баг).
НиколайМ
Сообщения: 22
Зарегистрирован: 08 фев 2017, 12:57

Re: Перезагрузка Yealink T23G скрипт

Сообщение НиколайМ »

PowerShell 3.0 код:

Код: Выделить всё

$user = 'admin'
$pass = 'admin'

$pair = "$($user):$($pass)"

$encodedCreds = [System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($pair))

$basicAuthValue = "Basic $encodedCreds"

$Headers = @{
    Authorization = $basicAuthValue
}
Invoke-WebRequest -URI "http://192.168.x.xxx/servlet?key=Reboot" -Headers $Headers -UserAgent "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36" -Method Post -DisableKeepAlive 
Аватара пользователя
zzuz
Сообщения: 1658
Зарегистрирован: 21 сен 2010, 13:33
Контактная информация:

Re: Перезагрузка Yealink T23G скрипт

Сообщение zzuz »

Эти телефоны позволяют перезапускаться через NOTIFY пакеты.
Для веба должен быть включен пункт "Remote control" и как то так . Смотрите документацию.
Линия24 - Системы Массового Телефонного Обслуживания
НиколайМ
Сообщения: 22
Зарегистрирован: 08 фев 2017, 12:57

Re: Перезагрузка Yealink T23G скрипт

Сообщение НиколайМ »

Да, я успешно перезагружаю ЗАРЕГИСТРИРОВАННЫЕ телефоны в Астериске

Код: Выделить всё

asterisk*CLI> sip notify reboot-yealink 1801
Но, для одного из этапов автопровижина, нужно бутать незарегистрированные телефоны.

Поясню:

1) Телефон первый раз включается (достал из упаковки, версия прошивки 80я и не поддерживает шифрованные конфиги), он через tftpd скачивает старый конф-файл для старой прошивки и обновляется до 81й прошивки, затем уходит в свою подсеть при следующей перезагрузке.
2) При следующей загрузке он просит *.boot файл для шифрованного конфига и мак-ориентированного конфига, но не получает, т.к. еще их нет (буду генерить их позже, после расстановки, т.к. еще не знаю всех мак-адресов и сопоставления по юзерам), т.к. нужно ему скормить в стандартном конфиге параметр для изменения работы с шифрованными файлами:

Код: Выделить всё

static.auto_provision.aes_key_in_file = 1
3) Затем, он снова перезагружается, и теперь уже, он готов кушать *.boot файл, где ему прописаны мак - конфиг и телефон-конфиг в зашифрованном виде.

Я сейчас расставляю 200 телефонов по офису, и мне нужно в определенный момент (когда мы перейдем на новую АТС), ребутнуть все 200 телефонов, чтобы они сходили за *.boot файлами. И получили регистрацию в Астериске.

До этого они будут не зарегистрированные, т.к. я еще не забивал мак-адреса в генератор конфигов и буду это делать по мере растановки телефонов.

Прошу прощения, если запутанно объяснил.
НиколайМ
Сообщения: 22
Зарегистрирован: 08 фев 2017, 12:57

Re: Перезагрузка Yealink T23G скрипт

Сообщение НиколайМ »

Как вариант, можно указать в конфиге - ходить за файлами каждую ночь, но это какой-то костыль. Хочется разобраться с POST-запросом.
На ранних Yealink-ах, данный запрос отрабатывал без сучка и задоринки:
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: Перезагрузка Yealink T23G скрипт

Сообщение ded »

C развитием интернета вещей всё только усложняется. Ранние Yealink отзывались на такой запрос, но это быо упущение в политике безопасности. Школьники могли создать трояна, который сидя в локальной сети перегружает телефоны без аутентификации, и всё. Сделали посложней.
ЗАРЕГИСТРИРОВАННЫЕ телефоны в Астериске могут перезагружаться
незарегистрированные телефоны - не могут, в этом и суть автопровизионинга, но можно создать цикл операций, по которому
а) прошли по коробкам с телефонами со сканером штрих-кода, считали их МАС-адреса
б) выгрузили их в директорию /tftpboot где применили скрипт построения индивидуальных конфигов с рэндомайзером паролей, для экстен+1
в) загружайте CSV файл со всеми данными через bulk extensions, и всё готово.

Можно было бы посоветовать - ищите OSS Endpoint manager для FreePBX, где уже многое приспособлено но вот только что глянул - вашей модели там нет.
Yealink/Dreamwave T1X Models: [T18]

T18
Yealink/Dreamwave T2X Models: [T20, T22, T26, T28]

T20
T22
T26
T28
Yealink/Dreamwave T2X V71 Models: [T20, T21, T22, T26, T28]

T20
T21
T22
T26
T28
Yealink/Dreamwave T3X Models: [T32, T38]

T32
T38
НиколайМ
Сообщения: 22
Зарегистрирован: 08 фев 2017, 12:57

Re: Перезагрузка Yealink T23G скрипт

Сообщение НиколайМ »

Спасибо что подтвердили мои опасения.

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

Еще можно

http://192.168.x.xxx/servlet?p=login&q= ... ade&q=load

и какой-нибудь AutoIT чтобы нажимал Reboot, а саму строку генерить из распарсенного вывода IP телефонов...

И таки, да: надо делать проверку новых конфигов раз в сутки. Это полезно.
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH