Nainstalujeme závislosti, které budou nutné pro správnou funkci Asterisku
yum install -y gcc gcc-c++ lynx bison gmime-devel psmisc tftp-server httpd make ncurses-devel libtermcap-devel sendmail sendmail-cf caching-nameserver sox newt-devel libxml2-devel libtiff-devel audiofile-devel gtk2-devel subversion kernel-devel kernel-devel-$(uname -r) git subversion kernel-devel crontabs cronie cronie-anacron uuid-devel libtool sqlite-devel libuuid-devel bzip2
yum install -y epel-release dmidecode gcc-c++ ncurses-devel libxml2-devel make wget openssl-devel newt-devel kernel-devel sqlite-devel libuuid-devel gtk2-devel jansson-devel binutils-devel
Spustíme a povolíme automatické startování MySQL (mariadb)
systemctl enable mariadb.service systemctl start mariadb.service
Výchoze, po instalaci, se můžeme připojit k našemu databázovému serveru pod rootem bez zadání hesla. Proto nastavíme heslo a provedeme několik dalších nastavení spuštěním skriptu:
mysql_secure_installation Set root password? [Y/n] y New password: Re-enter new password: Password updated successfully! Remove anonymous users? [Y/n] y Disallow root login remotely? [Y/n] n Remove test database and access to it? [Y/n] y Reload privilege tables now? [Y/n] y Thanks for using MariaDB!
- stáhneme, rozbalíme a zkompilujeme pjproject:
1
wget http://www.pjsip.org/release/2.3/pjproject-2.3.tar.bz2
1
tar -jxvf pjproject-2.3.tar.bz2
1
cd pjproject-2.3
1
./configure CFLAGS="-DNDEBUG -DPJ_HAS_IPV6=1" --prefix=/usr --libdir=/usr/lib64 --enable-shared --disable-video --disable-sound --disable-opencore-amr
1 2
make dep make
1 2
sudo make install sudo ldconfig
1
sudo ldconfig -p | grep pj
Nainstalujeme PearDB
pear uninstall db pear install db-1.7.14
Скачиваем, распаковываем и компилируем jansson
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 cd ..
Stáhneme, rozbalíme a zkompilujeme lame
wget http://sourceforge.net/projects/lame/files/lame/3.98.4/lame-3.98.4.tar.gz tar zxvf lame-3.98.4.tar.gz cd lame-3.98.4 ./configure make make install cd ..
Stáhneme, rozbalíme a zkompilujeme DAHDI
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 cd ..
Stáhneme, rozbalíme a zkompilujeme libpri
wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz tar xvfz libpri-current.tar.gz cd libpri-* make make install cd ..
Nyní přejdeme k tomu nejdůležitějšímu – stáhneme Asterisk
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz
Rozbalíme
tar xvfz asterisk-13-current.tar.gz cd asterisk-13.*
Pro funkci cdr_mysql:
yum install Mariadb-devel
Začneme instalací Asterisku 13. Potřebné moduly nainstalujeme příkazem make menuselect.
./configure --libdir=/usr/lib64 contrib/scripts/get_mp3_source.sh make menuselect
Většinou jsou již všechny potřebné moduly povoleny. Můžete něco přidat nebo odebrat. Při výběru modulu se zobrazí krátký popis jeho účelu. V sekci Add-ons pro podporu mp3 povolte modul 'format_mp3'

Na kartě Core Sound Packages vyberte potřebné formáty zvukových balíčků.

V Music On Hold File Packages povolte všechny moduly.
V Extras Sound Packages povolte prvních 4 moduly obsahující EN
Pokračujeme v instalaci:
make make install make samples make config
Vytvoříme uživatele a udělíme mu práva pro práci s Asteriskem.
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
Restartujeme Asterisk
systemctl restart asterisk
Provedeme některá nastavení pro MySQL. Připojíme se k MySQL.
mysql -uroot –p(пароль заданный при установке MySQL(mariadb))
Po zadání hesla se dostaneme do konzole MySQL. Vytvoříme uživatele asterisk s heslem ‘password’.
create user 'asterisk'@'localhost' identified by 'password';
Vytvoříme databáze asteriskcdrdb a asterisk.
create database asterisk; create database asteriskcdrdb;
Dále určíme vlastníka databáze.
GRANT ALL PRIVILEGES ON asterisk.* TO asterisk@localhost IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asterisk@localhost IDENTIFIED BY 'password'; flush privileges;
Přejdeme k nastavení zabezpečení. Ve výchozím nastavení používá CentOS 7 místo iptables službu FirewallD. Syntaxe FirewallD vypadá takto:
firewall-cmd —permanent —add-port=№порта/протокол
Spustíme a povolíme automatické startování FirewallD.
systemctl start firewalldsystemctl enable firewalld
Přidáme pravidla:
firewall-cmd --zone=public --add-port=5060/udp --permanent firewall-cmd --zone=public --add-port=5061/udp --permanent firewall-cmd --zone=public --add-port=4569/udp --permanent firewall-cmd --zone=public --add-port=5060/tcp --permanent firewall-cmd --zone=public --add-port=5061/tcp --permanent firewall-cmd --zone=public --add-port=5038/tcp --permanent firewall-cmd --zone=public --add-port=10000-20000/udp --permanent firewall-cmd --reload
Ověříme, že se pravidla přidala:
#firewall-cmd --zone=public --list-all public (default, active) interfaces: eth0 sources: services: dhcpv6-client ssh ports: 80/tcp 5061/tcp 4569/udp 5060/tcp 10000-20000/udp 5061/udp 5060/udp 5038/tcp masquerade: no forward-ports: icmp-blocks: echo-reply echo-request rich rules:
Tím je instalace dokončena.
Instalace dalších kodeků:
wget http://asterisk.hosting.lv/bin/codec_g729-ast130-gcc4-glibc2.2-x86_64-pentium4.so
mv codec_g729-ast130-gcc4-glibc2.2-x86_64-pentium4.so codec_g729.so
wget http://asterisk.hosting.lv/bin/codec_g723-ast130-gcc4-glibc2.2-x86_64-pentium4.so
mv codec_g723-ast130-gcc4-glibc2.2-x86_64-pentium4.so codec_g723.so
asterisk -vvvr
module load codec_g729.so
module load codec_g723.so
Problémy během instalace.
Mnoha uživatelům se během instalace a konfigurace vyskytují různé chyby, proto jsme se rozhodli na konci tohoto článku uvést řešení chyb, které se mohou vyskytnout.
Problém:
[CC] format_mp3.c -> format_mp3.o format_mp3.c:39:24: fatal error: mp3/mpg123.h: No such file or directory
Řešení problému:
cd /usr/src/asterisk-*/ contrib/scripts/get_mp3_source.sh
Problém:
configure: error: *** termcap support not found
Řešení problému:
yum install libtermcap-devel
Problém:
configure: *** XML documentation will not be available because the 'libxml2' development package is missing. configure: *** Please run the 'configure' script with the '--disable-xmldoc' parameter option configure: *** or install the 'libxml2' development package.
Řešení problému:
yum -y install libxml2-devel
Problém:
Doxygen is not installed. Please install and re-run the configuration script.
Řešení problému:
yum -y install doxygen
Problém:
configure: error: *** uuid support not found (this typically means the uuid development package is missing)
Řešení problému:
yum -y install libuuid-devel
Problém:
Unable to connect to remote asterisk (does /var/run/asterisk/asterisk.ctl exist?)
Řešení problému:
/etc/selinux/config SELINUX=disabledreboot
