1

私はクライアントを登録するためにjainsipをうまく使用しました。メソッドprocessRequestが機能しています。プロキシから電話に招待状を送信していますが、電話が鳴っています。招待の送信元ポートは5060で、IPはサーバーのIPです。スニファを使用して、100Tryingと180Ringingがクライアントからポート5060のサーバー/プロキシに送信されることを確認しました。サーバーに2つのクライアントが登録されており、前述のように、processRequestは機能していますが、100Tryingと180Ringingの応答は取得されません。 SIpListenerまたはメソッドprocessResponseによって呼び出されません。私はこれらの瓶を使用しています:

<dependency>
  <groupId>javax.sip</groupId>
  <artifactId>jain-sip-api</artifactId>
  <version>1.2.1.4</version>
</dependency>
<dependency>
  <groupId>javax.sip</groupId>
  <artifactId>jain-sip-ri</artifactId>
  <version>1.2.167</version>
</dependency>

このコードを使用して招待状を送信しています:

ClientTransaction clientTransaction = sipProviderStatic.getNewClientTransaction(inviteRequest);
clientTransaction.sendRequest();

登録は順調に進んでいるので、ファイアウォールの問題ではありません。私はそれをオフにしてみました。

誰かアイデアがありますか?

4

1 に答える 1

0

最初に、次のようにリクエストを送信してレスポンスを取得することにより、2 つのエミュレーターでテストしている場合は、ポートをリダイレクトする必要があります。

「telnet localhost 5554」と入力するよりもコマンドに移動し、別のエミュレーターにも同じように入力します

サーバーコードに「redir add udp:5070:5070」と入力し、

リクエストを送信しているクライアント コードに「redir add udp:5060:5060」と入力するよりも...これら 2 つのエミュレーター間のリクエストとレスポンスを確認できるよりも

于 2012-10-05T04:13:56.743 に答える