FreeSwitch[edit]
Install[edit]
Library[edit]
speexdsp[edit]
sofia-sip[edit]
signalwire-c[edit]
FreeSwitch†[edit]
- /usr/local/freeswitch/bin/freeswitch -nc
- /usr/local/freeswitch/bin/freeswitch -stop
- UDP: 3478, 3479, 5060, 5062, 12000-17000
modules.conf†[edit]
#applications/mod_fsv
#codecs/mod_opus
#formats/mod_sndfile
codecs/mod_siren
xml_int/mod_xml_curl
コンパイル&インストール†[edit]
# export PKG_CONFIG_PATH=/usr/lib64/pkgconfig:/usr/lib/pkgconfig
# ./configure --disable-libvpx --disable-libyuv
lua の処理 (後述参照)
# vi modules.conf
# make
# make install
- spandsp3 devel
- sofia-sip
- yum install sqlite-devel
- yum install speex-devel
- yum install ldns-devel
結局 コンパイラが avx2をサポートしていないとのことで,コンパイルできず.†[edit]
disabling avx512: not supported by compiler
- CentOS だと 「色々パッケージが無い(または古い)」 と怒られる
- 最低 sqlite3, libldns はコンパイルして追加.
modules.conf†[edit]
#applications/mod_fsv
#codecs/mod_opus
#codecs/mod_vpx
#formats/mod_sndfile
codecs/mod_siren
xml_int/mod_xml_curl
コンパイル&インストール†[edit]
# export PKG_CONFIG_PATH=/usr/lib64/pkgconfig:/usr/lib/pkgconfig
# ./configure
lua の処理
# vi modules.conf
# make
# make install
liblua.a, liblua.so†[edit]
# cd src/mod/languages/mod_lua/lua
# make linux
# cp liblua.a /usr/local/lib
# chmod o+r /usr/local/lib/liblua.a
# cd ..
# ln -s lus/*.h .
vi Makefile (これは必要ないかも) 必要なし
CFLAGS= -O2 -Wall -DLUA_COMPAT_ALL $(SYSCFLAGS) $(MYCFLAGS) -fPIC
....
liblua.so: $(BASE_O)
$(CC) -shared -o $@ $(BASE_O)
- G.722.1用モジュール
- mod_siren で必要
# git clone https://freeswitch.org/stash/scm/sd/libg7221.git
# cd libg7221
# ./autogen.sh
# ./configure
# make
# make install
conf/vars.xml†[edit]
diff vars.xml.orig vars.xml
258c258,259
< <X-PRE-PROCESS cmd="set" data="global_codec_prefs=OPUS,G722,PCMU,PCMA,VP8"/>
---
> <!--<X-PRE-PROCESS cmd="set" data="global_codec_prefs=OPUS,G722,PCMU,PCMA,VP8"/>-->
> <X-PRE-PROCESS cmd="set" data="global_codec_prefs=G7221@32000h,G7221@16000h,G722,PCMU,PCMA,GSM"/>
conf/autoload_configs/xml_curl.conf.xml.†[edit]
# diff xml_curl.conf.xml.orig xml_curl.conf.xml
3c3,14
< <binding name="example">
---
> <binding name="EDU_directory">
> <param name="gateway-url" value="http://opensim.tuis.ac.jp:8004/fsapi/freeswitch-config" bindings="directory"/>
> <param name="gateway-credentials" value="freeswitch:password"/>
> <param name="disable-100-continue" value="true"/>
> </binding>
> <binding name="EDU_dialplan">
> <param name="gateway-url" value="http://opensim.tuis.ac.jp:8004/fsapi/freeswitch-config" bindings="dialplan"/>
> <param name="gateway-credentials" value="freeswitch:password"/>
> <param name="disable-100-continue" value="true"/>
> </binding>
>
> <!--<binding name="example">-->
47c58
< </binding>
---
> <!--</binding>-->
conf/autoload_configs/modules.conf.xml†[edit]
diff modules.conf.xml.orig modules.conf.xml
18c18
< <!-- <load module="mod_xml_curl"/> -->
---
> <load module="mod_xml_curl"/>
66c66
< <load module="mod_fsv"/>
---
> <!-- <load module="mod_fsv"/> -->
95c95
< <load module="mod_vpx"/>
---
> <!--<load module="mod_vpx"/>--> 1.6.9 の場合は無し
97c97
< <!--<load module="mod_siren"/>-->
---
> <load module="mod_siren"/>
99c99
< <load module="mod_opus"/>
---
> <!--<load module="mod_opus"/>-->
102c102
< <load module="mod_sndfile"/>
---
> <!--<load module="mod_sndfile"/>-->
conf/autoload_configs/conference.conf.xml.orig†[edit]
diff conference.conf.xml.orig conference.conf.xml
72c72
< <param name="muted-sound" value="conference/conf-muted.wav"/>
---
> <!--<param name="muted-sound" value="conference/conf-muted.wav"/>-->
74c74
< <param name="unmuted-sound" value="conference/conf-unmuted.wav"/>
---
> <!--<param name="unmuted-sound" value="conference/conf-unmuted.wav"/>-->
76c76
< <param name="alone-sound" value="conference/conf-alone.wav"/>
---
> <!--<param name="alone-sound" value="conference/conf-alone.wav"/>-->
80c80
< <param name="moh-sound" value="$${hold_music}"/>
---
> <!--<param name="moh-sound" value="$${hold_music}"/>-->
82c82
< <param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/>
---
> <!--<param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/>-->
84c84
< <param name="exit-sound" value="tone_stream://%(500,0,300,200,100,50,25)"/>
---
> <!--<param name="exit-sound" value="tone_stream://%(500,0,300,200,100,50,25)"/>-->
86c86
< <param name="kicked-sound" value="conference/conf-kicked.wav"/>
---
> <!--<param name="kicked-sound" value="conference/conf-kicked.wav"/>-->
88c88
< <param name="locked-sound" value="conference/conf-locked.wav"/>
---
> <!--<param name="locked-sound" value="conference/conf-locked.wav"/>-->
90c90
< <param name="is-locked-sound" value="conference/conf-is-locked.wav"/>
---
> <!--<param name="is-locked-sound" value="conference/conf-is-locked.wav"/>-->
92c92
< <param name="is-unlocked-sound" value="conference/conf-is-unlocked.wav"/>
---
> <!--<param name="is-unlocked-sound" value="conference/conf-is-unlocked.wav"/>-->
94c94
< <param name="pin-sound" value="conference/conf-pin.wav"/>
---
> <!--<param name="pin-sound" value="conference/conf-pin.wav"/>-->
96c96
< <param name="bad-pin-sound" value="conference/conf-bad-pin.wav"/>
---
> <!--<param name="bad-pin-sound" value="conference/conf-bad-pin.wav"/>-->
conf/autoload_configs/switch.conf.xml†[edit]
diff switch.conf.xml.orig switch.conf.xml
146a147,148
> <param name="rtp-start-port" value="6000"/>
> <param name="rtp-end-port" value="6999"/>
IPv6 を無効化†[edit]
# cd conf/sip_profiles/
# mkdir Invalid
# mv *ipv6* Invalid/