freeswitch-ubuntu安装
一,软件及环境准备:
./configure -C --enable-core-odbc-support
make
make install
1,阿里云不支持ipv6,做处理
<param name="listen-ip" value="::"/>修改为
<param name="listen-ip" value="127.0.0.1"/>
对相应IPv6文件做处理
ls /usr/local/freeswitch/conf/sip_profiles/internal-ipv6.xml
ls /usr/local/freeswitch/conf/sip_profiles/external-ipv6.xml
ls /usr/local/freeswitch/conf/sip_profiles/external-ipv6
cp /usr/local/freeswitch/conf/sip_profiles/internal-ipv6.xml /usr/local/freeswitch/conf/sip_profiles/internal-ipv6.xml_bak
cp /usr/local/freeswitch/conf/sip_profiles/external-ipv6.xml /usr/local/freeswitch/conf/sip_profiles/external-ipv6.xml_bak
cp /usr/local/freeswitch/conf/sip_profiles/external-ipv6 /usr/local/freeswitch/conf/sip_profiles/external-ipv6_bak -ra
2,为了安全修改SIP默认端口和分机默认密码
vi /usr/local/freeswitch/conf/vars.xml
<X-PRE-PROCESS cmd="set" data="default_password=1234"/>
修改成其他随机端口
<X-PRE-PROCESS cmd="set" data="internal_sip_port=5060"/>
<X-PRE-PROCESS cmd="set" data="external_sip_port=5080"/>
请根据自己情况修改编码
<X-PRE-PROCESS cmd="set" data="global_codec_prefs=OPUS,G722,PCMU,PCMA,VP8"/>
<X-PRE-PROCESS cmd="set" data="outbound_codec_prefs=OPUS,G722,PCMU,PCMA,VP8"/>
OPUS G722 VP8删除了,修为
<X-PRE-PROCESS cmd="set" data="global_codec_prefs=PCMU,PCMA"/>
<X-PRE-PROCESS cmd="set" data="outbound_codec_prefs=PCMU,PCMA"/>
阿里云专有网络,请设置为公网IP
<X-PRE-PROCESS cmd="set" data="external_sip_ip=阿里云公网IP"/>
<X-PRE-PROCESS cmd="set" data="external_rtp_ip=阿里云公网IP"/>
<param name="ext-rtp-ip" value="auto-nat"/>
<param name="ext-sip-ip" value="auto-nat"/>
修改为
<param name="ext-rtp-ip" value="$${external_rtp_ip}"/>
<param name="ext-sip-ip" value="$${external_sip_ip}"/>
4,/usr/local/freeswitch/conf/sip_profiles/internal.xml
<param name="ext-rtp-ip" value="auto-nat"/>
<param name="ext-sip-ip" value="auto-nat"/>
修改为
<param name="ext-rtp-ip" value="$${external_rtp_ip}"/>
<param name="ext-sip-ip" value="$${external_sip_ip}"/>
5,修改配置文件4--打开NAT支持
/usr/local/freeswitch/conf/sip_profiles/external.xml
and
/usr/local/freeswitch/conf/sip_profiles/internal.xml
找到下面内容,去除注释,如果找不到自己添加
<param name="aggressive-nat-detection" value="true"/>
<param name="NDLB-force-rport" value="true"/>
vi /usr/local/freeswitch/conf/sip_profiles/external.xml
vi /usr/local/freeswitch/conf/sip_profiles/internal.xml
6,以上配置 都是在 public里面,这个是任意Ip都可以呼入的,请在业务通过flow和calleeid字段控制一下,防止非法呼入。
也可以直接配置ACL,只有指定的IP才可以呼入。(如下配置ACL)
/usr/local/freeswitch/conf/sip_profiles/external.xml
在这句 <param name="local-network-acl" value="localnet.auto"/>
这之后加入 <param name="apply-inbound-acl" value="callin"/>
7,cat /usr/local/freeswitch/conf/autoload_configs/acl.conf.xml
加入
<list name="callin" default="deny">
<!--
<node type="allow" cidr="可以呼入的IP1/32"/>
<node type="allow" cidr="可以呼入的IP3/32"/>
<node type="allow" cidr="0.0.0.0/0"/> 这个写法就是允许任意IP
-->
</list>
这之前加入
</network-lists>
</configuration>
8,大并发优化
df
tmpfs 977004 0 977004 0% /dev/shm
看到这个就是创建了
1)修改配置文件1:usr/local/freeswitch/conf/autoload_configs/switch.conf.xml
<param name="max-sessions" value="20000"/>
<param name="sessions-per-second" value="2000"/>
<param name="core-db-name" value="/dev/shm/core.db" />
2)修改配置文件2:/usr/local/freeswitch/conf/sip_profiles/internal.xml
<!--<param name="dbname" value="share_presence"/>-->
修改为
<param name="dbname" value="/dev/shm/sofia_reg_internal.db"/>
3)修改配置文件3:/usr/local/freeswitch/conf/sip_profiles/external.xml
<!--<param name="dbname" value="share_presence"/>-->
修改为
<param name="dbname" value="/dev/shm/sofia_reg_external.db"/>
八 freeswitch 命令操作
十,安装freeswitch 可能遇到的问题 见freeswitch常见问题
十一,Linux下Mysql_odbc的安装配置odbc
4,安装数据库,同时创建数据库autodialer
CREATE DATABASE autodialer DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
5,执行如下命令:
myodbc-installer -d -a -n "MYSQL" -t "DRIVER=/usr/lib/x86_64-linux-gnu/odbc/libmyodbc8a.so;SETUP=/usr/lib/x86_64-linux-gnu/odbc/libmyodbc8a.so"
6,最后执行:isql -v autodialer
到这里有关mysql-odbc的安装配置终于完成