Skip to content

Instantly share code, notes, and snippets.

@ShiSHcat
Last active May 13, 2025 01:13
Show Gist options
  • Save ShiSHcat/17491dcf201f97c6009088d3e5d79cf1 to your computer and use it in GitHub Desktop.
Save ShiSHcat/17491dcf201f97c6009088d3e5d79cf1 to your computer and use it in GitHub Desktop.
Taken from https://groups.google.com/g/chan_dongle/c/EROaAi-GoUs?pli=1
Use Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Download https://drive.google.com/file/d/1hEt13Y6iALR6aRrM83UD497G_E43LQV0/view?usp=sharing into /root/chandongle.tar
cd /root
tar -xvf chandongle.tar
curl -o /etc/apt/trusted.gpg.d/mariadb_release_signing_key.asc 'https://mariadb.org/mariadb_release_signing_key.asc'
LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
apt update && apt upgrade && reboot
#install packages
cd /root
apt-get install unzip git gnupg2 curl libnewt-dev libssl-dev libncurses5-dev subversion libsqlite3-dev build-essential libjansson-dev libxml2-dev uuid-dev subversion apt-transport-https curl sox mpg123 unixodbc unixodbc-dev libmariadb3 libmariadb-dev apache2 mariadb-server php7.4 libapache2-mod-php7.4 php7.4-cgi php7.4-common php7.4-curl php7.4-mbstring php7.4-gd php7.4-mysql php7.4-bcmath php7.4-zip php7.4-xml php7.4-imap php7.4-json php7.4-snmp php-pear nodejs npm python3-certbot-apache
#asterisk build
tar zxf asterisk-18-current.tar.gz
cd asterisk-18.*/
./contrib/scripts/get_mp3_source.sh
./contrib/scripts/install_prereq install
./configure
make menuselect
# select app_macro module, format mp3
make -j2
make install install-headers install-logrotate
make samples
make config
ldconfig
groupadd asterisk
useradd -r -d /var/lib/asterisk -g asterisk asterisk
usermod -aG audio,dialout asterisk
chown -R asterisk.asterisk /etc/asterisk
chown -R asterisk.asterisk /var/{lib,log,spool}/asterisk
chown -R asterisk.asterisk /usr/lib/asterisk
#fix asterisk
cd
echo 'AST_USER="asterisk"' >> /etc/default/asterisk
echo 'AST_GROUP="asterisk"' >> /etc/default/asterisk
sed -i 's/;\[radius\]/[radius]/g' /etc/asterisk/cdr.conf
echo 'radiuscfg => /etc/radcli/radiusclient.conf' >> /etc/asterisk/cdr.conf
sed -i 's";radiuscfg => /usr/local/etc/radiusclient-ng/radiusclient.conf"radiuscfg => /etc/radcli/radiusclient.conf"g' /etc/asterisk/cel.conf
systemctl restart asterisk
#fix webserver
a2enmod rewrite
rm -rf /var/www/html
sed -i 's/AllowOverride None/AllowOverride All/' /etc/apache2/apache2.conf
sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/apache2/apache2.conf
sed -i 's/\(^upload_max_filesize = \).*/\12000M/' /etc/php/7.4/cli/php.ini
sed -i 's/\(^upload_max_filesize = \).*/\12000M/' /etc/php/7.4/apache2/php.ini
sed -i 's/\(^memory_limit = \).*/\1512M/' /etc/php/7.4/apache2/php.ini
systemctl restart apache2
#freePBX install
cd /root
tar -xvzf freepbx-16.0-latest.tgz
cd freepbx
./install -n
fwconsole ma downloadinstall certman
fwconsole ma downloadinstall pm2 --force
#install dongles driver
cd /root
echo 'KERNEL=="ttyUSB*", MODE="0666", OWNER="asterisk", GROUP="uucp"'>/etc/udev/rules.d/92-dongle.rules
echo 'rungroup = dialout'>>/etc/asterisk/asterisk.conf
mv dongle.conf /etc/asterisk/dongle.conf
chown asterisk.asterisk /etc/asterisk/dongle.conf
chmod 664 /etc/asterisk/dongle.conf
mv extensions_custom.conf /etc/asterisk/extensions_custom.conf
chown asterisk.asterisk /etc/asterisk/extensions_custom.conf
chmod 664 /etc/asterisk/extensions_custom.conf
# build the driver
unzip asterisk-chan-dongle-master*
cd asterisk-chan-dongle-master/
autoupdate && aclocal && autoconf && && ./bootstrap && ./configure --with-astversion=18.19.0
make clean && make && make install
chmod 755 /usr/lib/asterisk/modules/chan_dongle.so
sed -i 's/create 640 root root/create 640 asterisk asterisk/' /etc/logrotate.d/asterisk
systemctl restart asterisk
#secure mysql database and add root password
mysql_secure_installation
#reboot
apt-get remove modemmanager
apt install usb-modeswitch usb-modeswitch-data
apt autoremove
reboot
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment