Installieren wir die Abhängigkeiten, die für die ordnungsgemäße Funktion von Asterisk erforderlich sind.
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
Starten wir MySQL (MariaDB) und aktivieren wir den Autostart.
systemctl enable mariadb.service systemctl start mariadb.service
Standardmäßig können wir uns nach der Installation ohne Passwort als Root mit unserem Datenbankserver verbinden. Daher setzen wir ein Passwort und führen weitere Einstellungen durch, indem wir das Skript ausführen:
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!
- pjproject herunterladen, entpacken und kompilieren:
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
Installieren wir 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 ..
Laden wir lame herunter, entpacken und kompilieren es.
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 ..
Laden wir DAHDI herunter, entpacken und kompilieren es.
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 ..
Laden wir libpri herunter, entpacken und kompilieren es.
wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz tar xvfz libpri-current.tar.gz cd libpri-* make make install cd ..
Nun kommen wir zum wichtigsten Teil – wir laden Asterisk herunter.
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz
Entpacken wir es.
tar xvfz asterisk-13-current.tar.gz cd asterisk-13.*
Für die Arbeit mit cdr_mysql:
yum install Mariadb-devel
Beginnen wir mit der Installation von Asterisk 13. Die erforderlichen Module installieren wir mit dem Befehl make menuselect.
./configure --libdir=/usr/lib64 contrib/scripts/get_mp3_source.sh make menuselect
Die meisten erforderlichen Module sind bereits aktiviert. Sie können je nach Bedarf Module hinzufügen oder entfernen. Bei der Auswahl eines Moduls wird eine kurze Beschreibung seiner Funktion angezeigt. Im Bereich Add-ons aktivieren Sie für die MP3-Unterstützung das Modul 'format_mp3'.

Wählen Sie im Reiter Core Sound Packages die erforderlichen Sound-Paket-Formate aus.

Aktivieren Sie im Bereich Music On Hold File Packages alle Module.
Aktivieren Sie in Extras Sound Packages die ersten vier Module, die EN enthalten.
Fahren wir mit der Installation fort:
make make install make samples make config
Erstellen wir einen Benutzer und gewähren wir ihm die Berechtigungen für die Arbeit mit 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
Starten wir Asterisk neu.
systemctl restart asterisk
Nehmen wir einige Einstellungen für MySQL vor. Verbinden wir uns mit MySQL.
mysql -uroot –p(пароль заданный при установке MySQL(mariadb))
Nach der Eingabe des Passworts gelangen wir in die MySQL-Konsole. Wir erstellen den Benutzer asterisk mit dem Passwort ‘password’.
create user 'asterisk'@'localhost' identified by 'password';
Wir erstellen die Datenbank asteriskcdrdb, asterisk.
create database asterisk; create database asteriskcdrdb;
Als Nächstes definieren wir den Eigentümer der Datenbank.
GRANT ALL PRIVILEGES ON asterisk.* TO asterisk@localhost IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asterisk@localhost IDENTIFIED BY 'password'; flush privileges;
Wir beginnen mit der Sicherheitseinstellung. In CentOS 7 wird standardmäßig anstelle von iptables der Dienst FirewallD verwendet. Die Syntax von FirewallD sieht wie folgt aus:
firewall-cmd —permanent —add-port=№порта/протокол
Wir starten FirewallD und aktivieren den Autostart.
systemctl start firewalldsystemctl enable firewalld
Wir fügen Regeln hinzu:
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
Wir stellen sicher, dass die Regeln hinzugefügt wurden:
#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:
Die Installation ist damit abgeschlossen.
Installation zusätzlicher Codecs:
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
Probleme während der Installation.
Viele Anwender stoßen während der Installation und Konfiguration auf verschiedene Fehler. Daher haben wir uns entschlossen, am Ende dieses Artikels Lösungen für die Fehler bereitzustellen, die bei Ihnen auftreten könnten.
Problem:
[CC] format_mp3.c -> format_mp3.o format_mp3.c:39:24: fatal error: mp3/mpg123.h: No such file or directory
Lösung des Problems:
cd /usr/src/asterisk-*/ contrib/scripts/get_mp3_source.sh
Problem:
configure: error: *** termcap support not found
Lösung des Problems:
yum install libtermcap-devel
Problem:
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.
Lösung des Problems:
yum -y install libxml2-devel
Problem:
Doxygen is not installed. Please install and re-run the configuration script.
Lösung des Problems:
yum -y install doxygen
Problem:
configure: error: *** uuid support not found (this typically means the uuid development package is missing)
Lösung des Problems:
yum -y install libuuid-devel
Problem:
Unable to connect to remote asterisk (does /var/run/asterisk/asterisk.ctl exist?)
Lösung des Problems:
/etc/selinux/config SELINUX=disabledreboot
