1. 安装 freeswitch 库
git clone https://github.com/signalwire/freeswitch.git
2. 安装环境依赖
apt-get install libedit-dev libldns-dev libpcre3-dev libspeexdsp-dev libspeex-dev libcurl4-openssl-dev libopus-dev libncurses5-dev libtiff-dev libjpeg-dev libssl-dev libsqlite3-dev build-essential automake autoconf git-core wget libtool lua5.1 liblua5.1-dev libsndfile1-dev yasm libsndfile-dev libtool-bin sqlite3 libavresample-dev libswscale-dev uuid-dev
3 . 安装freeswitch
sudo ./bootstrap.sh
sudo ./configure
sudo make install
问题归纳解决:
making all mod_signalwire
make[4]: Entering directory `/usr/local/src/freeswitch/src/mod/applications/mod_signalwire'
Makefile:916: *** You must install libks to build mod_signalwire. Stop.
make[4]: Leaving directory `/usr/local/src/freeswitch/src/mod/applications/mod_signalwire'
make[3]: *** [mod_signalwire-all] Error 1
解决办法:
1. 安装cmake
cd /usr/local/src
wget https://cmake.org/files/v3.13/cmake-3.13.3.tar.gz
tar -zxvf cmake-3.13.3.tar.gz
cd cmake-3.13.3
sudo ./bootstrap
sudo make
sudo make install
2. 安装libks
cd /usr/local/src
git clone https://github.com/signalwire/libks.git
cd libks
sudo cmake .
sudo make
sudo make install
sudo mkdir -p /usr/lib64/pkgconfig/sudo cp /usr/lib/pkgconfig/libks.pc /usr/lib64/pkgconfig/
3. 安装signalwire-c
cd /usr/local/src
git clone https://github.com/signalwire/signalwire-c.git
cd signalwire-c
sudo cmake .
sudo make
sudo make install
sudo cp /usr/local/lib/pkgconfig/*.pc /usr/lib64/pkgconfig/
sudo cp -f /usr/local/lib/* /usr/lib64/
然后再重新编译安装freeswitch,没有意外的话可以正常安装freeswitch
cd /usr/local/freeswitch
sudo ./bootstrap.sh -j
sudo ./configure --enable-core-odbc-support #如果读者不想使用mysql管理,只需要执行./configure即可
sudo make
sudo make install
成功的界面如下
make[5]: Leaving directory '/home/sean/work/freeswitch/src/mod/xml_int/mod_xml_scgi'
make[4]: Leaving directory '/home/sean/work/freeswitch/src/mod/xml_int/mod_xml_scgi'
make[3]: Leaving directory '/home/sean/work/freeswitch/src/mod'
make[3]: Entering directory '/home/sean/work/freeswitch/src'
make[4]: Entering directory '/home/sean/work/freeswitch/src'
make[4]: Nothing to be done for 'install-exec-am'.
make[4]: Nothing to be done for 'install-data-am'.
make[4]: Leaving directory '/home/sean/work/freeswitch/src'
make[3]: Leaving directory '/home/sean/work/freeswitch/src'
make[2]: Leaving directory '/home/sean/work/freeswitch/src'
Making install in build
make[2]: Entering directory '/home/sean/work/freeswitch/build'
+---------- FreeSWITCH install Complete ----------+
+ FreeSWITCH has been successfully installed. +
+ +
+ Install sounds: +
+ (uhd-sounds includes hd-sounds, sounds) +
+ (hd-sounds includes sounds) +
+ ------------------------------------ +
+ make cd-sounds-install +
+ make cd-moh-install +
+ +
+ make uhd-sounds-install +
+ make uhd-moh-install +
+ +
+ make hd-sounds-install +
+ make hd-moh-install +
+ +
+ make sounds-install +
+ make moh-install +
+ +
+ Install non english sounds: +
+ replace XX with language +
+ (ru : Russian) +
+ (fr : French) +
+ ------------------------------------ +
+ make cd-sounds-XX-install +
+ make uhd-sounds-XX-install +
+ make hd-sounds-XX-install +
+ make sounds-XX-install +
+ +
+ Upgrade to latest: +
+ ---------------------------------- +
+ make current +
+ +
+ Rebuild all: +
+ ---------------------------------- +
+ make sure +
+ +
+ Install/Re-install default config: +
+ ---------------------------------- +
+ make samples +
+ +
+ +
+ Additional resources: +
+ ---------------------------------- +
+ https://www.freeswitch.org +
+ https://freeswitch.org/confluence +
+ https://freeswitch.org/jira +
+ http://lists.freeswitch.org +
+ +
+ irc.freenode.net / #freeswitch +
+ +
+ Register For ClueCon: +
+ ---------------------------------- +
+ https://www.cluecon.com +
+ +
+-------------------------------------------------+
.=======================================================================================================.
| _ _ ____ _ ____ |
| / \ _ __ _ __ _ _ __ _| | / ___| |_ _ ___ / ___|___ _ __ |
| / _ \ | '_ \| '_ \| | | |/ _` | | | | | | | | |/ _ \ | / _ \| '_ \ |
| / ___ \| | | | | | | |_| | (_| | | | |___| | |_| | __/ |__| (_) | | | | |
| /_/ \_\_| |_|_| |_|\__,_|\__,_|_| \____|_|\__,_|\___|\____\___/|_| |_| |
| |
| ____ _____ ____ ____ __ |
| | _ \_ _/ ___| / ___|___ _ __ / _| ___ _ __ ___ _ __ ___ ___ |
| | |_) || || | | | / _ \| '_ \| |_ / _ \ '__/ _ \ '_ \ / __/ _ \ |
| | _ < | || |___ | |__| (_) | | | | _| __/ | | __/ | | | (_| __/ |
| |_| \_\|_| \____| \____\___/|_| |_|_| \___|_| \___|_| |_|\___\___| |
| |
| ____ _ ____ |
| / ___| |_ _ ___ / ___|___ _ __ ___ ___ _ __ ___ |
| | | | | | | |/ _ \ | / _ \| '_ \ / __/ _ \| '_ ` _ \ |
| | |___| | |_| | __/ |__| (_) | | | | _ | (_| (_) | | | | | | |
| \____|_|\__,_|\___|\____\___/|_| |_| (_) \___\___/|_| |_| |_| |
| |
.=======================================================================================================.
Checking module integrity in target [/usr/local/freeswitch/mod]
make[2]: Leaving directory '/home/sean/work/freeswitch/build'
Making install in tests/unit
make[2]: Entering directory '/home/sean/work/freeswitch/tests/unit'
make[3]: Entering directory '/home/sean/work/freeswitch/tests/unit'
make[3]: Nothing to be done for 'install-exec-am'.
make[3]: Nothing to be done for 'install-data-am'.
make[3]: Leaving directory '/home/sean/work/freeswitch/tests/unit'
make[2]: Leaving directory '/home/sean/work/freeswitch/tests/unit'
make[1]: Leaving directory '/home/sean/work/freeswitch'
注:freeswitch一开始安装好 默认会给你配置好20个account (1000-1019),密码统一是1234,这个可以在freeswitch/conf/vars.xml里面修改