我有一台运行OpenSIPs 1.11.3的SIP服务器
使用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这样的东西。问题出在我的移动运营商身上了吗?
谢谢!
答案 0 :(得分:0)
如果您的UA无法接听电话,则表示无法接收信号。为了使您的UA可以访问,它需要注册并保持NAT映射存活。要使NAT映射保持活动状态,您的UA必须定期向服务器发送keepalive。另一个选择是服务器向UA发送Keepalive,但是一些NAT不刷新传入流量的映射。
当您解决第一个问题时,媒体部分会出现STUN,TURN和ICE等技术的帮助。