freeswitch无法启动处理流程
如果发现freeswitch程序无法成功启动,一律的做法都是:先结束当前进程,改为前台启动。前台启动会输出启动日志,可以查看程序启动失败的错误日志,从而确定失败原因。
# 切换前台启动
在切换为前台启动之前,需要先判断freeswitch程序后台启动的方式,然后执行对应的命令启动程序:
# 任务计划启动
结束当前进程,可执行以下命令:
kill -9 `pgrep freeswitch`
1前台启动程序,可执行以下命令:
freeswitch
1
# 服务命令启动
结束当前进程,可执行以下命令:
sudo systemctl stop freeswitch
1查看freeswitch.server文件内容,确认程序是通过什么用户启动的。执行以下命令:
cat /usr/lib/systemd/system/freeswitch.service
1如果是文件内容是
User=ddt
,执行以下命令启动程序:sudo chown -R ddt /ddt freeswitch -u ddt
1
2如果是文件内容是
User=root
,执行以下命令启动程序:freeswitch
1
# 启动失败案例总结
# 授权到期
freeswitch程序模块到期导致的启动失败,程序前台启动日志如图所示:
处理方法:需要找顶顶通的工作人员,询问模块如何延期。
# 配置文件加载失败
cti.json文件内容格式错误导致的启动失败,程序前台启动日志如图所示:
处理方法:图中的日志已经定位了/ddt/fs/conf/cti.json
文件格式错误的内容:{"key":""}
。
- 把错误的格式修改正确。
- 重启freeswitch程序。
# 许可证占用
如果是因为许可证被占用导致程序启动失败,程序前台启动日志如图所示:
处理方法:
- 删除文件
/tmp/a32850357946e63dbbbe5d64e29f7847
。 - 重启freeswitch程序。
# Redis连接失败
# 1. Redis密码错误
Redis密码错误连接不上Redis,导致程序启动失败,程序前台启动日志如图所示:
处理方法:
- 在
/ddt/fs/conf/cti.json
配置文件中修改成正确的Redis密码。 - 重启freeswitch程序。
# 2. Redis连接超时
Redis连接超时,导致程序启动失败,程序前台启动日志如图所示:
处理方法:Redis连接超时是因为连接Redis的网络不通,可能原因有:
- 防火墙问题:该问题常出现在freeswitch连接的是非本地服务器的redis,需要关闭防火墙或者修改防火墙规则,确保freeswitch程序能正常连接redis。
- 监听的IP和端口不对:
- 查看redis程序监听的IP和端口,执行命令:
netstat -natp | grep redis
- 如果监听的IP或者端口不对,在
/ddt/fs/conf/cti.json
配置文件中修改成正确的IP和端口。 - 重启freeswitch程序。
- 查看redis程序监听的IP和端口,执行命令:
上次更新: 2025/01/20, 17:34:40