我在公共IP中运行Asterisk服务器。当我将SIP软电话连接到服务器时,我可以在软电话之间进行通话和通话。但是,在软电话中听不到星号服务器上播放的任何内容。在星号服务器日志中,我可以看到像"玩' hello-world.gsm' "但我听不到任何消息。
用于在服务器中发送和接收UDP数据包的端口为5060,10000到20000,4569,5036和2727
当我在局域网内设置服务器时,一切都运行良好。所以我怀疑它可能与某些防火墙配置有关。请帮帮我。
注意:SIP软电话在使用带有Cone NAT的wifi加密狗连接到互联网的机器上运行
答案 0 :(得分:1)
只是为了澄清它看起来像你的星号框在局域网上,并且有一个提供公共IP地址的NAT设备。在这种情况下,您应该为网络地址转换配置星号。
在sip.conf中,将以下参数设置为正确的值:
directmedia = no
nat = force_rport,comedia
canreinvite = no
insecure = port,invite
localnet =
externip/externhost =
使用sip set debug on
命令验证星号是否用sip对话框中的externip替换为公共客户端的本地地址。
此外,rtp set debug on
可用于显示音频(RTP)数据包是否到达星号框。