记录下,FreeSWITCH 增加模块 mod_ilbc 的过程;
遇到的问题有:
问题-1: 运行时,加载模块 mod_ilbc 时,报找不到 ilbc.so (mod_ilbc.so 依赖 ilbc.so )
问题-2: 客户端连接时,fs 报错不支持 ilbc codec
一、检查是否安装依赖库 ilbc
yum list ilbc2-devel
如果未安装,安装上:yum -y install ilbc2-devel
确保安装了 ilbc 后,为了解决问题-1,将 ilbc2 所在的目录添加到配置文件里:
发现 ilbc 位于 /usr/lib64/ilbc2 目录下;
进入 /etc/ld.so.conf.d 目录下,新建文件 ilbc2-x86_64.conf
填入 ilbc 所在的路径,即:/usr/lib64/ilbc2 ,保存
执行 ldconfig 使修改生效
二、编译、安装
进入 mod_ilbc 源码所在目录,比如:/opt/src/freeswitch-1.8.2/src/mod/codecs/mod_ilbc
make
make install
这就将 mod_ilbc.so 安装上了
三、修改配置文件
修改配置文件 modules.conf.xml,支持自动加载 mod_ilbc:
比如:/etc/freeswitch/autoload_configs/modules.conf.xml
<load module="mod_ilbc"/>
为了解决问题-2,修改配置文件 vars.xml 支持 ilbc :
比如:/etc/freeswitch/vars.xml 增加 iLBC
<X-PRE-PROCESS cmd="set" data="global_codec_prefs=iLBC,OPUS,G722,PCMU,PCMA,VP8"/>
<X-PRE-PROCESS cmd="set" data="outbound_codec_prefs=iLBC,OPUS,G722,PCMU,PCMA,VP8"/>
至此,重启 fs 即可。
可见,配置文件都在 /etc/freeswitch 目录下;