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
---