FreeSWITCH 安装配置的 各种坑, 填坑

个人安装环境:
OS:CentOS6.7 64位
FreeSWITCH Ver:1.6.17

一. 编译出错

安装 之前, 最好 先安装 这几个东西(如果有, 请忽略):

yasm (有nasm的话 不用装这个) ,
opus-devel(可能 提示 libopus-dev 或 libopus-devel 等) ,
lua-devel , libsndfile-devel , libtiff-devel

当然了,  你也可以 先不管, 等 出错 提示了, 在按照下面的方法安装:

1. 安装 yasm ,  yasm 和 nasm 必须要有一个,必须装了!

错误提示: Neither yasm nor nasm have been found

((which nasm) || (which yasm) || (git clone https://github.com/yasm/yasm.git && cd yasm && ./autogen.sh && make && make install))

2.安装 lua-devel

错误提示:  找不到 lua.h 等lua的头文件

yum install lua lua-devel

3.安装 opus-devel

错误提示: You must install libopus-dev to build mod_opus

yum -y install opus-devel
#可能需要清理:  make clean && ./configure && make

如果还是报这个错误, 就注释这两行,在Makefile:

vim freeswitch/src/mod/codecs/mod_opus/Makefile
# Comment line 896 & 897
#install: error
#all: error

4.安装 sndfile

错误提示 :  You must install libsndfile-dev to build mod_sndfile

#下载包libsndfile-x.x.xx.tar.gz  from地址 http://www.mega-nerd.com/libsndfile/#Download,  然后
tar zxvf libsndfile-1.0.26.tar.gz
./configure
make
make install
cp /usr/local/lib/pkgconfig/sndfile.pc /usr/lib64/pkgconfig
#然后 重新 configure   FreeSWITCH...

如果还是报这个错误,就注释这两行,在Makefile:

vim src/mod/formats/mod_sndfile/Makefile
# Comment line 897 & 898
#install: error
#all: error

5.安装 libyuv

错误提示: You must install libyuv-dev to build mod_fsv

cd freeswitch/libs
git clone https://freeswitch.org/stash/scm/sd/libyuv.gitcd libyuv
make -f linux.mk CXXFLAGS="-fPIC -O2 -fomit-frame-pointer -Iinclude/"
make install
cp /usr/lib/pkgconfig/libyuv.pc /usr/lib64/pkgconfig/

6.安装 libvpx

错误提示: You must install libvpx-dev to build ....

cd freeswitch/libs
git clone https://freeswitch.org/stash/scm/sd/libvpx.git
cd libvpx
./configure --enable-pic --disable-static --enable-shared
make
make install
cp /usr/local/lib/pkgconfig/vpx.pc /usr/lib64/pkgconfig/

7.安装 libpng

错误提示: You must install libpng-dev to build ....

git clone https://freeswitch.org/stash/scm/sd/libpng.git
cd libpng
./configure
make
make install
cp /usr/local/lib/pkgconfig/libpng* /usr/lib64/pkgconfig/

8.安装 libav

错误提示: You must install libav-dev to build ....

git clone https://freeswitch.org/stash/scm/sd/libav.git
cd libav
./configure             #CFLAGS="-fPIC" ./configure --enable-pic --enable-shared
make                    # make CXXFLAGS="-fPIC"
make install

二. 其他问题

1.错误提示: libs/spandsp

configure: loading cache ../../config.cache
configure: error: `CFLAGS‘ was not set in the previous run
configure: error: `CPPFLAGS‘ was not set in the previous run
configure: error: in `/usr/src/freeswitch.git/libs/spandsp‘:
configure: error: changes in the environment can compromise the build
configure: error: run `make distclean‘ and/or `rm ../../config.cache‘ and start over

解决: 重新 configure

./configure -C && make

三. 安装中文语音

fs默认不加载中文语音。需要在fs的src中首先编译中文模块。

1.编译:

a.在 configure 之前, 编辑 modules.conf,  取消 "#say/mod_say_zh"  这行的注释 ->"say/mod_say_zh"

b.补救安装 `make mod_say_zh-install`

2.加载(不重启fs)

在fs控制台上加载该模块 `load mod _say_zh` 
若想fs在每次启动的时候都加载该模块,就在`autoload_configs/modules.conf.xml`中`<load module="mod_say_zh">`的注释去掉即可。

也可以这样:

sed -i ‘s#<!-- <load module="mod_say_zh"/> -->#<load module="mod_say_zh"/>#g‘ autoload_configs/modules.conf.xml

3.修改 `var.xml`中的配置

`<X-PRE-PROCESS cmd="set" data="sound_prefix=$${sounds_dir}/en/us/callie"/>`修改为中文语音文件的目录
`<X-PRE-PROCESS cmd="set" data="sound_prefix=$${sounds_dir}/zh/cn/link"/>`
加入以下几行(也可以不加)

<X-PRE-PROCESS cmd="set" data="default_language=zh"/>
<X-PRE-PROCESS cmd="set" data="default_dialect=cn"/>
<X-PRE-PROCESS cmd="set" data="default_voice=sue"/>

4.加入中文语音配置

cd conf/lang
cp -R en zh
mv zh/en.xml zh/zh.xml
vim zh/zh.xml
(替换路径`en/us/callie`和 `en`等:第二行修改为)
<language name="zh" say-module="zh" sound-prefix="$${sounds_dir}/zh/cn/link" tts-engine="cepstral" tts-voice="link">

5. 载入中文配置

在`freeswitch.xml`的`<section name="languages" `节点中增加一行 (或那一行取消注释)

` <X-PRE-PROCESS cmd="include" data="lang/zh/*.xml"/>`

四. 解决ESL拒绝连接问题

默认是只接受本机连接的,稍一改动就 内外都不能连接了,或者只能接受内外之一连接

解决方法:

1. event_socket.conf.xml 加入:
<param name="apply-inbound-acl" value="domains"/>

2. acl.conf.xml 加入:
<list name="domains" default="deny">
<node type="allow" domain="$${domain}"/>
<node type="allow" cidr="192.168.1.0/24"/>
<node type="allow" cidr="127.0.0.1/24"/>
</list>

<未完待续,欲知后事如何,且听下回分解>

时间: 2024-10-14 13:10:48

FreeSWITCH 安装配置的 各种坑, 填坑的相关文章

Gulp的安装配置过程和一些小坑

谈谈gulp. 项目尾声,老师叫我去熟悉一下grunt前端自动化工具,第一次知道这种东西,我就查各种资料啊,发现grunt已经‘过时’了,大家都用gulp和webpack.我当然选择了配置最简单的gulp=-= gulp是基于Nodejs的自动任务运行器,基本流程就是先安装nodejs,通过nodejs的npm全局安装和项目安装gulp,其次在项目里安装所需要的gulp插件,然后新建gulp的配置文件gulpfile.js并写好配置信息(定义gulp任务),最后通过命令提示符运行gulp(web

Win10 安装配置 MongoDB 4.0 踩坑记

redis 官方没有 Windows 版的,微软维护的已经好久没更新了,所以就在想着换成 MongoDB. 于是一趟被我复杂化的踩坑之旅就开始了,同时也记录一下,避免有人遇见跟我一样的问题. 首先在 官网 上下载 msi 安装包开始安装.   我不喜欢把软件装在系统盘,所以我选择 Custom,自己选要装在哪里,然后就跳出来下面这张图.针对下面这张图我翻译一下官方文档上的内容作为解释.  从 MongoDB 4.0 开始,默认情况下,你可以在安装期间配置和启动 MongoDB 作为服务,并在成功

FreeSwitch安装配置记录

安装FreeSwitch 主要命令如下: git clone -b v1.2.stable git://git.freeswitch.org/freeswitch.git cd freeswitch/ ./bootstrap.sh && ./configure && make && make install && make hd-sounds-install && make hd-moh-install &&

webpack4.0在Mac下的安装配置及踩到的坑

一.什么是webpack是一个前端资源加载/打包工具.它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源.它做的事情是,分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),并将其转换和打包为合适的格式供浏览器使用.可以将多种静态资源 js.css.less 转换成一个静态文件,减少了页面的请求. ? webpack4.0 安装与环境配置在安装webpack4.0之前,需要安装node,nod

CentOS7 下安装 ElasticSearch 5.x 及填坑

ElasticSearch简介 什么是ElasticSearch: ElasticSearch是基于Apache Lucene构建的开源搜索引擎 采用Java编写,提供了简单易用的RESTFul API 轻松的横向扩展,可支持PB级的结构化或非结构化的数据处理 应用场景: 海量数据分析引擎 站内搜索引擎 作为数据仓库 一线公司实际应用场景: 英国卫报 - 实时分析公众对文章的回应 维基百科.GitHub - 站内实时搜索引擎 百度 - 实时日志监控平台 单实例安装ElasticSearch 在安

vscode 安装go第三方扩展包填坑记录

1.vscode中安装go扩展包,不再阐述. 2.在安装好go的扩展包以后,创建GOPATH环境变量 3.PATH中会自动添加,如果没有可手动添加 4.在GOPATH目录下创建自己的工作空间(为什么一定是在GOPATH下创建,还不太清楚),我的是workspace(名称可以自定义) 5.打开VSCODE,文件-打开文件夹,选择GOPATH目录 6.在workspace下创建helloworld目录(我称为项目空间) 7.配置VSCODE中的setting.json文件 加入如下配置: 8.编写h

云计算之OpenStack实战记(一)与埋坑填坑

一.了解Openstack 1.1 OpenStack简介 OpenStack是一整套开源软件项目的综合,它允许企业或服务提供者建立.运行自己的云计算和存储设施.Rackspace与NASA是最初重要的两个贡献者,前者提供了"云文件"平台代码,该平台增强了OpenStack对象存储部分的功能,而后者带来了"Nebula"平台形成了OpenStack其余的部分.而今,OpenStack基金会已经有150多个会员,包括很多知名公司如"Canonical.DEL

云计算之OpenStack实战记(二)与埋坑填坑

3.6 Nova控制节点的部署 创建nova用户,并加入到service项目中,赋予admin权限 [[email protected] ~]# source admin-openrc.sh [[email protected] ~]# openstack user create --domain default --password=nova nova +-----------+----------------------------------+ | Field     | Value   

tensorboard的可视化小白踩坑填坑之路

  首先说tensorflow这个框架是真的很是强大,图像的识别,以及神经网络的构建,还有就是不得不说的可视化工具tensorboard,这个工具一般是伴随着tensorflow的安装而安装的,但是对于一个踩坑的我来说,我的tensorflow-gpu安装后居然没有tensorboard的路径以及可执行tensorboard.py的程序,这就使我很是抓狂, 1.我跑了一个特tensorflow的程序后生成一个日志文件在window的cmd下执行了一下(稍后我会介绍怎么生成日志以及实现tensor