请仔细阅读所有问题,不要急于得出结论。
=== 点对点呼叫的测试环境,无需 Asterisk ===
- 城市 1:具有 NAT 和 WiFi 的路由器,并将 5060 UDP 端口转发到具有 MicroSIP 的机器。路由器具有静态外部 IP 地址。
- 城市 1:Android 手机 1,已配置 CSipSimple 1.02.03 和“本地”账户
- City1:MicroSIP 3.10.1,未配置帐户
- 城市 2:Android 手机 2 安装了 CSipSimple 1.02.03 并配置了“本地”账户,位于其他城市,位于自己的 NAT 后面
测试结果:
- 无论使用何种连接(路由器的 WiFi 或移动运营商的 3G),Android1 和 MicroSIP 之间都可以进行通话和短信。
- Android2 与 MicroSIP 之间的通话正常进行。
===通过 Asterisk 进行通话的测试环境 ===
- City1:同一个路由器,将 5060 UDP 端口转发到 Asterisk 机器
- 城市 1:Asterisk NOW 11.9.0,位于路由器后面,配置了“101”、“102”和“103”扩展
- City1:MicroSIP 3.10.1 绑定到“103”扩展
- 城市 1:Android 手机 1,CSipSimple 1.02.03 已绑定到“101”扩展
- 城市 2:Android 手机 1 使用 CSipSimple 1.02.03 绑定到“102”分机,位于其他城市,位于其自己的 NAT 后面
测试结果:
- 短信根本不起作用。
- 无论使用何种连接(WiFi 或 3G),从 101 到 103 的呼叫都可以正常进行。
- 从 102 到任何其他分机的呼叫都只能部分正常工作:101 或 103 可以听到来自 102 的声音,但 102 听不到任何声音,即使呼叫“100”分机(Asterisk 的语音平台)。
最后一个列表项是主要问题的主题。这会是 NAT 问题吗?P2P 环境应该也无法工作,但确实如此。因此 Asterisk 配置肯定存在一些问题。
(或者 MicroSIP 使用一些默认 STUN,因此一切正常?)