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

介绍: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-LiteZoiperEyebeam(嘘~需要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控制台日志输出正常!

参考链接一参考链接二

手把手教你部署验证freeswitch(避免踩坑)的更多相关文章

  1. 手把手教你避开组件cover-view的那些坑

    腾讯位置服务基于微信提供的小程序插件能力,专注于(围绕)地图功能,打造一系列小程序插件,可以帮助开发者简单.快速的构建小程序,是您实现地图功能的最佳伙伴.目前微信小程序插件提供路线规划.地铁图.地图选 ...

  2. 美女 Committer 手把手教你部署 Apache DolphinScheduler 单机版

    还在为如何部署Apache DolphinScheduler 发愁么?自上篇<美女 Committer 手把手教你使用海豚调度>的视频发布后,受到社区伙伴们的热烈欢迎.但个别小伙伴在部署这 ...

  3. 手把手教你部署 Redis Cluster

    环境准备 阿里云申请3台ECS,如下: 序号 内网IP OS A 172.16.190.78 CentOS 7.6 B 172.16.242.36 CentOS 7.6 C 172.16.190.77 ...

  4. DotNetCore部署(IIS)踩坑记

    一.windows系统中Dotnet core runtime 安装后,无法启动次程序,因为计算机中丢失api-ms-win-crt-runtime-l1-1-0.dll的解决方法 错误现象如图 因为 ...

  5. Linux下部署MySQL,大小写敏感踩坑记录

    今天在将开发环境中的门户数据库复制到新环境后,使用SqlSugar的ORM框架进行数据库操作的时候,出现了主键找不到的现象.排查了很久终于发现了关键点.特此记录. 1.开发环境:    操作系统:CE ...

  6. 手把手教你搭建深度学习平台——避坑安装theano+CUDA

    python有多混乱我就不多说了.这个混论不仅是指整个python市场混乱,更混乱的还有python的各种附加依赖包.为了一劳永逸解决python的各种依赖包对深度学习造成的影响,本文中采用pytho ...

  7. 手把手教你 在Pytorch框架上部署和测试 关键点人脸检测项目DBFace,成功实现人脸检测效果

    这期教向大家介绍仅仅 1.3M 的轻量级高精度的关键点人脸检测模型DBFace,并手把手教你如何在自己的电脑端进行部署和测试运行,运行时bug解决. 01. 前言 前段时间DBFace人脸检测库横空出 ...

  8. 手把手教从零开始在GitHub上使用Hexo搭建博客教程(四)-使用Travis自动部署Hexo(2)

    前言 前面一篇文章介绍了Travis自动部署Hexo的常规使用教程,也是个人比较推荐的方法. 前文最后也提到了在Windows系统中可能会有一些小问题,为了在Windows系统中也可以实现使用Trav ...

  9. 手把手教从零开始在GitHub上使用Hexo搭建博客教程(三)-使用Travis自动部署Hexo(1)

    前言 前面两篇文章介绍了在github上使用hexo搭建博客的基本环境和hexo相关参数设置等. 基于目前,博客基本上是可以完美运行了. 但是,有一点是不太好,就是源码同步问题,如果在不同的电脑上写文 ...

随机推荐

  1. 错误提示:Access denied for user 'GC'@'localhost' (using password: YES)

    错误描述:使用的是C3P0连接池 Spring整合Mybatis时出现错误 java.sql.SQLException: Access denied for user 'GC'@'localhost' ...

  2. java例题_46 两个字符串拼接问题!

    1 /*46 [程序 46 字符串连接] 2 题目:两个字符串连接程序,将两个字符串拼接在一起 3 */ 4 5 /*分析 6 * 两个字符串的拼接方法 7 * concat方式 8 * 当两个量都为 ...

  3. 力扣 - 208. 实现Trie(前缀树)

    目录 题目 思路 代码 复杂度分析 题目 208. 实现 Trie (前缀树) 思路 在我们生活中很多地方都用到了前缀树:自动补全,模糊匹配,九宫格打字预测等等... 虽然说用哈希表也可以实现:是否出 ...

  4. Java学习笔记--异常机制

    简介 在实际的程序运行过程中,用户并不一定完全按照程序员的所写的逻辑去执行程序,例如写的某个模块,要求输入数字,而用户却在键盘上输入字符串:要求打开某个文件,但是文件不存在或者格式不对:或者程序运行时 ...

  5. 常用Linux操作

    常用Linux操作 这里我使用的是Git进行的Linux操作,如果你有服务器.或者LInux系统可以直接尝试 首先保证自己电脑上成功安装好了Git,右键鼠标: 随便找一个文件夹(我这里使用的是桌面的G ...

  6. git版本控制之三

    [删除文件]使用关键字 git rm '待删除的文件名或者文件夹名字'  这个默认会把本地和版本库里面的这个文件都删掉!!! 有一种情形就是我往版本库里面提交错了文件,我想从版本库里面移除,但是我本地 ...

  7. 因为这几个TypeScript代码的坏习惯,同事被罚了500块

    作者:Daniel Bartholomae 翻译:疯狂的技术宅 原文链接:https://startup-cto.net/10-bad-typescript-habits-to-break-this- ...

  8. 6.4map用法

    map是映射也是常用的STL容器,可以将任何基本类型映射到任何的基本类型,如 map<char,int>mp 一.基本定义 map<typename,typename>mp; ...

  9. Spring Boot 接口幂等插件使用

    幂等概述 幂等性原本是数学上的概念,即使公式:f(x)=f(f(x)) 能够成立的数学性质.用在编程领域,则意为对同一个系统,使用同样的条件,一次请求和重复的多次请求对系统资源的影响是一致的. 幂等性 ...

  10. 生产环境中的redis是怎么部署的?

    redis cluster,10台机器,5台机器部署了redis主实例,另外5台机器部署了redis的从实例,每个主实例挂了一个从实例,5个节点对外提供读写服务,每个节点的读写高峰qps可能可以达到每 ...