2014-01-16 70 views
2

非常有趣的是,我实际上可以从头开始创建mVoIP服务。我终于可以通过SIP协议使用OpenSIPs来源打电话了。我使用外部STUN服务器,它可以帮助我在NAT防火墙后面查找用户的私有IP地址。在3G/4G网络下工作的STUN和TURN服务器

但是,当智能手机在3G或4G网络上时,免费的外部STUN服务器无法找到用户的IP地址拨打电话。作为程序员,我不会放弃制作mVoIP服务。但是,我现在需要你们的帮助。

有没有解决这个问题的好方法?谢谢。

+0

您是什么意思“免费的外部STUN服务器无法找到用户的IP地址”。 STUN服务器是否未收到来自移动客户端的绑定请求?还是绑定响应不回来?或者是其他东西? – selbie

+0

我发现外部的STUN服务器实际上找到了用户的IP地址。它只是未能连接媒体会话。 – Jake

+2

没错。 3G/4G/Evo实质上是“对称NAT”(正式的“运营商级NAT”)。因此,直接遍历设备通常很困难。因此,您需要代理解决方案,如RTP代理或TURN。 TURN的优势在于,如果可以的话,它将允许连接直接进行,只有在需要时才会回到中继。 – selbie

回答

0

可以有两个问题在这里:

- 你无法找到所有类型的NAT后面的正确的外部地址。这取决于仅NAT类型

-某些移动运营商阻止STUN。您可以添加一些修改的眩晕或简单的加密作为解决方法

0

我实际上可以使用外部STUN服务器找到IP地址,但是它无法在3G/4G网络上连接媒体会话。所以,我决定使用RTP代理进行SIP呼叫。

OpenSIPs提供RTP代理模块,它有助于在没有NAT问题的情况下拨打电话。

相关问题