Jak zdalnie zrestartować telefony VoIP Yealink
Ostatnio musiałem znaleźć metodę ręcznego restartowania telefonów użytkowników w sieci firmowej. Od czasu do czasu, gdy już działają, odkrywamy, że niektóre funkcje powodują problemy. Czasami nie możemy przekierować połączeń lub nie słyszymy osoby, z którą rozmawiamy. Przyczyn może być wiele, ale w większości przypadków proste ponowne uruchomienie telefonu rozwiązuje problemy.
Problem z ponownym uruchomieniem telefonów użytkowników polega na tym, że komputery, których używają, są podłączone do Internetu za pomocą kabli LAN (dla stabilności). Kabel sieciowy jest podłączony bezpośrednio do gniazda telefonu, a następnie przechodzi z telefonu do komputera użytkownika. Dzięki temu nie trzeba używać dwóch kabli LAN; jednak po ponownym uruchomieniu telefonu wbudowany przełącznik również jest ponownie uruchamiany, a zatem połączenie sieciowe zostaje przerwane.
Mamy kilka aplikacji, które po utracie połączenia sieciowego blokują użytkowników i wymagają dodatkowych działań, aby ich odblokować. Dlatego nie jest idealnym rozwiązaniem ponowne uruchamianie telefonów w ciągu dnia.
Sprawdzając telefony i ustawienia, miałem problem ze znalezieniem prostego harmonogramu, który pozwalałby na ponowne uruchamianie telefonów w nocy, więc musiałem znaleźć inny sposób.
Zanim zaczniesz, musisz znać hasło administratora do panelu internetowego telefonu. Hasło administratora jest zazwyczaj ustawiane przez dostawcę i rzadko udostępniane. Mogą oni jednak również ustawić hasło użytkownika, które pozwoli nam wykonywać niektóre polecenia.
Na szczęście udało mi się zdobyć hasła administratora i użytkownika, dzięki czemu potwierdziłem, że opisana poniżej metoda działa w obu przypadkach.
Każdy telefon VoIP, po podłączeniu do sieci, pobiera ustawienia dostawcy. Ustawienia te nazywane są provision.
Aby umożliwić zdalne ponowne uruchomienie, możesz ustawić jedną opcję za pomocą panelu internetowego telefonu. Jednak to proste ustawienie ma jedną wadę, którą opiszę. Z tego powodu, współpracując ze swoim dostawcą, możesz poprosić go o dodanie trzech wierszy konfiguracji do provision, co pozwoli Ci na szybkie ponowne uruchomienie telefonów bez problemów. Opiszę to również.
Zaczynajmy.
Panel administracyjny telefonu
Ten krok wymaga dostępu administratora, możesz go jednak pominąć i przejść do sekcji Ustawienie konfiguracji provision.
Zaloguj się do panelu administracyjnego swojego telefonu pod adresem https://twojAdresIPtelefonu
. Możesz znaleźć lokalny adres IP swojego telefonu, naciskając przycisk OK
na klawiaturze.
W sekcji Funkcje (Features) znajdziesz opcję zdalnego sterowania (Remote Control).
W polu Action URI Allow IP List
możesz określić adresy IP, które mogą wysyłać polecenia zdalnego sterowania, takie jak polecenie reboot. Możesz określić any
(aby zezwolić na polecenia z dowolnego adresu IP) lub ograniczyć je do określonych adresów IP w sieci lokalnej, takich jak 192.168.0.*
(z gwiazdką zezwalającą na polecenia z dowolnego adresu IP w tym zakresie).
Naciskając niebieski przycisk Potwierdź
(Confirm), zastosujemy tę zmianę w telefonie.
Dodając tę opcję, możemy już wysyłać polecenia do naszego telefonu. Jednak to rozwiązanie nie jest idealne.
Gdy po raz pierwszy wyślemy polecenie zdalne do telefonu, na ekranie telefonu pojawi się komunikat z pytaniem „Czy zezwolić na zdalne sterowanie?” (“Allow remote control?”_), aby zezwolić na wykonywanie poleceń zdalnych.
Możemy wybrać odpowiedź „Tak” lub wybrać opcję „Zablokuj”.
Problem polega na tym, że jeśli masz telefony rozsiane po całej firmie, oznacza to, że za pierwszym razem, gdy wykonujesz polecenie zdalne, musisz fizycznie kliknąć przycisk zatwierdzenia na każdym telefonie.
Po potwierdzeniu wszelkie dalsze polecenia zdalne będą wykonywane bez konieczności dodatkowego potwierdzenia.
To rozwiązanie nie jest idealne; byłoby lepiej, gdybyśmy mogli wykonać tę czynność nie przeszkadzając użytkownikom i nie wymagając fizycznego dostępu do telefonu.
W tym miejscu może pomóc Twój dostawca usług VoIP: dodając trzy proste linie do konfiguracji (provision), która zostanie przesłana do każdego telefonu.
Ustawienie konfiguracji provision
Aby umożliwić zdalne wykonywanie poleceń na telefonach użytkowników, możemy poprosić naszego dostawcę o dodanie następujących trzech wierszy do pliku provision. Nie powinno to być dla nich problemem, ponieważ nie ma to żadnego wpływu z ich strony.
features.action_uri.enable = 1
features.show_action_uri_option = 0
features.action_uri_limit_ip = 192.168.0.*
Ustawienie features.action_uri_limit_ip
, jak wyjaśniono w poprzednim punkcie, określa dozwolone adresy IP, które mogą wykonać polecenie. W tym przypadku zezwala na całą sieć.
Wiersz features.action_uri.enable
jest ogólnym ustawieniem umożliwiającym wykonywanie poleceń zdalnych.
Ustawienie features.show_action_uri_option
usuwa monit/powiadomienie z telefonu użytkownika pytające „Czy zezwolić na zdalne sterowanie?” (“Allow remote control?”).
Dzięki temu możesz wykonywać polecenia zdalne bez konieczności fizycznego dostępu do urządzenia. W tym celu możesz użyć polecenia w poniższej sekcji.
Skrypt ponownego uruchomienia
Aby zdalnie ponownie uruchomić telefon, należy wykonać następujące polecenie:
Jako użytkownik z uprawnieniami administratora:
https://admin:adminpassword@192.168.0.111/servlet?key=Reboot
Jako normalny użytkownik:
https://user:userpassword@192.168.0.111/servlet?key=Reboot
Gdzie
192.168.0.111
jest zastępowane adresem IP telefonu.
Istnieje kilka sposobów wykonania tych poleceń.
Możesz po prostu wkleić go do przeglądarki i odwiedzić go jak zwykły adres URL.
Podczas pierwszej wizyty pod danym adresem URL może być konieczne zaakceptowanie niezaufanego certyfikatu lokalnego.
Można go zaimplementować w harmonogramie zadań na urządzeniach sieciowych.
Na przykład używam routera OpenWrt z funkcją cron, która umożliwia mi planowanie wykonywania poleceń o określonych porach dnia lub nocy.
Crontab
00 6 * * 2-5 /bin/sh /root/voip_restart_phones
To polecenie uruchomiać będzie skrypt o nazwie voip_restart_phones
o godzinie 6 rano od poniedziałku do piątku.
voip_restart_phones
curl -l -s https://user:userpassword@192.168.0.111/servlet?key=Reboot
Plik będzie zawierał polecenie dla każdego telefonu, który należy ponownie uruchomić, przy czym w każdym wierszu będzie jedno polecenie określające adres IP każdego telefonu.
Może być konieczne ustawienie uprawnień wykonywania pliku za pomocą polecenia
chmod +x voip_restart_phones
.
Jeśli otrzymasz odpowiedź 403 - User level denied podczas wykonywania, oznacza to, że zdalne wykonywanie poleceń nie jest włączone. Sprawdź poprzednie kroki, aby upewnić się, że Ty lub Twój dostawca skonfigurowaliście wszystko poprawnie. Uruchom ponownie telefon, aby zastosować najnowsze ustawienia i spróbuj ponownie.
Hasła ze znakami specjalnymi
Czasami hasła zawierają znaki specjalne. Na przykład p@ssword
.
Choć wykonanie polecenia https://user:userp@ssword@192.168.0.111/servlet?key=Reboot
w przeglądarce internetowej nie stanowi problemu, mogą wystąpić trudności, gdy spróbujesz wykonać to samo w powłoce (bash).
W takim przypadku należy zastąpić znaki specjalne ich odpowiednikami w kodowaniu URL. Na przykład symbol @
staje się %40
.
Na przykład:
curl -l -s https://user:userp%40ssword@192.168.0.111/servlet?key=Reboot
Powinno działać bez żadnych problemów.
W ten sposób, zdalnie restartując telefony, rozwiązałem kilka problemów z siecią, które wystąpiły w ciągu dnia.
Oczywiście, aby to zrobić, musisz znać adresy IP swoich telefonów. Dlatego warto od początku przypisywać im statyczne adresy IP na podstawie ich adresów MAC.
Pozdrawiam.
Komentarze i Reakcje