FreeSWITCH 是一个比较复杂的软件,如果自己编译也是需要花费不少的时间,原来官网有提供预编译的二进制文件。现在也有,但是相对繁琐。因此考虑编译出一些预编译的二进制包,并且可以直接解压运行的形式,方便一些新手可以快速上手。
目前底座系统基于 Debian 12(x86_64),会使用 bundle 的形式来实现基本系统无关化。后续有时间再新增其他的平台支持。
工具链使用 GCC 12.2.0,使用 xmake 来构建。
编译的 FreeSWITCH 版本如下:
- 1.10.10
- 1.10.7
- 1.8.7
- 1.6.20
依赖库 | 版本 | FS 1.10 | FS 1.8 | FS 1.6 |
---|---|---|---|---|
ffmpeg | 3.2.18 | ✓ | ✓ | ✓ |
freetype | 2.13.1 | ✓ | ✓ | ✓ |
krb5 | 1.19.2 | ✓ | × | × |
lame | 3.100 | ✓ | ✓ | ✓ |
ldns | 1.8.3(FS1.8~FS1.10)/1.6.17(FS1.6) | ✓ | ✓ | ✓ |
libcurl | 8.0.1 | ✓ | ✓ | ✓ |
libedit | 20210910-3.1 | ✓ | ✓ | ✓ |
libflac | 1.4.3 | ✓ | ✓ | ✓ |
libjpeg-turbo | 2.1.4 | ✓ | ✓ | ✓ |
libks | v1.8.3 | ✓ | × | × |
libogg | v1.3.4 | ✓ | ✓ | ✓ |
libopus | 1.4 | ✓ | ✓ | ✓ |
libpng | v1.6.40 | ✓ | ✓ | ✓ |
libpq | 13.8 | ✓ | × | × |
libshout | 2.4.6 | ✓ | ✓ | ✓ |
libsndfile | 1.0.31 | ✓ | ✓ | ✓ |
libtiff | v4.4.0 | ✓ | ✓ | ✓ |
libuuid | 1.0.3 | ✓ | ✓ | ✓ |
libverto | 0.3.2 | ✓ | × | × |
libvorbis | 1.3.7 | ✓ | ✓ | ✓ |
lua | v5.4.6 | ✓ | ✓ | ✓ |
mariadb-connector-c | 3.3.4 | ✓ | × | × |
mpg123 | 1.30.2 | ✓ | ✓ | ✓ |
ncurses | 6.4 | ✓ | ✓ | ✓ |
opencore-amr | 0.1.6 | ✓ | ✓ | ✓ |
openh264 | v2.1.1 | ✓ | ✓ | ✓ |
openssl | 1.1.1-t(FS1.8~FS1.10)/1.0.2-u(FS1.6) | ✓ | ✓ | ✓ |
pcre | 8.45(FS1.8~FS1.10)/8.32(FS1.6) | ✓ | ✓ | ✓ |
sofia-sip | v1.13.16 | ✓ | builtin | builtin |
spandsp | 56795ba | ✓ | ✓ | ✓ |
speex | 1.2.1 | ✓ | ✓ | ✓ |
speexdsp | 1.2.1 | ✓ | ✓ | ✓ |
sqlite3 | 3.39.0+200 | ✓ | ✓ | ✓ |
vo-amrwbenc | 0.1.3 | ✓ | ✓ | ✓ |
x264 | 3fd9e89 | ✓ | ✓ | ✓ |
x265 | 3.4 | ✓ | ✓ | ✓ |
zlib | v1.3 | ✓ | ✓ | ✓ |
为了方便可以在不同的目录下运行,因此写了一些脚本,不能直接使用 freeswitch 这个可执行文件来执行运行:
./bootstrap.sh # start FS
./stop.sh # stop FS
./cli.sh # run fs_cli
模块 | 备注 |
---|---|
amr | |
amrwb | |
av | |
b64 | |
cdr_csv | |
cdr_sqlite | |
commands | |
conference | |
console | |
curl | |
db | |
dialplan_asterisk | |
dialplan_xml | |
dptools | |
enum | |
esf | |
event_socket | |
expr | |
fifo | |
fsv | |
g723_1 | |
g729 | |
h26x | |
openh264 | |
hash | |
httapi | |
local_stream | |
logfile | |
loopback | |
lua | |
native_file | |
opus | |
png | |
rtc | |
say_en | |
skinny | |
sms | |
sndfile | |
shout | |
sofia | |
spandsp | |
syslog | |
tone_stream | |
valet_parking | |
verto | |
voicemail | |
xml_cdr | |
xml_rpc | |
xml_scgi |