官方给的easy way安装方式如下:
# 换成自己的token
TOKEN=pat_ZrPXJQ8JNWsVQW2ubhnUwi7gapt-get update && apt-get install -y gnupg2 wget lsb-releasewget --http-user=signalwire --http-password=$TOKEN -O /usr/share/keyrings/signalwire-freeswitch-repo.gpg https://freeswitch.signalwire.com/repo/deb/debian-release/signalwire-freeswitch-repo.gpgecho "machine freeswitch.signalwire.com login signalwire password $TOKEN" > /etc/apt/auth.conf
chmod 600 /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.listapt-get update && apt-get install -y freeswitch-meta-all
我们注意到freeswitch-meta-all是什么都安装,但服务器在国外,下载和安装太耗时间了,试试下面的:
# 换成自己的token
TOKEN=pat_ZrPXJQ8JNWsVQW2ubhnUwi7gapt-get update && apt-get install -y gnupg2 wget lsb-releasewget --http-user=signalwire --http-password=$TOKEN -O /usr/share/keyrings/signalwire-freeswitch-repo.gpg https://freeswitch.signalwire.com/repo/deb/debian-release/signalwire-freeswitch-repo.gpgecho "machine freeswitch.signalwire.com login signalwire password $TOKEN" > /etc/apt/auth.conf
chmod 600 /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.listapt update && apt install -y freeswitch \freeswitch-mod-dptools \freeswitch-mod-console \freeswitch-mod-commands \freeswitch-mod-logfile \freeswitch-mod-local-stream \freeswitch-mod-dialplan-xml \freeswitch-mod-event-socket \freeswitch-mod-sofia \freeswitch-mod-conference \freeswitch-mod-hash \freeswitch-mod-lua \freeswitch-mod-shout \freeswitch-mod-av \freeswitch-mod-amr \freeswitch-mod-amrwb \freeswitch-mod-callcenter \freeswitch-mod-fifo \freeswitch-mod-cdr-csv \freeswitch-mod-com-g729 \freeswitch-mod-g729 \freeswitch-mod-g723-1 \freeswitch-mod-curl \freeswitch-mod-esf \freeswitch-mod-fifo \freeswitch-mod-h26x \freeswitch-mod-httapi \freeswitch-mod-loopback \freeswitch-mod-mariadb \freeswitch-mod-pgsql \freeswitch-mod-mp4v \freeswitch-mod-native-file \freeswitch-mod-sndfile \freeswitch-mod-opus \freeswitch-mod-say-en \freeswitch-mod-say-zh \freeswitch-mod-spandsp \freeswitch-mod-tone-stream \freeswitch-mod-tts-commandline \freeswitch-mod-rtc \freeswitch-mod-verto \freeswitch-mod-voicemail \freeswitch-mod-voicemail-ivr \freeswitch-mod-xml-rpc \freeswitch-mod-sms \freeswitch-mod-yuv \freeswitch-systemd
在华为云上跑过一次,几分钟就下载成功了(还有一些可选模块,比如cdr模块,运行`apt-cache search freeswitch` 可查到)
- 把配置文件放到 /etc/freeswitch
- 语音文件放到 /usr/share/freeswitch/sounds
就可以启动了
全局变量如下:
base_dir=/usr
recordings_dir=/var/lib/freeswitch/recordings
sounds_dir=/usr/share/freeswitch/sounds
conf_dir=/etc/freeswitch
log_dir=/var/log/freeswitch
run_dir=/var/run/freeswitch
db_dir=/var/lib/freeswitch/db
mod_dir=/usr/lib/freeswitch/mod
htdocs_dir=/usr/share/freeswitch/htdocs
script_dir=/usr/share/freeswitch/scripts
temp_dir=/tmp
grammar_dir=/usr/share/freeswitch/grammar
fonts_dir=/usr/share/freeswitch/fonts
images_dir=/var/lib/freeswitch/images
certs_dir=/etc/freeswitch/tls
storage_dir=/var/lib/freeswitch/storage
cache_dir=/var/cache/freeswitch
data_dir=/usr/share/freeswitch
localstate_dir=/var/lib/freeswitch
但遗憾的是没有mrcp模块
那怎么办呢?
- apt install -y libfreeswitch-dev
- 头文件在 /usr/local/freeswitch
- 库文件在 /usr/lib, 有libesl.a和libfreeswitch.so
- freeswitch.pc在/usr/lib/pkgconfig目录
应该可以源码编译mod_unimrcp
如有问题可联系我(欢迎留言)
参考资料:
- https://github.com/Omid-Mohajerani/freeswitch
- RTS 文档