OpenSIPs + MediaProxy:无法接听3G电话

时间:2015-01-09 04:53:18

标签: sip rtp stun opensips turn

我有一台运行OpenSIPs 1.11.3的SIP服务器

  • 配置内置STUN模块(带2个IP的完整模式)
  • 使用MediaProxy 2.6.1配置中继RTP(在路由脚本中使用engage_media_proxy)

使用doubango的IMSDroid作为SIP客户端。

wifi-wifi之间的通话很好,我不需要在客户端打开任何STUN,ICE,TURN选项。

然而,3g-wifi或3g-3g之间的通话并不是那么好。 3G 可以拨打电话,但无法接听电话。这意味着3g-3g呼叫永远不会发生。我在OpenSIPs日志中看到的都是INVITE的重复重传,因为它无法到达3G端。

我看到TURN服务器可以解决这类问题,所以我在IMSDroid sip客户端启用了TURN,但仍然没有接收到任何电话。

我正在使用的TURN服务器:

url:'turn:numb.viagenie.ca' 凭证:'muazkh' 用户名:'webrtc@live.com'

我可以使用任何解决方案/模块来解决这个问题吗?

修改

如果我使用TCP协议,我可以接听电话!虽然呼叫在30秒后由于传输错误而终止,但至少呼叫已经通过。知道这里发生了什么?移动运营商阻止来电?但绝对不是端口阻塞,因为我可以注册我是使用端口80还是5060。

编辑2

我尝试使用免费的SIP帐户拨打电话(sip2sip.info和sip.antisip.com),我也有同样的问题!据我所知,sip2sip.info也在使用OpenSIPS,但AntiSip.com正在使用像AmSIP这样的东西。问题出在我的移动运营商身上了吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

如果您的UA无法接听电话,则表示无法接收信号。为了使您的UA可以访问,它需要注册并保持NAT映射存活。要使NAT映射保持活动状态,您的UA必须定期向服务器发送keepalive。另一个选择是服务器向UA发送Keepalive,但是一些NAT不刷新传入流量的映射。

当您解决第一个问题时,媒体部分会出现STUN,TURN和ICE等技术的帮助。