Debian12 源码编译 FreeSWITCH 1.10.12

这是一篇命题作文 :)

第一步,更换 apt 源

复制代码
cat <<"EOF" > /etc/apt/sources.list

deb http://mirrors.huaweicloud.com/debian/ bookworm main non-free non-free-firmware contrib
deb http://mirrors.huaweicloud.com/debian-security/ bookworm-security main
deb http://mirrors.huaweicloud.com/debian/ bookworm-updates main non-free non-free-firmware contrib
deb http://mirrors.huaweicloud.com/debian/ bookworm-backports main non-free non-free-firmware contrib
 
EOF

apt update

比 163 快


第二步,安装 git vim gcc 等工具

复制代码
apt install -y --fix-missing git sed m4 bison build-essential pkg-config uuid-dev zlib1g-dev libjpeg-dev libsqlite3-dev libcurl4-openssl-dev \
	libpcre3-dev libspeexdsp-dev libldns-dev libedit-dev libtiff5-dev yasm libopus-dev libsndfile1-dev unzip \
	libshout-dev libmpg123-dev libmp3lame-dev \
	libavformat-dev libswscale-dev liblua5.2-dev lua5.2 cmake libpq-dev ca-certificates python3 python3-dev python3-distutils \
	unixodbc-dev autoconf automake ntpdate libxml2-dev libpq-dev libpq5 sngrep vim sip-tester


cat <<"EOF" > ~/.vimrc

set shiftwidth=4
set softtabstop=4
set tabstop=4
set number
set fileencodings=utf-8
set encoding=utf-8

EOF

编译 libks

复制代码
git clone https://github.com/signalwire/libks.git /usr/src/libks
cd /usr/src/libks
cmake . -DCMAKE_INSTALL_PREFIX:PATH=/usr/local
make && make install

编译 sofia-sip

复制代码
git clone https://github.com/freeswitch/sofia-sip /usr/src/sofia-sip

cd /usr/src/sofia-sip
./bootstrap.sh
./configure
make && make install

编译 spandsp

复制代码
git clone https://github.com/freeswitch/spandsp /usr/src/spandsp

cd /usr/src/spandsp
# https://github.com/signalwire/freeswitch/issues/2248
git checkout 0d2e6ac
./bootstrap.sh
./configure
make &&  make install

编译 FreeSWITCH

复制代码
git clone https://github.com/signalwire/freeswitch.git -b v1.10.12 /usr/src/freeswitch
cd /usr/src/freeswitch
./bootstrap.sh

sed -i '/mod_signalwire/d' modules.conf
sed -i '/mod_enum/d' modules.conf
sed -i '/mod_opus/d' modules.conf
sed -i 's+#formats/mod_shout+formats/mod_shout+g' modules.conf
sed -i 's+#applications/mod_curl+applications/mod_curl+g' modules.conf
sed -i 's+#xml_int/mod_xml_curl+xml_int/mod_xml_curl+g' modules.conf
#sed -i 's+#languages/mod_python3+languages/mod_python3+g' modules.conf

./configure

make && make install
make cd-sounds-install && make cd-moh-install

echo '/usr/local/lib' >> /etc/ld.so.conf
ldconfig 
ln -s /usr/local/freeswitch/bin/freeswitch /usr/bin
ln -s /usr/local/freeswitch/bin/fs_cli /usr/bin

关于mod_xml_curl 这个模块的介绍,请参考下面的链接:

https://rts.cn/docs/FreeSWITCH-Explained/Modules/mod_xml_curl_1049001


mod_python3 编译似乎有点问题

找了2个工单:

https://github.com/signalwire/freeswitch/issues/1389

https://github.com/signalwire/freeswitch/issues/1479

相关推荐
RayRings4 天前
OFDM, OFDMA, SC-FDMA的区别
通信
liulilittle5 天前
回归物理本质:对拥塞控制实验室依赖与公平性误置的反思
网络·tcp/ip·计算机网络·算法·tcp·通信·拥塞控制
liulilittle5 天前
KCC:在 BBR 思路上的一次探索
网络·tcp/ip·算法·bbr·通信·拥塞控制·kcc
liulilittle6 天前
KCC: An Exploration Along the Lines of BBR
网络·tcp/ip·计算机网络·bbr·通信·拥塞控制·kcc
liulilittle6 天前
甲骨文云中国大陆定向 QoS 原理及绕过解决方案
服务器·开发语言·网络·计算机网络·oracle·通信·qos
七夜zippoe8 天前
DolphinDB OPC-UA协议接入:工业标准通信
网络·通信·dolphindb·工业标准·opc-ua
liulilittle8 天前
拥塞控制:排水终止的两种决策:OR 与 AND
网络·tcp/ip·计算机网络·算法·信息与通信·tcp·通信
liulilittle10 天前
删除 Inflight Bounds:为什么 KCC 放弃了 BDP 钳位
linux·网络·tcp/ip·计算机网络·信息与通信·tcp·通信
大大杰哥11 天前
SSeEmitter的基本使用和介绍
java·sse·通信
liulilittle11 天前
TCP KCC v1.0(卡尔曼拥塞控制)
linux·服务器·网络·tcp/ip·计算机网络·tcp·通信