SIP再招待後に音声が聞こえない

SIP再招待後に音声が聞こえない

Gigaset C470 IP をインターネット接続で動作させようとしています。デバイスとルーター (DSL モデムと LAN の間にある pfSense) の正しい構成がわかり、発信と着信ができるようになりました。

発信通話は問題なく機能します。ただし、着信通話では、音声は通話の最初の 1 秒間のみ機能します。1 秒が経過すると、どちらの方向でも音声が聞こえなくなります。通話は、片方の側が電話を切るまで継続されます。

pfSense の外部インターフェースでのパケット キャプチャにより、次のことが起こることがわかります。

  • SIPを飲みますINVITE
  • ギガセットは次のように応答し100 Trying180 Ringing
  • 電話を受けると、Gigasetは次のように応答します。200 OK
  • 両方向にRTPトラフィックがある
  • 通話開始から1秒後、GigasetはINVITE発信者に新しいメッセージで応答します。
  • さらに0.1秒間、双方向RTPトラフィックが増加
  • この0.1秒後、SIPプロバイダーは次のように応答し100 Trying、その後次のように応答します。200 OK
  • その後、100 Trying着信 RTP トラフィックはなくなります。発信 RTP トラフィックはまだ存在しますが、どちらの側も相手の音声を聞くことができません。

使用されているコーデックを調べたところ、最初の に従って、両者とも G.711 に落ち着きましたINVITE。トレースから判断する限り、RDP トラフィックは確かに G.711 を使用しています。 は、INVITE元のものとは少し異なるコーデックのセットを提案していますINVITEが、両者とも G.711 を引き続き使用することに同意しているようです。

しかし、この再送信により、INVITEリモート エンドはこの通話に対する RTP の送信または受信を停止するようです。なぜでしょうか。また、これに対して何ができるでしょうか。

答え1

200 OK 応答で 1 つのコーデックが取得されることを確認してください。

一部のサーバーは、SDP に複数のコーデックを含む 200 OK を受信すると、2 回目の再招待を送信します。

この問題を解決するには、ログの現在の OK を確認します。リストからコーデックの 1 つ (優先するもの) を抽出します。次に、Gigaset デバイスでそのコーデックのみを許可します。

これで問題は解決するはずです。

関連情報