Asterisk Getting started with Asterisk

Help us to keep this website almost Ad Free! It takes only 10 seconds of your time:
> Step 1: Go view our video on YouTube: EF Core Bulk Extensions
> Step 2: And Like the video. BONUS: You can also share it!


This section provides an overview of what asterisk is, and why a developer might want to use it.

It should also mention any large subjects within asterisk, and link out to the related topics. Since the Documentation for asterisk is new, you may need to create initial versions of those related topics.

Asterisk 14 installation on Ubuntu 16.04 LTS

Run the following bash script as sudo


# get deps
apt -y install build-essential libncurses5-dev libxml2-dev libsqlite3-dev libssl-dev libsrtp0-dev uuid-dev libjansson-dev

# download
cd /usr/src
tar -zxvf asterisk-14-current.tar.gz
rm asterisk-14-current.tar.gz
cd asterisk-14*

# Install pre-requisites
./contrib/scripts/install_prereq install
./contrib/scripts/install_prereq install-unpackaged

# Install
make clean
make menuselect
make install
make samples
make config

# Uncomment and edit the following lines to setup a snakeoil SSL cert
#mkdir /etc/asterisk/keys
#cd contrib/scripts/
# Change the following IP address to you server IP address 
#./ast_tls_cert -C -O "My company name" -d /etc/asterisk/keys

# Edit the following to adjust locale of sounds
cd /var/lib/asterisk/sounds

tar -xzf asterisk-core-sounds-en_GB-wav-current.tar.gz
tar -xzf asterisk-extra-sounds-en_GB-wav-current.tar.gz
rm *.tar.gz

asterisk installation on CentOS 6.X

Asterisk is an open source framework for building communications applications. You can use it for any of the following:

  1. IP PBX systems
  2. VoIP gateways
  3. ISDN/ 3G IVVR

Here is a brief instruction for step by step installation of asterisk 1.8(or you can do for latest versions) on Redhat/centos (for other linux versions the commands are similar :) ).

Step 1: Get the asterisk source code files from: Asterisk downloads

Step 2: Login as root and run the commands:

yum update

yum install joe gcc-c++ gcc-gnat gcc-g77 gcc-objc gcc autoconf automake bison flex cvs rpm-build openssl-devel SDL-devel 

yum install redhat-rpm-config sox sox-devel curl-devel  ncurses-devel net-snmp net-snmp-libs net-snmp-utils libxml2-devel gd-devel libpng-devel doxygen

yum install mysql-server mysql-devel // if needed 
chkconfig --level 345 mysqld on
service mysqld start
yum install php php-fpm php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-pecl-apc php-magickwand php-magpierss php-mbstring php-mcrypt php-mssql php-shout php-snmp php-soap php-tidy //optional for web application 

yum install bind caching-nameserver
yum install system-config-date

cd /path/to/asterisk/
make clean

now the environment is ready to install asterisk.

make menuselect // here from Add-ons check the app-mysql, cdr-mysql, res-config-mysql
make install

make config
chkconfig asterisk on

Step 3: Connect to asterisk

asterisk -vvvvvvvvvvvvvvvvvvvc
stop now
service asterisk start

Step 4: now add the following in /etc/asterisk/cdr.conf file (dynamic CDR data insertion to DB)

usegmtime=yes    ; log date/time in GMT.  Default is "no"
loguniqueid=yes  ; log uniqueid.  Default is "no"
loguserfield=yes ; log user field.  Default is "no"

and add the following in cdr_mysql.conf


Step 5: Create your DB and create the CDR table :

create table cdr( uniqueid varchar(32) NOT NULL default '', userfield varchar(255) NOT NULL default '', accountcode varchar(20) NOT NULL default '', src varchar(80) NOT NULL default '', dst varchar(80) NOT NULL default '', dcontext varchar(80) NOT NULL default '', clid varchar(80) NOT NULL default '', channel varchar(80) NOT NULL default '', dstchannel varchar(80) NOT NULL default '', lastapp varchar(80) NOT NULL default '', lastdata varchar(80) NOT NULL default '', calldate datetime NOT NULL default '0000-00-00 00:00:00', duration int(11) NOT NULL default '0', billsec int(11) NOT NULL default '0', disposition varchar(45) NOT NULL default '', amaflags int(11) NOT NULL default '0' );

Step 6: finally reboot the server

Now connect to asterisk using: asterisk -rvvvvv

Got any Asterisk Question?