我正在尝试安装一个Asterisk-Server接受来自其他networking客户端的呼叫。 服务器和客户端位于NAT之后。
我已经在客户端启动了STUN,但是我仍然在听到对方的问题。 一段时间后,呼叫结束,Asterisklogging一条关于重传超时的消息,并且没有收到对于关键数据包的回复。
最简单,懒散的方法是把你的星号框设置成1:1的natconfiguration(通常称为家庭路由器上的DMZ主机),并确保在sip.conf中设置了externip =。
SIP和NAT常见的麻烦是:
假设你不能1:1 NAT星号,试试这些:
在sip.conf的一般部分中:
在问题手机的设备部分: – qualify = 5000(这将导致星号每5秒检查分机号码,根据需要调整,只要它比你的NAT超时短,它应该保持映射)
在您的NAT /防火墙上 – 确保rtp.conf中列出的所有UDP端口都有转发条目到您的星号服务器。 通常情况下,这可能是10000-12000(每个呼叫最多可以使用4个RTP频道,所以设置至less可以处理500个同时呼叫)。 当然,5060(SIP信令)
我发现这个网页在过去很有帮助: http : //asteriskguru.com/tutorials/sip_nat_oneway_or_no_audio_asterisk.html
如果你使用一个带有networking界面(FreePBX,Elastix,Trixbox,PBX-in-a-flash等等)的星号发行版让我知道,我可以build议一些GUI设置,而不是直接编辑conf文件。 我有大部分的debugging问题的不满…
值得注意的是,一旦你设置了外部IP地址,你不可能(也可能不应该)设置本地networking地址。 根据詹姆斯的评论:如果你的防火墙正在为你处理这个问题,它可能会造成令人难以置信的隐藏的回环情况。