Networking 通过sip从外部网络连接星号

Networking 通过sip从外部网络连接星号,networking,asterisk,Networking,Asterisk,我在具有公共ip的服务器中有星号。我正试图从sip电话(zoipar)的外部网络中输入星号。我已经在路由器上打开了端口5060,它是asterisk sip连接的默认udp端口,我还打开了asterisk中rtp.conf中定义的rtp的10000-20000端口。 当我尝试从网络外部将我的软电话连接到asterisk服务器时,它会显示注册超时,当我检查端口5060是否被点击时,它不会显示任何内容。 在我的服务器上,5060正在运行 netstat -nlp | grep 5060 udp

我在具有公共ip的服务器中有星号。我正试图从sip电话(zoipar)的外部网络中输入星号。我已经在路由器上打开了端口5060,它是asterisk sip连接的默认udp端口,我还打开了asterisk中rtp.conf中定义的rtp的10000-20000端口。 当我尝试从网络外部将我的软电话连接到asterisk服务器时,它会显示注册超时,当我检查端口5060是否被点击时,它不会显示任何内容。 在我的服务器上,5060正在运行

netstat -nlp | grep 5060

udp        0      0 0.0.0.0:5060  0.0.0.0:*  21768/asterisk

顺便说一句,我可以毫无问题地从本地网络连接。

您需要将路由器上的传入流量从SIP和RTP转发到asterisk服务器,仅打开这些端口是不够的,您需要解释路由器将这些端口上的传入流量发送到哪里。

您需要设置NAT

这篇文章将帮助你解决你的处境


您需要登录路由器并将端口转发到asterisk server内部IP

您还需要确保服务器上的防火墙设置正确,以允许端口进出服务器


您可以在此处阅读有关iptables的更多信息:

由于您尚未收集任何信息,请首先确保使用asterisk cli
sip debug
tcpdump
从外部接收sip数据包,然后查看数据包以查看您从哪个ip接收,您可能需要更改sip中的
externip
nat
配置。如果您的计算机支持nat,您可能需要使用STUN服务器。启用STUN支持并在sip电话中指定STUN服务器的主机名(或IP)。@Vahid感谢您的建议:),当我尝试使用tcpdump捕获sip数据包时,我只看到来自本地计算机的数据包,而不是来自外部计算机的数据包。我已经根据例子给出了扩展。什么问题?我无法从外部网络获取sip数据包?@pce是的,我的计算机在NAT后面,我将尝试使用STUN服务器(我不知道那是什么),但我刚刚在google上找到一些链接,我将尝试让你知道:)谢谢,你能指导我如何将传入的流量转发到这些端口吗?因为在过去的3-4天里,我已经尽了我所能,我在谷歌上搜索了很多次,仍然找不到任何解决方案。当我尝试在端口5060上监视流量时,没有流量,也没有为该端口生成日志或命中,其他端口工作正常,只是不是5060。而且我已经在路由器上打开了5060端口。通常,这是在路由器端完成的,您需要选择端口转发部分,至少在我的路由器上是这样称呼的,选择传入范围5060UDP/10000-20000UDP,至少从我记忆中可以选择,并将流量转发到您的星号计算机我已经完成了,对我不起作用,我在我的计算机上看不到任何流量日志..:(好的,让我们看看,你有什么类型的星号?它是从源代码编译的还是类似于PIAF的东西?它是Linux服务器吗?我之前写过一个常见的方法来调试这种连接问题。让我们看看你的星号服务器周围是什么,可能是防火墙?谢谢你的ans,但它不起作用:(,我在服务器的udp端口5060上没有受到任何攻击,因此我无法连接到asterisk服务器。