こちらのサイトを参考に構築してみました。
OS:WindowsXP SP2
SIPサーバー:OnDO SIP Server
SIPクライアント:X-Lite
サーバーにもX-Liteをインストールしてあります。
※ルーターのポートは5060とRTPにあわせたポートを開けてあります。
上記の構成で内部での通信にも問題がありませんでしたので、
外部クライアントへの通信にチャレンジしたところ、
内部からかける場合、外部からかける場合に関わらずに内部側のX-Liteは通信が始まると音声が全く聞こえません。
正しく音声が聞こえるように色々と触るうちにLine1、Line2(X-Liteの切り替えボタン)など、違うLineに一瞬切り替えを行うと正常に音声通信が始まる事に気付きました。
外部側ではそういった現象は起こらず、接続が確立した瞬間から音が聞こえるそうです。
色々と調べてみましたが原因がわからずお手上げ状態です・・。
何かわかりますでしょうか?
よろしくお願いします。
> OS:WindowsXP SP2
> SIPサーバー:OnDO SIP Server
> SIPクライアント:X-Lite
> サーバーにもX-Liteをインストールしてあります。
> ※ルーターのポートは5060とRTPにあわせたポートを開けてあります。
>
> 上記の構成で内部での通信にも問題がありませんでしたので、
> 外部クライアントへの通信にチャレンジしたところ、
> 内部からかける場合、外部からかける場合に関わらずに内部側のX-Liteは通信が始まると音声が全く聞こえません。
> 正しく音声が聞こえるように色々と触るうちにLine1、Line2(X-Liteの切り替えボタン)など、違うLineに一瞬切り替えを行うと正常に音声通信が始まる事に気付きました。
> 外部側ではそういった現象は起こらず、接続が確立した瞬間から音が聞こえるそうです。
今一、よくわかりませんね。音がどうやっても聴こえないというなら、NATトラバーサルの問題かと思うのですが、Lineを切り替えて戻すと聴こえるいうなら、RTPで使うポートが変わるとうまくいくというように見えます。
X-Lite上で右クリックするとDiagnostics logを見ることができるので、SIPのメッセージを見ることができるので、何かヒントが見えるかもしれません。
Lineを切り替えるとINVITEが飛んで、RTPのポートが変わる状況が見えると思います。
今はAsteriskを動かしているので、OnDOをチャント動かす環境はありませんが、外部も含めてあまりにもすんなり動いてしまったという印象しか残っていないので、すぐにピンとくるところがありません。苦労しないと何も残らない典型的な例ですね。
ようやく原因がわかりました。
hostsファイルで別サーバを指定しているPCにSIPサーバーを入れていた為、
接続先がサーバーを経由されてしまっていたようです。
その状況でもLineを切り替える事で繋がってしまうという所に固執しすぎてしまったため本質を見失っていました・・。
大変お手を煩わせてしまい申し訳ございませんでした。
ありがとうございました。