Gwiazdka inicjuje połączenie za pośrednictwem wiadomości powiadomienia SIP

1

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!)

  1. Najpierw upewnij się, że telefon jest skonfigurowany do obsługi połączeń zdalnych

wprowadź opis zdjęcia tutaj

  1. Następnie po prostu złóż tę wgetproś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:

  1. Wykonuję pierwszy krok na części (A), umożliwiając zdalne sterowanie telefonem.

  2. Podłączam telefon do mojego serwera z gwiazdką i upewniam się, że jest podłączony. wprowadź opis zdjęcia tutaj

  3. 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.

  4. Otwieram /etc/asterisk/sip_notify.confi dodam następujący kontekst:

    [test] Zdarzenie => ACTION-URI Content => key = SPEAKER

  5. Ponownie uruchamiam gwiazdkę, ponieważ nie wiem, jak ponownie załadować plik sip_notify.conf

    asterisk -rx "core restart gracefully"
    
  6. Następnie na CLI z gwiazdką wpisuję następującą komendę, aby wysłać komunikat powiadomienia SIP:

    sip notify test Eduardo
    
  7. 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?

  8. Oto wiadomość łykowa przechwycona przez Wireshark!

wprowadź opis zdjęcia tutaj

  1. Mimo że postępuję zgodnie ze wskazówkami, klawisz SPEAKER nie jest naciskany! Co mogę zrobić źle?

Przydatne informacje:

wprowadź opis zdjęcia tutaj

Tono Nam
źródło

Odpowiedzi:

1

Po całodziennych próbach udało mi się to rozgryźć! Brakowało mi nagłówka typu zawartości!

W każdym razie tutaj jest rozwiązanie:

  1. Plik sip_notify.conf powinien zawierać:

    [test]
    Content-Type=>message/sipfrag
    Event=>ACTION-URI
    Content=>key=SPEAKER
    

    Linia Content-Type=>message/sipfragjest bardzo ważna!

  2. Zrestartuj gwiazdkę, aby sip_notify.conf ponownie się ładował

    gwiazdka -rx „uruchomienie rdzenia z wdziękiem”

  3. Teraz wpisz polecenie gwiazdki:

    sip notify test Eduardo
    

    gdzie Eduardo jest rówieśnikiem SIP, do którego chcesz wysłać klucz

  4. Lista wszystkich dostępnych kluczy znajduje się tutaj:

    http://support.yealink.com/faq/faqInfo?id=173

Tono Nam
źródło