手把手教你部署验证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相关参数设置等. 基于目前,博客基本上是可以完美运行了. 但是,有一点是不太好,就是源码同步问题,如果在不同的电脑上写文 ...
随机推荐
- 云原生的弹性 AI 训练系列之一:基于 AllReduce 的弹性分布式训练实践
引言 随着模型规模和数据量的不断增大,分布式训练已经成为了工业界主流的 AI 模型训练方式.基于 Kubernetes 的 Kubeflow 项目,能够很好地承载分布式训练的工作负载,业已成为了云原生 ...
- [Azure Devops] 使用 Azure Boards 管理工作
1. 什么是 Azure Boards 通过 Azure Boards 网络服务,团队可以管理其软件项目.它提供了丰富的功能,包括 Scrum 和看板的本地支持.可定制的仪表板和集成报告.这些工具可以 ...
- Angle Beats Gym - 102361A
题目链接:https://vjudge.net/problem/Gym-102361A 题意:给定N个点,q次询问每次询问给一个点,问在N个点中取2个和给定点最多可以组成几个直角三角形. 思路:htt ...
- 【Django笔记0】-Django项目创建,settings设置,运行
Django项目创建,settings设置,运行 1,项目创建 通过pip下载Django以后,在cmd中cd到想要创建项目的路径,之后输入: django-admin startproject ...
- 论Redis分布式锁的正确使用姿势
前言 日常开发中,秒杀下单.抢红包等等业务场景,都需要用到分布式锁.而Redis非常适合作为分布式锁使用.本文将分七个方案展开,跟大家探讨Redis分布式锁的正确使用方式.如果有不正确的地方,欢迎大家 ...
- Redis生产环境节点宕机问题报错及恢复排错
Redis故障发现 主观下线 当cluster-node-timeout时间内某节点无法与另一个节点顺利完成ping消息通信时,则将该节点标记为主观下线状态. 客观下线 当某个节点判断另一个节点主观下 ...
- MacBook读写移动硬盘
在MacBook上插入移动硬盘,只能读取,不能写入.这是因为移动硬盘的格式是NTFS,MacBook不支持写入,有三种方法: 1. 改变移动硬盘的格式,格式化为可以读写的exFAT等格式,但存储的文件 ...
- Ansible-Playbook中的变量使用
变量名:仅能由字母.数字和下划线组成,且只能以字母开头 变量来源: 1.ansible all -m setup 远程主机的所有变量都可直接调用 #显示所有变量 ansible all -m setu ...
- Python使用sql语句对mysql数据库多条件模糊查询
1 def find_worldByName(c_name,continent): 2 print(c_name) 3 print(continent) 4 sql = " SELECT * ...
- nacos下载慢吗?来这里
https://gitee.com/soul_PreCoder/springcloudalibab/repository/archive/master.zip