上次提到《asterisk,没声音》,经过无数个不眠之夜的苦思冥想,终于柳暗花明杏花村、船到桥头撞个坑,有声音出好戏了。
网络结构如下:
asterisk(192.168.1.99) <–> 无线路由器(公网IP: 55.66.77.88) <———————–>
也就是说asterisk和sip终端都在NAT后面。
解决方法如下:
1。修改sip分机设置,在sip_additional.conf的[615]段 <– 这个文件可能不存在,如果不存在自行创建
nat=yes
qualify=yes ;貌似这项不是必须的
2。在sip_nat.conf中添加 <– 这个文件可能不存在,如果不存在自行创建
;[general]
externip=55.66.77.88 ; Change to match our external IP address
localnet=192.168.1.0/255.255.255.0; Change to match our network settings
3。在rtp.conf中修改
rtpstart=10000
rtpend=11000
4。修改asterisk所在的无线路由器的设置
将sip端口5060和rtp端口10000-11000到asterisk的内网IP地址
以上设置基本上行了,另外发现两个sip软电话在通话时,asterisk上会监听两组UDP端口,貌似语音需要通过asterisk中转。