经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » Linux/Shell » 查看文章
手把手教你部署验证freeswitch(避免踩坑)
来源:cnblogs  作者:南国以南i  时间:2021/5/24 10:46:07  对本文有异议

前言:请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i

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

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

环境:Linux:Centos7、Freeswitch1.6 、Eyebeam

一、部署安装freeswitch

1.安装freeswitch需要的依赖

  1. #安装依赖
  2. yum install -y http://files.freeswitch.org/freeswitch-release-1-6.noarch.rpm epel-release
  3. #安装依赖
  4. 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安装包

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

3.编译freeswitch

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

  1. #进入安装包目录
  2. cd /usr/local/src/freeswitch
  3. #执行编译命令
  4. ./bootstrap.sh -j
  5. ./configure
  6. make
  7. make -j install
  8. #安装声音文件
  9. make -j cd-sounds-install
  10. make -j cd-moh-install

4.freeswitch安装结果

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

5.配置freeswitch任何路径启动

  1. #将freeswitch作符号软链接
  2. ln -sf /usr/local/freeswitch/bin/freeswitch /usr/bin/
  3. #fs_cli作符号软链接
  4. ln -sf /usr/local/freeswitch/bin/fs_cli /usr/bin/

6.freeswitch 命令操作

  1. ===============启动命令================
  2. #详细启动日志并进入控制台模式命令
  3. freeswitch -c -nonat -rp
  4. #退出详细模式启动命令
  5. shutdown
  6. #后台启动freeswitch服务(推荐使用)
  7. freeswitch -nc -nonat
  8. #进入控制台模式命令
  9. fs_cli
  10. #退出控制台命令
  11. /exit
  12. #关闭freeswitch命令
  13. freeswitch -stop
  14. ===============查询服务命令=============
  15. #查看freeswitch安装路径
  16. whereis freeswitch
  17. 查看进程号
  18. ps -ef | grep freeswithch
  19. 查看freeswitch端口是否被监听
  20. netstat -anp | grep 5060
  21. #查看freeswitch的运行状态
  22. status(控制台模式执行)
  23. #查看freewitch内置用户是否注册
  24. sofia status profile internal reg(控制台模式执行)

7.启动freeswitch并进入控制台

  解决执行fs_cli进入控制台模式报错:[ERROR] fs_cli.c:1659 main() Error Connecting [Socket Connection Error]

  1. #进入freeswitch配置文件路径
  2. cd /usr/local/freeswitch/conf/autoload_configs/
  3. #修改配置
  4. vim event_socket.conf.xml
  5. #更改结果
  6. <param name="listen-ip" value="::"/> 改为 <param name="listen-ip" value="0.0.0.0"/>
  7. #重启freeswitch
  8. freeswitch -stop
  9. freeswitch -nc -nonat
    fs_cli

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

 

二、freeswitch服务通话测试

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

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

  Eyebeam软电话注册成功

 

 解决软电话注册错误问题状态码

  1. =============1404 Not found==============
    服务ip地址不可用
  2. 原因:freeswtich没有启动或者端口被占用,总之Eyebeam不能到达指定domain
  3. 解决方法:
  4. 确保freeswitch已经启动并且5060端口没被占用
  5. #netstat -napl|grep 5060
  6.  
  7. =============2403 forbidden==============
  8. 用户名密码错误
  9. 原因:freeswitch一开始安装好 默认会给你配置好20account 1000-1019),密码统一是1234,这个可以在freeswitch/conf/vars.xml里面修改
  10. 解决方法:
  11. 检查用户名密码是否错误
  12. =============3408 timeout===============
  13. 连接超时
  14. 原因:Eyebeam上配置的domain不正确, 或者网络有问题
  15. 解决方法:
  16. a、确保所填的域名是正确的ip地址
  17. b、确保已经关闭防火墙(centos下)
  18. 关闭防火墙:
  19. systemctl stop firewalld.service
  20. 查看防火墙状态
  21. #firewall-cmd --state
  22. 输出:not running //说明防火墙已经关闭
  23. c、查看iptables

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

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

 如图所示呼叫建立成功、麦克风有电话回音、freeswitch控制台日志输出正常!

参考链接一参考链接二

原文链接:http://www.cnblogs.com/bgyb/p/14785111.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号