freewitch部署,客户端内外网互通
场景:
119.136.89.xxx(对外IP) -> 192.168.135.55(内网freeswitch的ip)
113.111.22.xxx(外网客户端pjsip A) -->通过119.136.89.xxx注册到freeswitch
200.333.44.xxx(外网客户端pjsip B) -->通过119.136.89.xxx注册到freeswitch
192.168.43.xxx(内网客户端pjsip C,和freeswitch在同一内网,不同网段) -->通过192.168.135.55注册到freeswitch
192.168.44.xxx(内网客户端pjsip D,和freeswitch在同一内网,不同网段) -->通过192.168.135.55注册到freeswitch
A、B、C和D互打无问题,freeswitch的配置如下:
要修改两个xml
conf/sip_profiles/internal.xml
conf/sip_profiles/external.xml
1.
将
<param name="apply-nat-acl" value="nat.auto"/>
修改为
<param name="apply-nat-acl" value="rfc1918.auto"/>
2.
将
<param name="local-network-acl" value="localnet.auto"/>
修改为
<param name="local-network-acl" value="rfc1918.auto"/>
3.
将
<param name="ext-rtp-ip" value="auto-nat"/>
<param name="ext-sip-ip" value="auto-nat"/>
修改为
<param name="ext-rtp-ip" value="autonat:119.136.89.xxx"/>
<param name="ext-sip-ip" value="autonat:119.136.89.xxx"/>
注意不能漏掉autonat:
如果没有域名,也可以将119.136.89.xxx填入对应的域名
这里不能填写任何端口
4.
使用pjsip做为客户端时,外网映射到内网的sip端口要保持一致。
如果内网使用5060,外网也要使用5060。
参考
https://lists.freeswitch.org/pipermail/freeswitch-users/2017-July/126974.html