centos系统下FreeSwitch安装全过程
0、准备
1、环境:centos7
2、安装所需包:
(1)freeswitch-1.6.17编译好的包
(2)freeswitch-1.6.17.sql文件
(3)mysql的rpm包
(4)jdk的rpm包
(5)odbc的rpm包
(6)odbc.ini配置文件
一、系统准备
net.ipv4.ip_forward = 1
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.core.somaxconn = 2048
net.ipv4.ip_local_port_range= 1024 65535
net.core.rmem_default = 262144
net.core.wmem_default = 262144
fs.file-max = 104857
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 4096 16777216
net.ipv4.tcp_wmem = 4096 4096 16777216
net.ipv4.tcp_mem = 786432 3145728 4194304
net.ipv4.tcp_max_syn_backlog = 16384
net.core.netdev_max_backlog = 20000
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_max_orphans= 131072
二、安装MYSQL
[root@localhost freeswitch]# rpm -qa|grep mariadb
mariadb-libs-5.5.56-2.el7.x86_64
rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps
[root@localhost freeswitch]# cd mysql
rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm
三、修改其他
lower_case_table_names=1
max_connections=5000
systemctl stop firewalld.service
systemctl disable firewalld.service
四、JDK安装
[root@localhost mysql]# cd ../
[root@localhost freeswitch]# ls
freeswitch-1.6.17.sql mysql odbc odbc.ini
[root@localhost freeswitch]# cd odbc
[root@localhost odbc]# ls
jdk-linux-x64.rpm libmyodbc5S.so unixODBC-2.3.1-11.el7.x86_64.rpm
libmyodbc5a.so libmyodbc5w.so unixODBC-devel-2.3.1-11.el7.x86_64.rpm
[root@localhost odbc]#
rpm -ivh jdk-linux-x64.rpm
五、ODBC安装
[root@localhost odbc]# rpm -ivh unixODBC-2.3.1-11.el7.x86_64.rpm
准备中... ################################# [100%]
正在升级/安装...
1:unixODBC-2.3.1-11.el7 ################################# [100%]
[root@localhost odbc]# rpm -ivh unixODBC-devel-2.3.1-11.el7.x86_64.rpm
准备中... ################################# [100%]
正在升级/安装...
1:unixODBC-devel-2.3.1-11.el7 ################################# [100%]
ln libmyodbc5* /usr/lib64/
[root@localhost odbc]# ls
jdk-linux-x64.rpm libmyodbc5S.so unixODBC-2.3.1-11.el7.x86_64.rpmlibmyodbc5a.so libmyodbc5w.so unixODBC-devel-2.3.1-11.el7.x86_64.rpm
[root@localhost odbc]# cd ../
[root@localhost freeswitch]# ls
freeswitch-1.6.17.sql mysql odbc odbc.ini
[root@localhost freeswitch]# mv odbc.ini /etc/
[root@localhost freeswitch]# ls
freeswitch-1.6.17.sql mysql odbc
[root@localhost freeswitch]# vim /etc/odbc.ini
六、freeswitch安装
yum install -y git gcc-c++ wget alsa-lib-devel autoconf automake bison broadvoice-devel bzip2 curl-devel db-devel e2fsprogs-devel flite-
devel g722_1-devel gdbm-devel gnutls-devel ilbc2-devel ldns-devel libcodec2-devel libcurl-devel libedit-devel libidn-devel libjpeg-devel
libmemcached-devel libogg-devel libsilk-devel libsndfile-devel libtheora-devel libtool libvorbis-devel libxml2-devel lua-devel lzo-devel
mongo-c-driver-devel ncurses-devel net-snmp-devel openssl-devel opus-devel pcre-devel perl perl-ExtUtils-Embed pkgconfig portaudio-
devel postgresql-devel python26-devel python-devel soundtouch-devel speex-devel sqlite-devel unbound-devel unixODBC-devel libuuid-
devel which yasm zlib-devel --skip-broken
* soft nofile 65530 * hard nofile 65530
七、配置profile
原先:<param name="odbc-dsn" value="freeswitch3:root:tydic2020@AbcDic"/>
改为:<param name="odbc-dsn" value="freeswitch:root:tydic2017AbcDic"/>
盲注册、盲校验
<param name="accept-blind-auth" value="true" />
<param name="accept-blind-reg" value="true" />
其中设置context在修改拨号计划进行关联
<param name="context" value="robotv4"/>
端口号在:<param name="sip-port" value="5080"/>
指定实例不同的域:<param name="dbname" value="share_presence"/>
在directory中difault文件也有
更改IP地址:
<param name="rtp-ip" value="172.29.50.60"/>
<!-- ip address to bind to, DO NOT USE HOSTNAMES ONLY IP ADDRESSES -->
<param name="sip-ip" value="172.29.50.60"/>
<param name="ext-rtp-ip" value="172.29.50.60"/>
<param name="ext-sip-ip" value="172.29.50.60"/>
/usr/local/freeswitch/conf/directory/default
1 2 | /usr/local/freeswitch/conf/dialplan 有文件:robotv3.xml robotv4.xml |
rm -rf arthas-output arthas-output.zip
6、文件路径在:/usr/local/freeswitch/autoload_configs
vim switch.conf.xml
vim db.conf.xml
修改数据库连接
7、call-center包连的freeswitch的端口用的event_socket,所在的文件地址:
/usr/local/freeswitch/autoload_configs/event_socket.conf.xml
八、启动freeswitch
九、配置eventsocket
十、配置mrcp
十一、配置证书
<param name="ws-binding" value=":5066"/> <param name="wss-binding" value=":7443"/> <param name="apply-candidate-acl" value="jssipacl"/> <param name="tls-cert-dir" value="/usr/local/freeswitch/conf/certs"/>
<list name="jssipacl" default="allow"> <node type="allow" host="192.0.0.0" mask="255.0.0.0"/> <node type="allow" host="172.0.0.0" mask="255.0.0.0"/> <node type="allow" host="10.0.0.0" mask="255.0.0.0"/> </list>
十二、重启
=================================================================================================
Name robotv3
Domain Name N/A
Auto-NAT
false
DBName
sofia_reg_robotv3
Pres Hosts
Dialplan XML
Context robotv3
Challenge Realm auto_to
RTP-IP 192.168.67.250
Ext-RTP-IP
192.168.67.250
SIP-IP 192.168.67.250
Ext-SIP-IP 192.168.67.250
URL sip:mod_sofia@192.168.67.250:5070
BIND-URL
sip:mod_sofia@192.168.67.250:5070;maddr=192.168.67.250;transport=udp,tcp
WS-BIND-URL sip:mod_sofia@192.168.67.250:5066;transport=ws
WSS-BIND-URL sips:mod_sofia@192.168.67.250:7443;transport=wss
HOLD-MUSIC local_stream://moh
OUTBOUND-PROXY N/A
CODECS IN
PCMA,PCMU
CODECS OUT PCMU,PCMA
TEL-EVENT
101
DTMF-MODE rfc2833
CNG 13SESSION-TO 0
MAX-DIALOG 0
NOMEDIA false
LATE-NEG
true
PROXY-MEDIA false
ZRTP-PASSTHRU true
AGGRESSIVENAT
false
CALLS-IN
0
FAILED-CALLS-IN 0
CALLS-OUT 0
FAILED-CALLS-OUT
0
REGISTRATIONS 0
oridinate {absolute_codec_string=pcma}Sofia/robotv3/18324718426 &each()
uuid_broadcast uuid $${sounds_dir}/keep.wav
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧