首页 > 其他分享 >手把手教你部署验证freeswitch(避免踩坑)

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

时间:2023-01-04 17:55:54浏览次数:60  
标签:验证 手把手 devel usr Eyebeam freeswitch 控制台 安装

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

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

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

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

参考链接一参考链接二

 

标签:验证,手把手,devel,usr,Eyebeam,freeswitch,控制台,安装
From: https://www.cnblogs.com/kn-zheng/p/17025601.html

相关文章

  • FreeSWITCH学习笔记3(3.5)- 初识FreeSWITCH
    目录配置SIP网关拨打外部电话:从某一分机上呼出呼入电话处理 配置SIP网关拨打外部电话 originatesofia/gateway/zlz/1003&echo(前提是设置了1003,并且选定了才......
  • FreeSWITCH学习笔记3(3.3、3.4)- 初识FreeSWITCH
    目录:1、配置FreeSWITCH2、FreeSWITCH用作软电话 1、配置FreeSWITCH具体参考:《FreeSWITCH权威指南》3.3节以下,将通过添加一个新的FreeSWITCH用户来简单熟悉一下Free......
  • FreeSWITCH学习笔记1 - PSTN与VoIP基础
    目录: FreeSWITCHFreeSWITCH是一个电话的软交换解决方案,包括一个软电话和软交换机用以提供语音和聊天的产品驱动。FreeSWITCH可以用作交换机引擎、PBX、多媒体网关以......
  • FreeSWITCH学习笔记2 - PSTN、PBX及呼叫中心业务
    目录:POTSPBXPrivateBranchExchange,用户级交换机,即公司内部使用的电话业务网络,系统内部分机用户分享一定数量的外线。PBX俗称:程控交换机,程控用户交换机,电话交换机,......
  • FreeSWITCH学习笔记3(3.1、3.2)- 初识FreeSWITCH
    目录:FreeSWITCH的功能连接SIP电话连接SIP电话——实操 1、FreeSWITCH的功能  安装完成FreeSWITCH后,以管理员身份运行。通过在控制台中输入:shutdown......
  • FreeSWITCH学习笔记7(7-7.3.1) - SIP协议
    目录:   7.1、SIP协议基础 7.1.1、HTTP与SIP协议基础   7.1.2、SIP的基础概念和相关元素       7.1.3、SIP协议的基本方法和头域简介 ......
  • FreeSWITCH学习笔记7(7.3.2-结束) - SIP协议
    目录: 7.3.2、通过B2BUA呼叫 具体流程描述见7.3.2。  7.4、深入理解SIP7.4.1、SIPURI 7.4.2、SDP和SOASDP——(SessionDescriptionProtocol,会话描述......
  • FreeSWITCH学习笔记6(6.1.7-) - 拨号计划
    目录:   6.1.7工作机制深入剖析 举例见6.1.7。6.1.8内联执行  6.1.9实例解析实例见6.1.9。 6.2inlineDialplan(内联拨号计划)    6.3......
  • FreeSWITCH学习笔记6(——6.1.6) - 拨号计划
    目录:          6.1.6动作与反动作 6.1XMlDialplan6.1.1配置文件的结构     6.1.2默认的配置文件简介  6.1.3正则表达式6.1.4......
  • FreeSWITCH常用知识点
    1、FreeSWITCH控制台快捷键(4.4)2、FreeSWITCH目录结构(5.2) sounds目录 、storage目录 、conf目录 。  3、配置文件(5.3&3.3)  4、vars.xml——FreeSWIT......