How to setup Asterisk on CentOS 7.x

1) Use instructions below to setup Asterisk but it is recommended to copy/paste each block of commands instead of pasting all at once.

# install epel

sudo yum install epel-release

# install required packages

yum install -y gcc gcc-c++ kernel-devel-$(uname -r) git subversion kernel-devel ncurses-devel libtermcap-devel sox libuuid-devel newt-devel libxml2-devel libtiff-devel audiofile-devel gtk2-devel sqlite-devel

# install PjProject

cd /usr/src/

wget http://www.pjsip.org/release/2.4/pjproject-2.4.tar.bz2

tar -xjvf pjproject-2.4.tar.bz2

cd pjproject-2.4*

./configure --prefix=/usr --enable-shared --disable-sound --disable-resample --disable-video --libdir=/usr/lib64

make

make dep

make install

# install DAHDI

cd /usr/src/

wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz

tar xvfz dahdi-linux-complete-current.tar.gz

cd dahdi-linux-complete-*

make all

make install

make config

# install LAME

cd /usr/src/

wget https://sourceforge.net/projects/lame/files/lame/3.100/lame-3.100.tar.gz/download -O lame.tgz

tar zxvf lame.tgz

cd lame*

./configure

make

make install

# libpri

cd /usr/src/

wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.6.0.tar.gz

tar xvfz libpri-1.6.0.tar.gz

cd libpri-1.6.0

make

make install

# libpri

cd /usr/src/

wget http://www.digip.org/jansson/releases/jansson-2.5.tar.gz

tar zvxf jansson-2.5.tar.gz

cd jansson-2.5

./configure --prefix=/usr

make clean

make

make install

ldconfig

#asterisk

cd /usr/src/

wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-15-current.tar.gz

tar xvfz asterisk-15-current.tar.gz

cd asterisk-15*

contrib/scripts/get_mp3_source.sh

# install missing modules

./contrib/scripts/install_prereq test

./configure --disable-asteriskssl --libdir=/usr/lib64

make menuselect

# choose:

# Addons -- format_mp3

# Core Sound packages

# Music On Hold File Package

# Extras Sound Package

#

make

make install

make samples

make config

# configure Asterisk

useradd -m asterisk

chown asterisk.asterisk /var/run/asterisk

chown -R asterisk.asterisk /etc/asterisk

chown -R asterisk.asterisk /var/{lib,log,spool}/asterisk

chown -R asterisk.asterisk /usr/lib64/asterisk

systemctl enable asterisk



2) Enter into  voip.ms and configure:

  • SIP connection

  • Asterisk server

https://voip.ms/m/settings.php

Inbound:

3) Download configuration files and sounds

cd /etc/asterisk/

wget http://asterisk.devel.softservice.org/asterisk-conf.tgz

tar xzf asterisk-conf.tgz

cd /var/lib/asterisk/sounds/

wget http://asterisk.devel.softservice.org/asterisk-sounds.tgz

tar xzf asterisk-sounds.tgz



4) modify file /etc/asterisk/sip.conf and set there correct server, login and password: 

register => 123456:SIP_PaSsWoRd@newyork.voip.ms:5060

[voipms]

context=mycontext

username=123456

fromuser=123456

secret=SIP_PaSsWoRd

canreinvite=no

dtmfmode=rfc2833

type=friend

host=newyork.voip.ms

disallow=all

allow=alaw

allow=ulaw

insecure=invite,port

nat=yes

qualify=yes



5) отредактировать файл /etc/asterisk/extensions.conf

; Set callback URLs

CHECK_WEBPREFIX = https://www.blisspedia.com/exec/voip-callback.jsp?type=checkclient&

ALWAYESEND_WEBPREFIX = https://www.blisspedia.com/exec/voip-callback.jsp?type=alwaysendchat

ENDCALL_WEBPREFIX = https://www.blisspedia.com/exec/voip-callback.jsp?type=endchat&

AUDIO_FOLDER = webvideo

WEBSERVER = 127.0.0.1

WEBPREFIX = http://127.0.0.1/ast/

OUT_CONTEXT=voipms

; Set phone number

FROM_NUMBER=6572307547

И внизу файла

[voipms-inbound]

exten => _6572307547,1,Goto(client-call,start,1)

exten => i,n,Hangup()

6) Testing:

systemctl start asterisk

Проверяем что в voip.ms появилось соединение на первой странице

7) To check logs:

asterisk -rvvv

8) converting mp3 to ulaw

converter.sh:

---

for i in *.mp3 ; do

  fname=`echo ${i%.*} | sed -e 's/_/-/g '`

  mv $i $fname.mp3

  lame --decode $fname.mp3 $fname.wav

  sox -V $fname.wav -r 8000 -c 1 -t ul $fname.ulaw

done

---