我使用 Linphone( http://www.linphone.org/ ) 开源来使用 Asterisk Server 制作 mVoIP android 应用程序。当智能手机在 3G 或 4G(LTE) 网络上时,它运行良好。但是,当它在 Wi-Fi 网络上时,它无法注册。
连接到 Wi-Fi 网络的智能手机的“通过”和“联系信息”错误。
A = Smartphone on Wi-Fi network
B = Smartphone on 4G(LTE) network
它将声音从 A 电话传送到 B 电话。但是,它无法将声音从 B 手机传送到 A 手机。
我跟踪了 SIP 日志,发现电话 A 将错误的私有 IP 地址(联系人)告诉了 Asterisk 服务器。这就是为什么它无法在电话 A 上听到声音的原因。
所以,我打开了 Stun 服务器,我必须连接特定的 stun 服务器,它很难通过 NAT 找到本地 IP 地址。问题是 Linphone 本身无法在 Wi-Fi 网络上找到智能手机 A 的私有 IP 地址。
C = A third smartphone on Wi-Fi network.
我面临的另一个问题是,即使 Stun 服务器解决了它的 NAT 问题,同一 Wi-Fi 网络上的另一部智能手机也无法正常工作。
有没有人有同样的问题?有没有办法解决这个问题?谢谢你。