介绍: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并进入控制台
解决执行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软电话注册成功
解决软电话注册错误问题状态码
- =============1、404 Not found==============
- 原因:freeswtich没有启动或者端口被占用,总之Eyebeam不能到达指定domain
- 解决方法:
- 确保freeswitch已经启动并且5060端口没被占用
- #netstat -napl|grep 5060
- =============2、403 forbidden==============
- 用户名密码错误
- 原因:freeswitch一开始安装好 默认会给你配置好20个account (1000-1019),密码统一是1234,这个可以在freeswitch/conf/vars.xml里面修改
- 解决方法:
- 检查用户名密码是否错误
- =============3、408 timeout===============
- 连接超时
- 原因:Eyebeam上配置的domain不正确, 或者网络有问题
- 解决方法:
- a、确保所填的域名是正确的ip地址
- b、确保已经关闭防火墙(centos下)
- 关闭防火墙:
- systemctl stop firewalld.service
- 查看防火墙状态
- #firewall-cmd --state
- 输出:not running //说明防火墙已经关闭
- c、查看iptables
2.开始拨号,默认内置拨号如下
3.Eyebeam拨打9196号码进行回音测试
如图所示呼叫建立成功、麦克风有电话回音、freeswitch控制台日志输出正常!
标签:验证,手把手,devel,usr,Eyebeam,freeswitch,控制台,安装 From: https://www.cnblogs.com/kn-zheng/p/17025601.html