Crmgo Blog

Installation von Asterisk 13 auf CentOS 7

Installation von Asterisk 13 auf CentOS 7

Installieren wir die Abhängigkeiten, die für die korrekte Funktion von Asterisk erforderlich sind. Starten und aktivieren wir den Autostart von MySQL (MariaDB). Standardmäßig können wir uns nach der Installation ohne Passwort-Eingabe als Root-Benutzer mit unserem Datenbankserver verbinden. Daher setzen wir ein Passwort und führen weitere Einstellungen durch, indem wir…

Installation von Asterisk 13 auf CentOS 7

 

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!

 

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

 

Hinweis: Dieser Beitrag kann KI-unterstützt erstellt und anschließend redaktionell geprüft worden sein. Verantwortlich: Dmytro Lomaka, Kaltenkirchen.