语音不通问题
1 路由器去掉upnp和alg功能。服务器的路由本身没有进行UPNP,没打开NAT ALG(阿里云服务器都没有)。
2 在FS端开启rport功能,这个配置默认被注释掉了。(下文中都是修改配置文件internal.xml)。不开启的话,默认是从Contact头部字段中获取对方地址,这可能会导致IP和端口是对方在其内网的而不是外网的。导致数据无法传输至对方。
<param name="NDLB-force-rport" value="true"/>
3 设置rtp自动调整功能。(这个配置默认被注释掉了,而且原来设置的是true)
<param name="disable-rtp-auto-adjust" value="false"/>
4 设置sip和rtp的外网地址(也可以直接设置公网IP)
<param name="ext-rtp-ip" value="autonat:公网IP"/><param name="ext-sip-ip" value="autonat: 公网IP "/>
5 设置acl参数,以此来判断内外网呼叫。
<param name="local-network-acl" value="lan"/>
6 acl中配置lan(这里修改配置文件acl.conf.xml)
<list name="lan"default="deny"/><node type="allow"cidr="172.16.19.0/24" /></list>
7 开放FS的sip端口和rtp端口(安全组和防火墙都需要设置相应端口),实际上只开发Profile监听端口就行了。比如5060,5080;rtp端口会自动nat。
8 针对没有rport功能的终端,在reg.xml(分机配置文件)中加入。
<variable name="sip-force-contact" value="NDLB-connectile-dysfunction"/>