デスクにYealinkIP電話があり、電話で直接番号を入力するのではなく、コンピューターから電話をかけることができるように、リモートコントロールしたいと考えています。このリンクはそれを行う方法を説明しています:
リモコンを使用してダイヤルまたは電話をかける方法| Yealinkサポート
それを行うには2の方法があります。 1つは、電話にhttpリクエストを送信することです。そして他のオプションはSIP通知メッセージを送信することです。
次に、このwget
リクエストを行います
wget --user admin --password PASSWORD_PHONE http://IP_OF_PHONE/servlet?key=SPEAKER
そのリクエストを行った後、電話のスピーカーキーが押されました!
ユーザー名とパスワードを保存したくないので、これは私が使用したいオプションです。また、電話のIPアドレスが変更される場合があります。 とにかくここに私が試したものがあり、何らかの理由でこのオプションを機能させることができません:
パート(A)で行った最初のステップは、電話をリモート制御できるようにすることで実行します。
SIPピアEduardoが接続されたので、それにSIP key = SPEAKERを含む本文で通知メッセージを送信する必要があります。
私は開ける /etc/asterisk/sip_notify.conf
そして、次のコンテキストを追加します。
[テスト] Event => ACTION-URI Content => key = SPEAKER
Sip_notify.confをリロードする方法がわからないため、アスタリスクを再起動します
asterisk -rx "core restart gracefully"
次に、アスタリスクCLIで、sip通知メッセージを送信するために次のコマンドを入力します。
sip notify test Eduardo
そのコマンドを実行すると、アスタリスクは次のようになります。Sending NOTIFY of type 'test' to 'Eduardo'
しかし、電話がSPEAKERキーを押すことはありません!何が間違っているのでしょうか?
これがWiresharkによってキャプチャされた一口メッセージです!
一日中試した後、私はそれを理解することができました! content-typeヘッダーがありませんでした!
とにかくここに解決策があります:
sip_notify.confファイルには次のものが含まれている必要があります:
[test]
Content-Type=>message/sipfrag
Event=>ACTION-URI
Content=>key=SPEAKER
この線 Content-Type=>message/sipfrag
はとても重要です!
sip_notify.confがリロードされるようにアスタリスクを再起動します
アスタリスク-rx「コアは正常に再起動します」
次に、このアスタリスクコマンドを入力します:
sip notify test Eduardo
ここで、Eduardoは、キーを送信するSIPピア)です。
使用可能なすべてのキーのリストはここにあります: