最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

FreeSWITCH添加iLBC编码及转码

来源:博客园

操作系统 :CentOS 7.6_x64


(资料图片)

FreeSWITCH版本 :1.10.9

一、安装ilbc库

从第三方库里下载指定版本:

git clone https://freeswitch.org/stash/scm/sd/libilbc.git

如果下载过慢,可从如下途径获取:

关注微信公众号(聊聊博文,文末可扫码)后回复 20230416 获取。编译及安装步骤如下:
./bootstrap.sh./configuremakemake install

安装成功:

如果遇到如下错误:

libtool: Version mismatch error.  This is libtool 2.4.6, but thelibtool: definition of this LT_INIT comes from libtool 2.4.2.libtool: You should recreate aclocal.m4 with macros from libtool 2.4.6

libilbc目录下会自动生成libtool文件,将系统目录的libtool复制过来即可:

此外,通过 yum install ilbc-devel.x86_64 安装的方式会报错:

二、编译mod_ilbc模块

1、更新ilbc库

可通过如下方式配置libilbc库:

ln -sf /usr/local/lib/libilbc.so.0.0.2 /lib64/libilbc.soln -sf /usr/local/lib/libilbc.so.0.0.2 /lib64/libilbc.so.0

2、打开FreeSWITCH编译配置项

编辑源码目录的modules.conf文件,去掉ilbc的注释:

#codecs/mod_ilbc //去掉这个注释的#号

3、重新配置编译FreeSWITCH

源码目录执行如下命令:

./devel-bootstrap.sh && ./configure && make && make install

如果编译FreeSWITCH遇到问题,可参考这篇文章:

CentOS7环境源码安装freeswitch1.10

4、加载mod_ilbc模块

编辑 conf/autoload_configs/modules.conf.xml 文件,添加如下内容:

重启FreeSWITCH或执行重新load操作:

如果加载不报错,则添加iLBC编码成功。

三、编码测试

1、开启iLBC编码支持及转码

文件: vars.xml

1)开启iLBC编码支持

2)开启转码

添加如下内容:

2、iLBC编码测试

1)配置话机

软电话A的语音编码只配置iLBC:

软电话B的语音编码只配置PCMU:

通话效果:

A拨打B,呼叫成功。

看日志,发现Fs和A协商了iLBC编码,然后和B协商了PCMU编码。

抓包结果如下:

四、资源获取

本文涉及资源可从如下途径获取:

关注微信公众号(聊聊博文,文末可扫码)后回复 20230416 获取。

关键词: