0

restcomm クラスターを作成しようとしています: sip-balancer + いくつかの restcomm インスタンス。しかし、restcomm ノードと sip-loadbalancer を接続できません。

私はこのチュートリアルを使用しました - http://docs.telestax.com/sip-servlets-clustering-high-availability/しかし、結果は得られませんでした。

それは2つのステップであるべきだと思われる

  1. path-nameで属性を 変更standalone/configuration/standalone-sip.xml
  2. org.mobicents.ha.javax.sip.BALANCERSに 追加standalone/configuration/mss-sip-stack.properties

私が理解しているように、ノードとロードバランサーはrmiをチャネルとして使用します。サーバーがポート2000をリッスンし、ノードがそれに接続を確立していることがわかります(netstatを使用しました)。

しかし、一口クライアントからロードバランサーを使用しようとすると、「エラー 500 - 使用可能なノードがありません」が返されます。また、リモートデバッグを使用しました-ノードリストは空です。

私は何かを逃しましたか?

ps 同じマシンで docker restromm インスタンスと sip-loadbalancer を使用しました。

ありがとう、

4

1 に答える 1

0

だから私は私の問題を見つけました。

restcomm ノードのログ ファイルによると、RMI でバランサーに接続できません。

接続エラーは非常に奇妙です -Connection refused to host: 127.0.0.1そして時々Connection refused to host: 127.0.1.1

昨日、私は特定するのに疲れましjava.rmi.server.hostnameたが、それは私を助けませんでした

今日、私は小さな RMI クライアントをバランサーに作成し、ローカル マシンから動作しました (バランサーもホストされています)。ただし、このアプリは仮想マシンから機能しました。だから私はコードにさらにログを追加し、見つけました:

  1. アプリはリモートを検索できます
  2. これのリモート エンドポイントは 127.0.0.1 ですが、リモート マシンの IP アドレスである必要があります

その後、sip-balancer を指定externalHostして、Bean エンドポイント アドレスを取得しました。public-ip127.0.1.1

問題が見つかりました-ubuntuはこの「ローカル」 IPアドレスを「マシン名」に使用します。で見つけることができます/etc/hosts

sip-balancer(Java アプリケーション) は、サービスのエンドポイントの IP アドレスとしてそれを取得します

私の修正は -change 127.0.1.1 to 127.0.0.1です/etc/hosts。その後、sip-balancer はリモート オブジェクトのマシンの実際の IP アドレスを提供します。

結論:私の問題 - 間違ったオペレーティングシステム:)

一般的な解決策:開発者はアドレスの種類を確認し、ループバック アドレスを使用しないようにする必要があります。

于 2016-02-07T11:55:22.990 に答える