freeswitch1.10.3源码编译安装

https://developer.signalwire.com/freeswitch/FreeSWITCH-Explained/Installation/Linux/Debian_67240088/

注册token  #https://freeswitch.org/confluence/display/FREESWITCH/HOWTO+Create+a+SignalWire+Personal+Access+Token
TOKEN=pat_VcjJ8BHwyd3woyRzrmjHhtp8 

apt-get update && apt-get install -yq gnupg2 wget lsb-release
wget --http-user=lren --http-password=$TOKEN -O /usr/share/keyrings/signalwire-freeswitch-repo.gpg https://freeswitch.signalwire.com/repo/deb/debian-release/signalwire-freeswitch-repo.gpg

echo "machine freeswitch.signalwire.com login signalwire password $TOKEN" > /etc/apt/auth.conf
echo "deb [signed-by=/usr/share/keyrings/signalwire-freeswitch-repo.gpg] https://freeswitch.signalwire.com/repo/deb/debian-release/ `lsb_release -sc` main" > /etc/apt/sources.list.d/freeswitch.list
echo "deb-src [signed-by=/usr/share/keyrings/signalwire-freeswitch-repo.gpg] https://freeswitch.signalwire.com/repo/deb/debian-release/ `lsb_release -sc` main" >> /etc/apt/sources.list.d/freeswitch.list

apt-get update

apt-get build-dep freeswitch

下载对应的1.10.3.tar文件上传到/home
https://freeswitch.org/confluence/display/FREESWITCH/FreeSWITCH+1.10.x+Release+notes

tar -xvf freeswitch-1.10.3.-release.tar.gz
cd freeswitch-1.10.3.-release

./rebootstrap.sh -j
./configure
make
make install

#启动
cd /home/freeswitch-1.10.3.-release
./freeswitch  #启动
fs_cli -rRS  #连接管理

make错误处理

错误信息:
make[4]: 进入目录“/home/freeswitch-1.10.3.-release/src/mod/endpoints/mod_skinny”
  CC       mod_skinny_la-mod_skinny.lo
mod_skinny.c: In function ‘load_skinny_config.isra’:
mod_skinny.c:2417:10: error: ‘strncpy’ specified bound 16 equals destination size [-Werror=stringop-truncation]
 2417 |          strncpy(params->firmware_version, val, 16);
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

处理方法:
找到/home/freeswitch-1.10.3.-release/src/mod/endpoints/mod_skinny/mod_skinny.c 2417行
修改为 strncpy(params->firmware_version, val, 16-1); #添加-1 实测可以编译 

处理参考说明:
https://blog.csdn.net/llm_hao/article/details/124279032