Skip to main content

Upgrading Asterisk 18 on Debian


With special thanks to Josh Culp and @kenn10, we are pleased to provide an upgrade script for Incredible PBX 2021 that upgrades your server to the latest Asterisk 18 release. Any Asterisk 18 bugs should be reported to issues.asterisk.org.

#!/bin/bash
echo "This utility stops Asterisk and upgrades it to latest Asterisk 18."
read -p "Press Enter to proceed at your own risk or Ctrl-C to abort..."
echo "Upgrading FreePBX 15 modules to avoid potential disaster..."
fwconsole ma upgradeall
fwconsole reload
/root/sig-fix
/root/sig-fix
fwconsole stop
echo "Beginning Asterisk 18 install process..."
cd /usr/src
rm -rf /usr/lib/asterisk
rm -rf /usr/lib64/asterisk
rm -rf asterisk-18*
touch /etc/asterisk/stir_shaken.conf
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-18-current.tar.gz
tar zxvf asterisk-18*
rm -f asterisk-18*.tar.gz
cd asterisk-18*
contrib/scripts/get_mp3_source.sh
contrib/scripts/install_prereq install
make distclean
wget http://incrediblepbx.com/menuselect-incredible16-debian10.tar.gz
tar zxvf menuselect*.tar.gz
CFLAGS='-DENABLE_SRTP_AES_256 -DENABLE_SRTP_AES_GCM' \
./configure --libdir=/usr/lib64 \
--with-pjproject-bundled \
--with-jansson-bundled
make menuselect.makeopts
echo "Cleaning up missing modules noted above..."
menuselect/menuselect --enable-category MENUSELECT_ADDONS menuselect.makeopts
menuselect/menuselect --enable-category MENUSELECT_CODECS menuselect.makeopts
menuselect/menuselect --disable-category MENUSELECT_TESTS menuselect.makeopts
menuselect/menuselect --enable CORE-SOUNDS-EN-GSM menuselect.makeopts
menuselect/menuselect --enable MOH-OPSOUND-WAV menuselect.makeopts
menuselect/menuselect --enable EXTRA-SOUNDS-EN-GSM menuselect.makeopts
menuselect/menuselect --enable cdr_mysql menuselect.makeopts
menuselect/menuselect --disable test_named_lock menuselect.makeopts
menuselect/menuselect --disable test_res_pjsip_scheduler menuselect.makeopts
menuselect/menuselect --disable test_file menuselect.makeopts
menuselect/menuselect --disable test_bridging menuselect.makeopts
menuselect/menuselect --disable test_res_pjsip_scheduler menuselect.makeopts
menuselect/menuselect --disable test_res_rtp menuselect.makeopts
menuselect/menuselect --disable app_voicemail_odbc menuselect.makeopts
menuselect/menuselect --disable test_mwi menuselect.makeopts
menuselect/menuselect --disable test_res_pjsip_session_caps menuselect.makeopts
menuselect/menuselect --disable test_stasis_state menuselect.makeopts
menuselect/menuselect --disable test_res_prometheus menuselect.makeopts
menuselect/menuselect --disable app_voicemail_imap menuselect.makeopts
menuselect/menuselect --enable app_macro menuselect.makeopts
make menuselect.makeopts
make menuselect
read -p "Press Enter to proceed at your own risk or Ctrl-C to abort..."
make && make install && ldconfig && make config
fwconsole restart
read -p "All done. Press Enter key to load pbxstatus..."
pbxstatus