SIP信号与公共wifi?

时间:2015-09-16 08:53:21

标签: java sip jain-sip

我遇到了Jain SIP的问题。我的应用程序用于进行VOIP呼叫。它适用于以太网,但它在公共Wifi中失败了。

下面是我发送到SIP服务器的包。服务器似乎没有响应任何数据(它适用于ethenet)

REGISTER sip:sip.linphone.org:5060 SIP/2.0
Call-ID: 56866e2b305987eac0d6e8bee07c6f69@192.168.56.1
CSeq: 1 REGISTER
From: "myaccount" <sip:myaccount@sip.linphone.org>;tag=647554
To: "myaccount" <sip:myaccount@sip.linphone.org>
Via: SIP/2.0/UDP 192.168.56.1:5075;branch=z9hG4bK-333032-33f14b15adbdc0cd848ccd102acb2b45
Max-Forwards: 70
Contact: <sip:192.168.56.1:5075>
Expires: 60000
Content-Length: 0

有没有人有任何想法?

2 个答案:

答案 0 :(得分:0)

这很可能是NAT /防火墙问题。首先检查DNS,如果sip.linphone.org在您的Wifi上正确解析。第二,你是NAT的后面,并正在宣传私有IP 192.168.56.1,所以远程方必须能够找到你的公共IP,这是不可能的。您将需要查看STUN和STUN4j(如果这还不够,请查看TURN和ICE)以找到您自己的公共IP和端口,linphone已经在stun.linphone.org上托管了一个眩晕服务器来帮助您。 NAT遍历可能非常复杂。如果您有一个公共IP和端口,只需将公共IP放入其中即可使用。

另一件事是你没有在这里发送任何SDP,所以SDP可能无关紧要。但是如果你以后有SDP和RTP,那么你可能需要调查TURN和ICE来放入SDP并通过第三方中继RTP。它取决于远程端支持的内容,具体取决于您的NAT配置。有时远程服务器可以像你现在发送REGISTER一样正常工作,但有时它们需要很多额外的东西,或者它们可能根本不起作用。

答案 1 :(得分:0)

它不是一个peivate /公共知识产权问题。至于您的SIP服务器托管在公共IP中(这是非常正常的),私有IP中的客户端无关紧要。

查看您的SIP消息。您正在为SIP服务器提供私有IP。

  

Call-ID:56866e2b305987eac0d6e8bee07c6f69@192.168.56.1

只需使用您的公共IP更改IP地址即可。如果你不知道你的外部IP,那么你需要学习如何获得它。