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[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