Skip to content

Instantly share code, notes, and snippets.

@linuxoracledev
Last active February 9, 2022 09:53
Show Gist options
  • Save linuxoracledev/f09900ad66d08c1729d1e9f59d334f5a to your computer and use it in GitHub Desktop.
Save linuxoracledev/f09900ad66d08c1729d1e9f59d334f5a to your computer and use it in GitHub Desktop.

Revisions

  1. linuxoracledev revised this gist Jan 12, 2020. No changes.
  2. linuxoracledev created this gist Jan 12, 2020.
    83 changes: 83 additions & 0 deletions asterisk.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,83 @@
    #Update system & reboot
    sudo apt update && sudo apt -y upgrade
    sudo reboot

    #Install Asterisk 16 LTS dependencies
    sudo apt -y install git curl wget libnewt-dev libssl-dev libncurses5-dev subversion libsqlite3-dev build-essential libjansson-dev libxml2-dev uuid-dev

    #Add universe repository and install subversio
    sudo add-apt-repository universe
    sudo apt update && sudo apt -y install subversion

    #Download Asterisk 16 LTS tarball
    # sudo apt policy asterisk
    cd /usr/src/
    sudo curl -O http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz

    #Extract the file
    sudo tar xvf asterisk-16-current.tar.gz
    cd asterisk-16*/

    #download the mp3 decoder library
    sudo contrib/scripts/get_mp3_source.sh

    #Ensure all dependencies are resolved
    sudo contrib/scripts/install_prereq install

    #Run the configure script to satisfy build dependencies
    sudo ./configure

    #Setup menu options by running the following command:
    sudo make menuselect

    #Use arrow keys to navigate, and Enter key to select. On Add-ons select chan_ooh323 and format_mp3 .
    #On Core Sound Packages, select the formats of Audio packets. Music On Hold, select 'Music onhold file package'
    # select Extra Sound Packages
    #Enable app_macro under Applications menu
    #Change other configurations as required

    #build Asterisk
    sudo make

    #Install Asterisk by running the command:
    sudo make install

    #Install documentation(Optionally)
    sudo make progdocs

    #Install configs and samples
    sudo make samples
    sudo make config

    #Create a separate user and group to run asterisk services, and assign correct permissions:
    sudo groupadd asterisk
    sudo useradd -r -d /var/lib/asterisk -g asterisk asterisk
    sudo usermod -aG audio,dialout asterisk
    sudo chown -R asterisk.asterisk /etc/asterisk
    sudo chown -R asterisk.asterisk /var/{lib,log,spool}/asterisk
    sudo chown -R asterisk.asterisk /usr/lib/asterisk

    #Set Asterisk default user to asterisk:
    sudo vim /etc/default/asterisk

    # AST_USER="asterisk"
    # AST_GROUP="asterisk"
    # sudo ldconfig

    sudo vim /etc/asterisk/asterisk.conf
    # runuser = asterisk ; The user to run as.
    # rungroup = asterisk ; The group to run as.

    #Restart asterisk service
    sudo systemctl restart asterisk

    #Enable asterisk service to start on system boot
    sudo systemctl enable asterisk

    #Test to see if it connect to Asterisk CLI
    sudo asterisk -rvv

    #open http ports and ports 5060,5061 in ufw firewall
    sudo ufw allow proto tcp from any to any port 5060,5061