一、环境
No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.4 LTS Release: 22.04.4 Codename: jammy |
二、依赖
1、 工具包
apt install -y openssh-server net-tools vim git
2、 依赖库
apt install -y gcc g++ autoconf automake make cmake yasm uuid-dev libvpx-dev unixodbc-dev ncurses-dev zlib1g-dev libjpeg-dev libtiff-dev liblua5.1-0-dev libsqlite3-dev libsndfile-dev libavformat-dev libswscale-dev libcurl4-openssl-dev libpcre3-dev libspeex-dev libspeexdsp-dev libedit-dev libtool libldns-dev libopus-dev libpq-dev
关于github下载问题:
①编辑hosts
sudo vim /etc/hosts
②添加以下内容
140.82.113.3 github.com
140.82.114.4 github.com
3、 libks
下载
sudo git clone https://github.com/signalwire/libks.git /usr/local/src/libks
编译安装
cd /usr/local/src/libks
cmake .
make && make install
cd ..
验证
ldconfig && ldconfig -p | grep libks
打印返回
libks.so.2 (libc6,x86-64) => /lib/libks2.so.2 libks2.so (libc6,x86-64) => /lib/libks2.so libksba.so.8 (libc6,x86-64) => /lib/x86_64-linux-gnu/libksba.so.8 |
4、 signalwire-c (注:signalwire依赖了libks,所以必须先安装libks)
下载
git clone https://github.com/signalwire/signalwire-c.git /usr/local/src/signalwire-c
编译安装
cd /usr/local/src/signalwire-c
cmake .
make && make install
cd ..
ldconfig
验证
ldconfig -p | grep signalwire
打印返回
libsignalwire-_client2.so.2 (libc6,x86-64) => /usr/local/lib/libsignalwire_client2.so.2 libsignalwire_client2.so (libc6,x86-64) => /usr/local/lib/libsignalwire_client2.so |
5、sofia-sip
下载
sudo git clone https://github.com/freeswitch/sofia-sip.git /usr/local/src/sofia-sip
编译安装
cd /usr/local/src/sofia-sip
./bootstrap.sh
./configure
make && make install
cd ..
ldconfig
验证
ldconfig -p | grep sofia
打印返回
libsofia-sip-ua.so.0 (libc6,x86-64) => /usr/local/lib/libsofia--sip-ua.so.0 libsofia-sip-ua.so (libc6,x86-64) => /usr/local/lib/libsofia--sip-ua.so |
6、spandsp
下载
git clone https://github.com/freeswitch/spandsp /usr/local/src/spandsp
版本回退
cd /usr/local/src/spandsp
git checkout -b finecode20230705 0d2e6ac65e0e8f53d652665a743015a88bf048d4
编译安装
cd /usr/local/src/spandsp
./bootstrap.sh -j
./configure
make && make install
cd ..
ldconfig
验证
ldconfig -p | grep spandsp
打印返回
libspandsp.so.3 (libc6,x86-64) => /usr/local/lib/libspandsp.so.3 libspandsp.so (libc6,x86-64) => /usr/local/lib/libspandsp.so |
三、Freeswitch本体
1、下载
下载网址: freeswitch-1.10.10.-release.tar.gz
或者使用wget 下载
wget --no-check-certificate https://files.freeswitch.org/releases/freeswitch/freeswitch-1.10.10.-release.tar.gz -P /usr/local/src
2、修改编译模块(可选)
vim /usr/local/src/freeswitch/modules.conf
内容如下
#applications/mod_abstraction
applications/mod_av
#applications/mod_avmd
#applications/mod_bert
#applications/mod_blacklist
#applications/mod_callcenter
#applications/mod_cidlookup
#applications/mod_cluechoo
applications/mod_commands
applications/mod_conference
applications/mod_curl
#applications/mod_cv
applications/mod_db
#applications/mod_directory
#applications/mod_distributor
applications/mod_dptools
#applications/mod_easyroute
applications/mod_enum
applications/mod_esf
applications/mod_esl
applications/mod_expr
applications/mod_fifo
#applications/mod_fsk
applications/mod_fsv
applications/mod_hash
#applications/mod_hiredis
applications/mod_httapi
applications/mod_http_cache
#applications/mod_ladspa
#applications/mod_lcr
#applications/mod_memcache
#applications/mod_mongo
#applications/mod_mp4
#applications/mod_mp4v2
#applications/mod_nibblebill
#applications/mod_oreka
#applications/mod_osp
#applications/mod_prefix
#applications/mod_rad_auth
#applications/mod_redis
#applications/mod_rss
applications/mod_signalwire
applications/mod_sms
#applications/mod_sms_flowroute
#applications/mod_snapshot
#applications/mod_snom
#applications/mod_sonar
#applications/mod_soundtouch
applications/mod_spandsp
#applications/mod_spy
#applications/mod_stress
applications/mod_test
#applications/mod_translate
applications/mod_valet_parking
#applications/mod_video_filter
#applications/mod_vmd
applications/mod_voicemail
#applications/mod_voicemail_ivr
#asr_tts/mod_cepstral
#asr_tts/mod_flite
#asr_tts/mod_pocketsphinx
#asr_tts/mod_tts_commandline
codecs/mod_amr
#codecs/mod_amrwb
codecs/mod_b64
#codecs/mod_bv
#codecs/mod_clearmode
#codecs/mod_codec2
#codecs/mod_com_g729
#codecs/mod_dahdi_codec
codecs/mod_g723_1
codecs/mod_g729
codecs/mod_h26x
#codecs/mod_ilbc
#codecs/mod_isac
#codecs/mod_mp4v
codecs/mod_opus
#codecs/mod_sangoma_codec
#codecs/mod_silk
#codecs/mod_siren
#codecs/mod_theora
#databases/mod_mariadb
databases/mod_pgsql
dialplans/mod_dialplan_asterisk
#dialplans/mod_dialplan_directory
dialplans/mod_dialplan_xml
#directories/mod_ldap
#endpoints/mod_alsa
#endpoints/mod_gsmopen
#endpoints/mod_h323
#endpoints/mod_khomp
endpoints/mod_loopback
#endpoints/mod_opal
#endpoints/mod_portaudio
endpoints/mod_rtc
#endpoints/mod_rtmp
endpoints/mod_skinny
endpoints/mod_sofia
endpoints/mod_verto
#event_handlers/mod_amqp
event_handlers/mod_cdr_csv
#event_handlers/mod_cdr_mongodb
#event_handlers/mod_cdr_pg_csv
event_handlers/mod_cdr_sqlite
#event_handlers/mod_erlang_event
#event_handlers/mod_event_multicast
event_handlers/mod_event_socket
#event_handlers/mod_fail2ban
#event_handlers/mod_format_cdr
#event_handlers/mod_json_cdr
#event_handlers/mod_radius_cdr
#event_handlers/mod_odbc_cdr
#event_handlers/mod_kazoo
#event_handlers/mod_rayo
#event_handlers/mod_smpp
#event_handlers/mod_snmp
#event_handlers/mod_event_zmq
#formats/mod_imagick
formats/mod_local_stream
formats/mod_native_file
formats/mod_png
#formats/mod_portaudio_stream
#formats/mod_shell_stream
#formats/mod_shout
formats/mod_sndfile
#formats/mod_ssml
formats/mod_tone_stream
#formats/mod_vlc
#formats/mod_opusfile
#languages/mod_basic
#languages/mod_java
languages/mod_lua
#languages/mod_managed
#languages/mod_perl
#languages/mod_python
#languages/mod_python3
#languages/mod_v8
#languages/mod_yaml
loggers/mod_console
#loggers/mod_graylog2
loggers/mod_logfile
loggers/mod_syslog
#loggers/mod_raven
#say/mod_say_de
say/mod_say_en
#say/mod_say_es
#say/mod_say_es_ar
#say/mod_say_fa
#say/mod_say_fr
#say/mod_say_he
#say/mod_say_hr
#say/mod_say_hu
#say/mod_say_it
#say/mod_say_ja
#say/mod_say_nl
#say/mod_say_pl
#say/mod_say_pt
#say/mod_say_ru
#say/mod_say_sv
#say/mod_say_th
say/mod_say_zh
#timers/mod_posix_timer
#timers/mod_timerfd
xml_int/mod_xml_cdr
#xml_int/mod_xml_curl
#xml_int/mod_xml_ldap
#xml_int/mod_xml_radius
xml_int/mod_xml_rpc
xml_int/mod_xml_scgi
#mod_freetdm|https://github.com/freeswitch/freetdm.git -b master
## Experimental Modules (don't cry if they're broken)
#../../contrib/mod/xml_int/mod_xml_odbc
3、安装
tar -zvxf freeswitch-1.10.10.-release.tar.gz
mv freeswitch-1.10.10.-release freeswitch
cd /usr/local/src/freeswitch/
./rebootstrap.sh
./configure
make && make install
cd /usr/local/freeswitch
4、安装ESL(可选)
cd /usr/local/src/freeswitch/libs/esl/
make && make install
5、创建软连接
ln -s /usr/local/freeswitch/conf /etc/freeswitch
ln -s /usr/local/freeswitch/bin/fs_cli /usr/bin/fs_cli
ln -s /usr/local/freeswitch/bin/freeswitch /usr/sbin/freeswitch
6、启动freeswitch
启动
freeswitch
关闭
freeswitch -stop
重启
freeswitch -restart
至此:freesswitch就已经成功的安装上了!!! 接下来就可以进行电话注册、拨号接听等操作了