Asterisk initiiert den Anruf über die Sip-Benachrichtigungsnachricht

1276
Tono Nam

Ich habe ein Yealink-IP-Telefon auf meinem Schreibtisch und möchte es fernsteuern, damit ich die Anrufe von meinem Computer aus tätigen kann, anstatt die Nummern direkt am Telefon einzugeben. Dieser Link erklärt, wie es geht:

So wählen oder wählen Sie einen Anruf mit der Fernbedienung | Yealink-Unterstützung

Es gibt zwei Möglichkeiten, dies zu tun. Eine sendet eine http-Anfrage an das Telefon. Die andere Option ist das Senden einer SIP-Benachrichtigungsnachricht.

A) Senden einer HTTP-Anfrage (Works!)

  1. Stellen Sie zunächst sicher, dass das Telefon so konfiguriert ist, dass Remoteverbindungen zugelassen werden

Asterisk initiiert den Anruf über die Sip-Benachrichtigungsnachricht

  1. Dann machen Sie einfach diese wgetAnfrage

    wget --user admin --password PASSWORD_PHONE http://IP_OF_PHONE/servlet?key=SPEAKER 

Nach dieser Anforderung wird die Telefonlautsprechertaste gedrückt!


B) Senden einer SIP-Benachrichtigungsnachricht (funktioniert NICHT)

Dies ist die Option, die ich verwenden möchte, da ich keine Benutzernamen und Passwörter speichern möchte. Auch die IP-Adresse des Telefons kann sich ändern. Wie auch immer, hier habe ich versucht, und aus irgendeinem Grund kann ich diese Option nicht zum Laufen bringen:

  1. Ich führe den ersten Schritt aus, den ich in Teil (A) gemacht habe, indem ich die Fernsteuerung des Telefons zulasse.

  2. Ich verbinde das Telefon mit meinem Sterneserver und stelle sicher, dass es verbunden ist. Asterisk initiiert den Anruf über die Sip-Benachrichtigungsnachricht

  3. Nun, da der SIP-Peer Eduardo angeschlossen ist, muss ich ihm eine SIP-Benachrichtigungsnachricht senden, wobei der Körper den Schlüssel = SPEAKER enthält.

  4. Ich öffne /etc/asterisk/sip_notify.confund füge folgenden Kontext hinzu:

    [test] Event => ACTION-URI Content => key = LAUTSPRECHER

  5. Ich starte asterisk neu, weil ich nicht weiß, wie man sip_notify.conf lädt

    asterisk -rx "core restart gracefully" 
  6. Dann tippe ich auf asterisk CLI den folgenden Befehl, um die Sip-Benachrichtigungsnachricht zu senden:

    sip notify test Eduardo 
  7. Wenn ich diesen Befehl ausführt, sagt ein Sternchen: Sending NOTIFY of type 'test' to 'Eduardo'Das Telefon drückt niemals die LAUTSPRECHERTASTE! Was könnte ich falsch machen?

  8. Hier ist die von Wireshark erfasste SIP-Nachricht!

Asterisk initiiert den Anruf über die Sip-Benachrichtigungsnachricht

  1. Obwohl ich die Anweisungen befolge, wird die SPEAKER-Taste nicht gedrückt! Was könnte ich falsch machen?

Hilfreiche Infos:

Asterisk initiiert den Anruf über die Sip-Benachrichtigungsnachricht

1

1 Antwort auf die Frage

1
Tono Nam

Nachdem ich den ganzen Tag versucht hatte, konnte ich es herausfinden! Ich habe den Inhaltstyp-Header vermisst!

Wie auch immer, hier ist die Lösung:

  1. Die Datei sip_notify.conf sollte Folgendes enthalten:

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

    Die Linie Content-Type=>message/sipfragist sehr wichtig!

  2. Starten Sie den Stern neu, damit sip_notify.conf neu lädt

    Sternchen -rx "Kern neu starten"

  3. Geben Sie nun diesen Sternchenbefehl ein:

    sip notify test Eduardo 

    Wo Eduardo der SIP-Peer ist, an den Sie den Schlüssel senden möchten

  4. Eine Liste aller verfügbaren Schlüssel finden Sie hier:

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