升级Freeswitch
注意:本文档中的命令默认是centos系统命令,如果服务器是ubuntu系统,输入命令时需要命令前面加上sudo
。
# 备份程序
将整个fs目录(除fs目录下的storage文件、recordings文件和sounds文件外)备份一份,防止在后续的升级操作中失误导致程序的无法还原。执行命令如下:
rsync -av --exclude storage --exclude recordings --exclude sounds --exclude log /ddt/fs /ddt/fs_$(date +"%Y-%m-%d")
# 删除老版本
rm -rf /ddt/fs/{sys,lib,bin,installlib.sh,mod}
# 停止freeswitch服务
如果不是通过服务命令方式启动的程序的,可跳过这一步:
systemctl stop freeswitch
# 杀掉进程
kill -9 `pgrep freeswitch`
# 下载并解压freeswitch安装包
# freeswitch下载步骤
下载freeswitch程序安装包,执行以下命令:
cd ~ #下载linux x86版本执行命令: wget http://down.ddrj.com/fs.tar.gz #下载ARM版本执行命令: wget http://down.ddrj.com/fs_arm.tar.gz
1
2
3
4
5将解压freeswitch程序安装包,执行以下命令:
#下载的如果是linux x86版本的,执行命令进行解压: tar xzvf fs.tar.gz #下载的如果是ARM版本的,执行命令进行解压: tar xzvf fs_arm.tar.gz
1
2
3
4
# 升级freeswitch程序
将freeswitch安装包中的可执行程序文件复制到 /ddt/fs/ 目录中,以及从备份程序目录中将mod_cti.so文件复制到 /ddt/fs/mod 目录中。依次执行以下命令:
cp -ar ~/fs/{sys,lib,bin,installfslib.sh,mod} /ddt/fs cp -ar /ddt/fs_$(date +"%Y-%m-%d")/fs/mod/mod_cti.so /ddt/fs/mod
1
2如果有安装空号识别的,需要从备份程序目录中将mod_da2.so文件复制到 /ddt/fs/mod 目录中。执行以下命令:
cp -ar /ddt/fs_$(date +"%Y-%m-%d")/fs/mod/mod_da2.so /ddt/fs/mod
1安装依赖。依次执行以下命令:
cd /ddt/fs chmod +x installfslib.sh ./installfslib.sh
1
2
3
# 检查启动与模块加载
# 1. 前台启动程序,检查是否启动正常
如果是通过systemctl服务命令方式启动的程序,先查看freeswitch.server文件内容,确认程序是通过什么用户启动的。执行以下命令:
cat /usr/lib/systemd/system/freeswitch.service
1如果是文件内容是
User=ddt
,执行以下命令自动程序:chown -R ddt /ddt freeswitch -u ddt
1
2如果是文件内容是
User=root
,执行以下命令自动程序:freeswitch
1
如果是通过任务计划执行fscheck脚本启动的程序,执行以下命令自动程序:
freeswitch
1
前台如果能够正常启动,并且没有红色报错日志,可在freeswitch控制台执行命令退出程序:shutdown
;如果有,联系工作人员解决。(注意:执行shutdown命令是危险操作,一定要确保在freeswitch控制台中,才可以执行该命令退出)
# 2. 切换后台启动,检查模块是否加载成功
如果是通过任务计划执行fscheck脚本启动的程序:
- 等待一分钟,观察程序是否会自动启动。
如果是通过服务命令方式启动的程序,执行以下命令:
systemctl start freeswitch
1执行命令进入freeswitch控制台:
fs_cli
,命令如果执行无效,等待一分钟后再次执行命令。检查模块是否加载成功。freeswitch控制台执行命令:
cti status
,检查cti模块授权情况和到期时间是否正确。freeswitch控制台执行命令:
status
,检查freeswitch程序版本是否已更新成功。目前升级后的freeswitch版本是
1.10.13
。如果没有安装空号识别模块,跳过这一项检查;如果有安装空号识别模块,才检查空号识别模块是否安装成功。freeswitch控制台执行命令:
da2 show
。输出内容如下所示:mod_da2:2.19 libda2:da 2.19 status ready:1 limit:10 peak:0 inuse:0 inchace:
1freeswitch控制台执行命令:
sofia status
,检查是否成功加载出sofia profile。如下所示:
freeswitch@MiWiFi-R3D-srv> sofia status
Name Type Data State
=================================================================================================
external profile sip:mod_sofia@192.168.31.116:11451 RUNNING (0)
internal profile sip:mod_sofia@192.168.31.116:11450 RUNNING (0)
=================================================================================================
2 profiles 0 aliases
2
3
4
5
6
7