Mam na biurku telefon IP Yealink i chcę nim sterować zdalnie, aby móc nawiązywać połączenia z komputera zamiast wpisywać numery bezpośrednio na telefonie. Ten link wyjaśnia, jak to zrobić:
Jak wybrać numer lub nawiązać połączenie za pomocą pilota | Wsparcie Yealink
Można to zrobić na 2 sposoby. Jeden wysyła żądanie HTTP na telefon. Inną opcją jest wysłanie powiadomienia SIP.
A) Wysyłanie żądania HTTP (działa!)
- Najpierw upewnij się, że telefon jest skonfigurowany do obsługi połączeń zdalnych
Następnie po prostu złóż tę
wget
prośbęwget --user admin --password PASSWORD_PHONE http://IP_OF_PHONE/servlet?key=SPEAKER
Po zgłoszeniu tego żądania naciśniesz klawisz głośnika telefonu!
B) Wysyłanie wiadomości SIP Notify (NIE działa)
Z tej opcji chcę skorzystać, ponieważ nie chcę przechowywać nazw użytkowników i haseł. Również adres IP telefonu może ulec zmianie. W każdym razie oto, co próbowałem iz jakiegoś powodu nie mogę sprawić, by ta opcja działała:
Wykonuję pierwszy krok na części (A), umożliwiając zdalne sterowanie telefonem.
Podłączam telefon do mojego serwera z gwiazdką i upewniam się, że jest podłączony.
Teraz, gdy Eduardo jest podłączony do równorzędnego partnera SIP, muszę wysłać mu wiadomość SIP Notify z treścią zawierającą klucz = SPEAKER.
Otwieram
/etc/asterisk/sip_notify.conf
i dodam następujący kontekst:[test] Zdarzenie => ACTION-URI Content => key = SPEAKER
Ponownie uruchamiam gwiazdkę, ponieważ nie wiem, jak ponownie załadować plik sip_notify.conf
asterisk -rx "core restart gracefully"
Następnie na CLI z gwiazdką wpisuję następującą komendę, aby wysłać komunikat powiadomienia SIP:
sip notify test Eduardo
kiedy uruchamiam to polecenie gwiazdka mówi:
Sending NOTIFY of type 'test' to 'Eduardo'
ale telefon nigdy nie naciska klawisza GŁOŚNIKA! Co mogę robić źle?Oto wiadomość łykowa przechwycona przez Wireshark!
- Mimo że postępuję zgodnie ze wskazówkami, klawisz SPEAKER nie jest naciskany! Co mogę zrobić źle?