手把手教你部署验证freeswitch(避免踩坑)
前言:请各大网友尊重本人原创知识分享,谨记本人博客:南国以南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-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控制台日志输出正常!
手把手教你部署验证freeswitch(避免踩坑)的更多相关文章
- 手把手教你避开组件cover-view的那些坑
腾讯位置服务基于微信提供的小程序插件能力,专注于(围绕)地图功能,打造一系列小程序插件,可以帮助开发者简单.快速的构建小程序,是您实现地图功能的最佳伙伴.目前微信小程序插件提供路线规划.地铁图.地图选 ...
- 美女 Committer 手把手教你部署 Apache DolphinScheduler 单机版
还在为如何部署Apache DolphinScheduler 发愁么?自上篇<美女 Committer 手把手教你使用海豚调度>的视频发布后,受到社区伙伴们的热烈欢迎.但个别小伙伴在部署这 ...
- 手把手教你部署 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 ...
- DotNetCore部署(IIS)踩坑记
一.windows系统中Dotnet core runtime 安装后,无法启动次程序,因为计算机中丢失api-ms-win-crt-runtime-l1-1-0.dll的解决方法 错误现象如图 因为 ...
- Linux下部署MySQL,大小写敏感踩坑记录
今天在将开发环境中的门户数据库复制到新环境后,使用SqlSugar的ORM框架进行数据库操作的时候,出现了主键找不到的现象.排查了很久终于发现了关键点.特此记录. 1.开发环境: 操作系统:CE ...
- 手把手教你搭建深度学习平台——避坑安装theano+CUDA
python有多混乱我就不多说了.这个混论不仅是指整个python市场混乱,更混乱的还有python的各种附加依赖包.为了一劳永逸解决python的各种依赖包对深度学习造成的影响,本文中采用pytho ...
- 手把手教你 在Pytorch框架上部署和测试 关键点人脸检测项目DBFace,成功实现人脸检测效果
这期教向大家介绍仅仅 1.3M 的轻量级高精度的关键点人脸检测模型DBFace,并手把手教你如何在自己的电脑端进行部署和测试运行,运行时bug解决. 01. 前言 前段时间DBFace人脸检测库横空出 ...
- 手把手教从零开始在GitHub上使用Hexo搭建博客教程(四)-使用Travis自动部署Hexo(2)
前言 前面一篇文章介绍了Travis自动部署Hexo的常规使用教程,也是个人比较推荐的方法. 前文最后也提到了在Windows系统中可能会有一些小问题,为了在Windows系统中也可以实现使用Trav ...
- 手把手教从零开始在GitHub上使用Hexo搭建博客教程(三)-使用Travis自动部署Hexo(1)
前言 前面两篇文章介绍了在github上使用hexo搭建博客的基本环境和hexo相关参数设置等. 基于目前,博客基本上是可以完美运行了. 但是,有一点是不太好,就是源码同步问题,如果在不同的电脑上写文 ...
随机推荐
- python报错:AttributeError: module 'pdb' has no attribute 'set_trace'
在第一次使用python中的pdb模块式,pdb.set_trace()时编译器总是会报错,一开始总是以为是自己的拼写错误,但经过反复检查后发现并不是自己的拼写错误.而是我创建的测试文件的名称是pdb ...
- Cai Xukun and Orz Pandas Gym - 102309C
题目链接:https://vjudge.net/problem/Gym-102309C 题意:给定蔡徐坤投篮的位置和篮筐的位置以及最大初速度,求一个初速度和时间. 思路:一开始我以为要用到二分,后面仔 ...
- POJ3278_Catch That Cow(JAVA语言)
思路:bfs裸题.三个选择:向左一个单位,向右一个单位,向右到2*x //注意,需要特判n是否大于k,大于k时只能向左,输出n-k.第一次提交没注意,结果RE了,, Catch That Cow Ti ...
- 攻防世界 reverse 2ex1
2ex1 CISCN-2018-Quals mark 1 import base64 2 3 std_base= "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijk ...
- 尝试做一个.NET简单、高效、避免OOM的Excel工具
Github : https://github.com/shps951023/MiniExcel 简介 我尝试做一个.NET简单.高效.避免OOM的Excel工具 目前主流框架大多将资料全载入到记忆体 ...
- 问题笔记 - element表格 操作状态值
1.必须从传到表里的数据源中取值(scope.row.star)
- 【Azure Developer】Azure Graph SDK获取用户列表的问题: SDK中GraphServiceClient如何指向中国区的Endpoint:https://microsoftgraph.chinacloudapi.cn/v1.0
问题描述 想通过Java SDK的方式来获取Azure 门户中所列举的用户.一直报错无法正常调用接口,错误信息与AAD登录认证相关,提示tenant not found. 想要实现的目的,通过代码方式 ...
- Dynamics CRM各个版本的元数据浏览解决方案
https://docs.microsoft.com/en-us/dynamics365/customerengagement/on-premises/developer/browse-your-me ...
- 【Java】 6.0 输入,输出和异常处理
[概述] 就目前而言,我们遇到的"输出"无非就是这个比: System.out.println() 更详细的输入输出会在IO中提到,那么这个笔记就是记录几种常用输入机制 [Scan ...
- ES9的新特性:异步遍历Async iteration
ES9的新特性:异步遍历Async iteration 目录 简介 异步遍历 异步iterable的遍历 异步iterable的生成 异步方法和异步生成器 简介 在ES6中,引入了同步iteratio ...