手把手教你部署验证freeswitch(避免踩坑)

介绍:freeswitch可集成ASR(语音识别)和TTS(文本转语音)创建智能电话机器人和用户通话,可用于问卷调查,自动催缴等业务,电话咨询服务,支持百度,科大,阿里云,腾讯等ASR系统,可以真人预先录音,用户完全察觉不到是机器人。

背景:初次接触freeswitch,部署安装的时候碰到了很多坑,文章也采取了很多前辈的经验,由此记录下来
环境:Linux:Centos7、Freeswitch1.6 、Eyebeam



一、部署安装freeswitch

1.安装freeswitch需要的依赖

#安装依赖
yum install -y http://files.freeswitch.org/freeswitch-release-1-6.noarch.rpm epel-release
#安装依赖
yum install -y git alsa-lib-devel autoconf automake bison broadvoice-devel bzip2 curl-devel libdb4-devel e2fsprogs-devel erlang flite-devel g722_1-devel gcc-c++ 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 libtiff-devel libtool libuuid-devel 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 python-devel python-devel soundtouch-devel speex-devel sqlite-devel unbound-devel unixODBC-devel wget which yasm zlib-devel libshout-devel libmpg123-devel lame-devel

2.下载freeswitch安装包

#进入指定目录
cd /usr/local/src
#通过git拉取安装包
git clone -b v1.6 https://github.com/signalwire/freeswitch.git

3.编译freeswitch

友情提示:此处编译至少需要耗费半小时,可喝一杯咖啡放松一下~

#进入安装包目录
cd /usr/local/src/freeswitch
#执行编译命令
./bootstrap.sh -j
./configure 
make
make -j install

#安装声音文件
make -j cd-sounds-install
make -j cd-moh-install

4.freeswitch安装结果

注: 至此freeswitch就已经安装完了,freeswitch其默认的安装位置是/usr/local/freeswitch
安装结果

5.配置freeswitch任何路径启动

#将freeswitch作符号软链接
ln -sf /usr/local/freeswitch/bin/freeswitch /usr/bin/
#fs_cli作符号软链接
ln -sf /usr/local/freeswitch/bin/fs_cli /usr/bin/

6.freeswitch 命令操作

===============启动命令================
#详细启动日志并进入控制台模式命令
freeswitch -c -nonat -rp
#退出详细模式启动命令
shutdown
#后台启动freeswitch服务(推荐使用)
freeswitch -nc -nonat
#进入控制台模式命令
fs_cli
#退出控制台命令
/exit 
#关闭freeswitch命令
freeswitch -stop
===============查询服务命令=============
#查看freeswitch安装路径
whereis freeswitch
查看进程号
ps -ef | grep freeswithch
查看freeswitch端口是否被监听
netstat -anp | grep 5060
#查看freeswitch的运行状态
status(控制台模式执行)
#查看freewitch内置用户是否注册
sofia status profile internal reg(控制台模式执行)

7.启动freeswitch并进入控制台

启动freeswistch服务

解决执行fs_cli进入控制台模式报错:[ERROR] fs_cli.c:1659 main() Error Connecting [Socket Connection Error]
#进入freeswitch配置文件路径
cd /usr/local/freeswitch/conf/autoload_configs/
#修改配置
vim event_socket.conf.xml
#更改结果
<param name="listen-ip" value="::"/>  改为 <param name="listen-ip" value="0.0.0.0"/>
#重启freeswitch
freeswitch -stop
freeswitch -nc -nonat
fs_cli

完成以上步骤至此freeswitch部署大功告成!

二、freeswitch服务通话测试

电脑下载软电话注册软件:X-Lite、Zoiper、Eyebeam(嘘~需要Eyebeam绿色版的小伙伴可以联系我🤫)

1.使用Eyebeam软件进行配置注册

配置注册

Eyebeam软电话注册成功

注册成功

解决软电话注册错误问题状态码
=============1404 Not found==============
服务ip地址不可用

原因:freeswtich没有启动或者端口被占用,总之Eyebeam不能到达指定domain

解决方法:
确保freeswitch已经启动并且5060端口没被占用
#netstat -napl|grep 5060

=============2403 forbidden==============
用户名密码错误

原因:freeswitch一开始安装好 默认会给你配置好20个account (1000-1019),密码统一是1234,这个可以在freeswitch/conf/vars.xml里面修改
解决方法:
检查用户名密码是否错误

=============3408 timeout===============
连接超时
原因:Eyebeam上配置的domain不正确, 或者网络有问题

解决方法:
a、确保所填的域名是正确的ip地址
b、确保已经关闭防火墙(centos下)
关闭防火墙:
systemctl stop firewalld.service
查看防火墙状态
#firewall-cmd --state 
输出:not running  //说明防火墙已经关闭
c、查看iptables

2.开始拨号,默认内置拨号如下

内置拨号

3.Eyebeam拨打9196号码进行回音测试

回音测试
如图所示呼叫建立成功、麦克风有电话回音、freeswitch控制台日志输出正常!
参考链接一参考链接二

三、结语

我是南国以南i记录点滴每天成长一点点,学习是永无止境的!转载请附原文链接!!!

  • 5
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
部署 FreeSWITCH,你需要按照以下步骤进行操作: 1. 安装依赖: - 在 Ubuntu 上,可以使用以下命令安装所需的依赖: ``` sudo apt-get update sudo apt-get install -y autoconf automake libtool wget python-dev build-essential zlib1g-dev libjpeg-dev libncurses5-dev libssl-dev libsqlite3-dev libcurl4-openssl-dev libpcre3-dev libspeex-dev libspeexdsp-dev libldns-dev libedit-dev yasm ``` 2. 下载 FreeSWITCH 源码: - 使用以下命令从官方网站下载最新的 FreeSWITCH 源码包: ``` wget https://files.freeswitch.org/freeswitch-releases/freeswitch-1.10.5.tar.gz tar xzf freeswitch-1.10.5.tar.gz ``` 3. 编译和安装 FreeSWITCH: - 进入解压后的源码目录: ``` cd freeswitch-1.10.5 ``` - 运行以下命令进行配置和编译: ``` ./bootstrap.sh -j ./configure --prefix=/usr/local/freeswitch make && make install ``` 4. 设置系统服务: - 创建一个 systemd 服务单元文件 `/etc/systemd/system/freeswitch.service`,并将以下内容写入文件中: ``` [Unit] Description=FreeSWITCH After=network.target [Service] Type=forking User=freeswitch Group=freeswitch ExecStart=/usr/local/freeswitch/bin/freeswitch -ncwait -nonat -u freeswitch -g freeswitch PIDFile=/usr/local/freeswitch/run/freeswitch.pid [Install] WantedBy=default.target ``` - 运行以下命令启动 FreeSWITCH 服务: ``` systemctl daemon-reload systemctl enable freeswitch systemctl start freeswitch ``` 5. 验证安装: - 运行以下命令检查 FreeSWITCH 是否正在运行: ``` systemctl status freeswitch ``` - 如果一切正常,你应该能够看到 FreeSWITCH 运行的状态信息。 这些步骤应该能够帮助你成功部署 FreeSWITCH。如果你遇到任何问题,请查看 FreeSWITCH 官方文档或在社区寻求帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值