STIR/SHAKEN Install steps --> Freswitch version 1.10.7 to 1.10.10
Step 1: Uninstall Freeswitch Version 1.10.7 and upgrade it to Version 1.10.10-release~64bit
vim /etc/monit/monitrccomment freeswitch
systemctl stop freeswitch
apt-get remove freeswitch -y
apt-get autoremove -y
apt purge freeswitch
rm /etc/init.d/freeswitch
cd /usr/src/
ls -la
cd signalwire-c/
make uninstall
make clean
cd ..
mv signalwire-c/ signalwire-c_bkp
ls -la
cd spandsp
make uninstall
make clean
cd ..
mv spandsp/ spandsp-bkp
ls -la
cd sofia-sip
ls -la
make uninstall
make clean
cd ..
mv sofia-sip/ sofia-sip-bkp
ls -la
cd libks
make uninstall
make clean
mv libks/ libks-bkp
mv /usr/local/freeswitch/ /usr/local/freeswitch-bkpSteps 2: Packages to install:
apt-get install -y cmake autoconf \
automake devscripts gawk dnsutils sendmail-bin sensible-mda ffmpeg libffi-dev \
libjpeg62-turbo-dev libncurses5-dev make python-dev pkg-config libgdbm-dev librabbitmq-dev\
gettext sudo libxml2 libxml2-dev openssl gettext gcc libldns-dev libpcre3-dev \
uuid-dev build-essential libssl-dev zlib1g-dev libspeex-dev libspeexdsp-dev libtool \
libsqlite3-dev libedit-dev libldns-dev libpq-dev bc unixodbc-dev libtiff-dev python3-pip \
libvpx-dev liblua5.2-dev yasm libavformat-dev libswscale-dev libopus-dev libsndfile-dev
apt-get install autoconf automake devscripts gawk g++ git-core libjpeg-dev libncurses5-dev libtool libtool-bin make python-dev gawk pkg-config libtiff5-dev libperl-dev libgdbm-dev libdb-dev gettext libssl-dev libcurl4-openssl-dev libpcre3-dev libspeex-dev libspeexdsp-dev libsqlite3-dev libedit-dev libldns-dev libpq-dev memcached libmemcached-dev
apt-get install uuid-dev yasm
apt install -y ntpdate ntp lua5.1 bc libxml2 libxml2-dev openssl libcurl4-openssl-dev gettext gcc g++
apt install python3-distutils
apt-get install -y yasm lua5.2 lua5.2-dev libsndfile-dev portaudio19-dev
Step 3: Install Freeswitch Prerequisties and spand-sp from below commands:
cd /usr/src/
git clone https://github.com/inextrixsupport/spandsp.git
cd spandsp/
/bin/bash autogen.sh
./configure
make && make install
#Install libks from below commands:
cd /usr/src
git clone https://github.com/inextrixsupport/libks.git
cd libks/
cmake . -DCMAKE_BUILD_TYPE=Debug
make && make install
#Install signalwire from below commands:
cd /usr/src
git clone https://github.com/inextrixsupport/signalwire-c.git
cd signalwire-c/
cmake . -DCMAKE_BUILD_TYPE=Debug
make && make install
#Install lib-curl from below commands:
cd /usr/src/
#cp -r /opt/ASTPP/misc/curl-7.55.0.tar.gz /usr/src/ (wget http://dl.astppbilling.org:9843/ASTPPv5.tar.gz)
#tar -xzf curl-7.55.0.tar.gz
cd curl-7.55.0
./configure
make && make install
#Install sofia-sip from below command:
cd /usr/src/
git clone https://github.com/inextrixsupport/sofia-sip.git
cd sofia-sip/
/bin/bash autogen.sh
./configure
make && make installRun below for libjwt
cd /usr/src/
git clone https://github.com/akheron/jansson
cd jansson/
autoreconf -i
./configure
make
sudo make install
-----------------------------------
cd /usr/src/
git clone https://github.com/benmcollins/libjwt
cd libjwt/
autoreconf -i
./configure
make
sudo make installfatal error: libks/ks.h: No such file or directory
cp -rf /usr/include/libks2/libks/ /usr/include/
Install stir/shaken:
cd /usr/src/
git clone https://github.com/signalwire/libstirshaken
cd libstirshaken
./bootstrap.sh
./configure
make (apt install libjwt-dev)
sudo make install
make checkcd /usr/src
wget http://dl.astppbilling.org:9843/freeswitch-1.10.10.tar.gz
wget http://dl.astppbilling.org:9843/switch_core_io.c
wget http://dl.astppbilling.org:9843/switch_core_media.c
tar -xzf freeswitch-1.10.10.tar.gz
mv /usr/src/freeswitch-1.10.10/src/switch_core_io.c /tmp/
mv /usr/src/freeswitch-1.10.10/src/switch_core_media.c /tmp/
cp -rf switch_core_io.c /usr/src/freeswitch-1.10.10/src/
cp -rf switch_core_media.c /usr/src/freeswitch-1.10.10/src/
cd freeswitch-1.10.10
sudo ldconfigStep 4: now complie freeswitch:
cd /usr/src
wget http://dl.astppbilling.org:9843/freeswitch-1.10.10.tar.gz
tar -xzf freeswitch-1.10.10.tar.gz
cd freeswitch-1.10.10
./configure --enable-core-odbc-support
make
# v80 error if there then run below else run sed...command
cp /usr/local/include/spandsp/v80.h /usr/local/include/spandsp/private/v80.h
make
sed -i 's|#applications/mod_curl|applications/mod_curl|g' /usr/src/freeswitch-1.10.10/modules.conf
sed -i 's|#applications/mod_json_cdr|applications/mod_json_cdr|g' /usr/src/freeswitch-1.10.10/modules.conf
sed -i 's|#xml_int/mod_xml_cdr|xml_int/mod_xml_cdr|g' /usr/src/freeswitch-1.10.10/modules.conf
sed -i 's|#xml_int/mod_xml_curl|xml_int/mod_xml_curl|g' /usr/src/freeswitch-1.10.10/modules.conf
sed -i 's|#applications/mod_nibblebill|applications/mod_nibblebill|g' /usr/src/freeswitch-1.10.10/modules.conf
sed -i 's|#applications/mod_db|applications/mod_db|g' /usr/src/freeswitch-1.10.10/modules.conf
sed -i 's|#event_handlers/mod_json_cdr|event_handlers/mod_json_cdr|g' /usr/src/freeswitch-1.10.10/modules.conf
sed -i 's|#applications/mod_abstraction|applications/mod_abstraction|g' /usr/src/freeswitch-1.10.10/modules.conf
make install
make cd-sounds-install
mv -f /usr/local/freeswitch/scripts /tmp/.
# ln -s /opt/ASTPP/freeswitch/fs /var/www/html
ln -s /opt/ASTPP/freeswitch/scripts_deb9 /usr/local/freeswitch/scripts
# mv /opt/ASTPP/freeswitch/scripts_deb9/astpp/astpp_deb9.lua /opt/ASTPP/freeswitch/scripts_deb9/astpp/astpp.lua
cp -rf /opt/ASTPP/freeswitch/sounds/*.wav /usr/local/freeswitch/sounds/en/us/callie/
cp -rf /opt/ASTPP/freeswitch/conf/autoload_configs/* /usr/local/freeswitch/conf/autoload_configs/
# chmod -Rf 777 /var/www/html/fs/
# chmod -Rf 777 /opt/ASTPP/
cp -r /opt/ASTPP/misc/freeswitch.sh /etc/init.d/freeswitch
chmod +x /etc/init.d/freeswitch
systemctl daemon-reloadStep 5: Normalize freeswitch installation:
systemctl enable freeswitch
sed -i "s#max-sessions\" value=\"1000#max-sessions\" value=\"2000#g" /usr/local/freeswitch/conf/autoload_configs/switch.conf.xml
sed -i "s#sessions-per-second\" value=\"30#sessions-per-second\" value=\"50#g" /usr/local/freeswitch/conf/autoload_configs/switch.conf.xml
sed -i "s#max-db-handles\" value=\"50#max-db-handles\" value=\"500#g" /usr/local/freeswitch/conf/autoload_configs/switch.conf.xml
sed -i "s#db-handle-timeout\" value=\"10#db-handle-timeout\" value=\"30#g" /usr/local/freeswitch/conf/autoload_configs/switch.conf.xml
sed -i "s#<\!-- <load module=\"mod_conference\"/> --># <load module=\"mod_conference\"/>#g" /usr/local/freeswitch/conf/autoload_configs/modules.conf.xml
sed -i "s#<\!-- <load module=\"mod_fifo\"/> --># <load module=\"mod_fifo\"/>#g" /usr/local/freeswitch/conf/autoload_configs/modules.conf.xml
sed -i "s#<\!-- <load module=\"mod_nibblebill\"/> --># <load module=\"mod_nibblebill\"/>#g" /usr/local/freeswitch/conf/autoload_configs/modules.conf.xml
sed -i '26i <load module=\"mod_spy\"/>' /usr/local/freeswitch/conf/autoload_configs/modules.conf.xml
sed -i '26i <load module=\"mod_spandsp\"/>' /usr/local/freeswitch/conf/autoload_configs/modules.conf.xml
sed -i '26i <load module=\"mod_curl\"/>' /usr/local/freeswitch/conf/autoload_configs/modules.conf.xml
#update fs_cli password in below command
sed -i -e "s/ClueCon/BgPe737f48yWD4oNH0QmP/g" /usr/local/freeswitch/conf/autoload_configs/event_socket.conf.xml
sed -i "s#mailer-app\" value=\"sendmail#mailer-app\" value=\"/usr/bin/php /var/www/html/fs/lib/astpp.vmailer.php#g" /usr/local/freeswitch/conf/autoload_configs/switch.conf.xml
sed -i "s#mailer-app-args\" value=\"-t#mailer-app-args\" value=\"#g" /usr/local/freeswitch/conf/autoload_configs/switch.conf.xml
sudo ldconfig
ln -s /usr/local/freeswitch/bin/freeswitch /usr/local/bin/freeswitch
ln -s /usr/local/freeswitch/bin/fs_cli /usr/local/bin/fs_cli
systemctl start freeswitch
rm -rf /usr/local/freeswitch/conf/dialplan/*
touch /usr/local/freeswitch/conf/dialplan/astpp.xml
rm -rf /usr/local/freeswitch/conf/directory/*
touch /usr/local/freeswitch/conf/directory/astpp.xml
rm -rf /usr/local/freeswitch/conf/sip_profiles/*
touch /usr/local/freeswitch/conf/sip_profiles/astpp.xml
chmod -Rf 755 /usr/local/freeswitch/sounds/en/us/callie
# cp -rf /opt/ASTPP/web_interface/nginx/deb_fs.conf /etc/nginx/conf.d/fs.conf
# chown -Rf root.root /var/www/html/fs
# chmod -Rf 755 /var/www/html/fs
chmod -Rf 777 /usr/local/freeswitch/sounds/music
systemctl restart freeswitch
systemctl enable freeswitchStep 6: Now connect fs_cli
Now we need to create cert and pem file
cd /usr/src/
nano cert.sh
keep below file in cert.shchmod +x cert.sh
mv cert.pem /var/www/html/astpp/
vim /etc/monit/monitrc
Uncomment freeswitch.