Linphone( http://www.linphone.org/ ) オープン ソースを使用して、Asterisk Server を使用した mVoIP android アプリケーションを作成します。スマートフォンが 3G または 4G(LTE) ネットワークに接続されている場合、問題なく動作します。ただし、Wi-Fi ネットワーク上では登録に失敗しました。
Wi-Fi ネットワークに接続されているスマートフォンの Via と Contact 情報が間違っていました。
A = Smartphone on Wi-Fi network
B = Smartphone on 4G(LTE) network
A電話機からB電話機に音を届けます。ただし、B フォンから A フォンに音を届けることはできませんでした。
SIP ログをトレースしたところ、電話 A が誤ったプライベート IP アドレス (連絡先) をアスタリスク サーバーに通知していることに気付きました。電話機 A で音声が聞こえなかったのはそのためです。
そのため、特定のスタンサーバーに接続する必要があるスタンサーバーをオンにしましたが、NAT を介してローカル IP アドレスを見つけることはほとんどありません。問題は、Linphone 自体が Wi-Fi ネットワーク上にあるスマートフォン A のプライベート IP アドレスを見つけることができないことでした。
C = A third smartphone on Wi-Fi network.
私が直面したもう 1 つの問題は、Stun サーバーが NAT の問題を解決したにもかかわらず、同じ Wi-Fi ネットワーク上の追加のスマートフォンが機能しないことです。
同じ問題を抱えた人はいますか?この問題を解決する方法はありますか?ありがとうございました。