源码编译freeswitch-1.10.7遇到问题总结

这里先扯淡下,如果要论那个开源软件是个劝退大师,估计非freeswitch莫属了,对新人太不友好了。个人在源码编译freeswitch-1.10.7版本时,遇到过好多个问题,中间好几次就想放弃了,最后咬牙坚持下来,最终初步编译了一个可用版本。

编译过程及问题总结:

从freeswitch的1.10.x某个版本开始,freeswitch将sofia-sip和spandsp分离出来了,需要对这两个模块进行单独编译,因此在编译freeswitch前先检查下spandsp和sofia-sip,不然可能会报以下错误:

checking for spandsp >= 3.0... configure: error: no usable spandsp; please install spandsp3 devel package or equivalent

checking for sofia-sip-ua >= 1.xx.xx... configure: error: no usable sofia-sip; please install sofia-sip-ua devel package or equivalent

安装sofia-sip和spandsp步骤如下:

安装sofia-sip:
git cloen https://github.com/freeswitch/sofia-sip.git 
如果网络不太好,git可能下载不下来,可以直接下载sofia-sip的zip压缩包
cd sofia-sip
./bootstrap.sh
./configure
make
make install

安装spandsp:
git clone https://github.com/freeswitch/spandsp
如果网络不太好,git可能下载不下来,可以直接下载spandsp的zip压缩包
cd spandsp
./bootstrap.sh
./configure
make
make install

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

编译freeswitch源码:

./configure --enable-portable-binary --prefix=/usr --localstatedir=/var --sysconfdir=/etc --with-gnu-ld --with-python --with-openssl --enable-core-odbc-support --enable-zrtp

可以根据实际需要开启不同的选项,之行上面命令后,会生成一个Makefile文件,然后执行make命令,可能会报不同的错误,主要是某个模块没有安装,可以根据实际需要,修改modules.conf,以linux下为例,如果不需要开启某个模块,可以使用#号将该模块注释掉,示例如下图:

然后重新执行make命令,可能会遇到以下错误:

看到这个错误,可能会一脸懵逼,明明freeswitch官网给的libav路径下载的该模块已经安装了,为什么还会遇到这个错误,如果稍微有点开发经验就会想到,是不是freeswitch代码引用的libav的版本跟实际安装libav版本的接口不一致导致,我的解决方法是:从libav官网下载最新的libav版本,如下图:

 

然后重新编译libav 12.3版本,然后再重新执行make命令编译freeswitch问题得到解决。

freeswitch配置更改如下:

由于本人的freeswitch测试环境是在公网部署的,需要更改vars.xml的external-rtp-ip和external-sip-sip地址为对应服务器的公网IP地址,如下图:

 

如果要更改freeswitch支持的音视频编码格式,需要更改vars.xml里的codec配置如下图:

然后启动freeswitch,将两个SIP终端注册到freeswitch上,然后一个SIP终端做为主叫去呼叫另外一个SIP终端,效果图如下:

 

 

 

 

 

评论 2 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

Acmen_voip

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值