Szukaj

Instalacja Asterisk 21 na AlmaLinux 9.3

Instalacja Asterisk 21 na AlmaLinux 9.3

Używanie Asteriska do budowy systemów telekomunikacyjnych, może przynieść wiele korzyści.

Asterisk jest dostępny na licencji open source, co oznacza, że możesz go używać, modyfikować i dostosowywać do własnych potrzeb bez ponoszenia kosztów licencyjnych.

Asterisk obsługuje różne protokoły komunikacyjne, takie jak SIP, IAX, H.323 i wiele innych. To sprawia, że jest elastyczny i może być stosowany w różnych scenariuszach telekomunikacyjnych. Asterisk jest często używany do budowy systemów central telefonicznych IP. Doskonale obsługuje technologię VoIP, oferuje zaawansowane funkcje, takie jak konferencje, nagrywanie rozmów, interfejsy dla systemów CRM  i wiele innych. Asterisk można łatwo integrować z innymi systemami, takimi jak bazy danych, serwisy webowe, systemy CRM itp.

Asterisk możesz zainstalować na jednej z popularnych darmowych dystrybucji Linuxa takich jak opisywana tutaj AlmaLinux. Jeżeli preferujesz inną dystrybucję Linuxa możesz też zobaczyć nasze artykuły o instalacji Asteriska na Amazon Linux 2023, Rocky, Debianie, Ubuntu, CentOS 7, CentOS Stream 8. Kliknij w jeden z tych linków, aby zobaczyć jak przeprowadzić instalację na innych Linux’ach.

Spis treści

1) Instalacja AlmaLinux

Obraz ISO z systemem operacyjnym najlepiej ściągnąć z oficjalnej strony producenta.  Po stworzeniu wirtualnej maszyny, zamontowaniu obrazu i wystartowaniu jej  możemy wybrać język instalacji. Następnie klikamy kontynuuj i otworzy nam się okno z opcjami instalacji.

Najpierw tworzymy hasło roota i oczywiście dobrze je zapamiętujemy. Zaznaczamy też opcję Zezwolenie na logowanie jako root przez SSH za pomocą hasła. Będzie nam potem wygodniej pracować na systemie. Klikamy Gotowe.

Następnie klikamy miejsce docelowe instalacji. W wyskakującym okienku zaznaczamy nasz dysk i klikamy Gotowe. Nie będziemy potrzebowali graficznego interfejsu, więc kliknijmy jeszcze na pozycję Wybór oprogramowania i zaznaczmy Minimalna instalacja. 

Upewniamy się jeszcze tylko, że w polu Data i czas jest wybrana Strefa czasowa Europa/ Warszawa a w polu Sieć i nazwa komputera mamy informację, że Połączono: nazwa interfejsu sieciowego. Jeżeli potrzebujemy w tych polach dokonać zmian, robimy to teraz. Dalej klikamy Rozpocznij Instalację. Po kilku minutach instalacja jest zakończona i możemy wybrać przycisk: Uruchom komputer ponownie.

2) Przygotowanie systemu

Po restarcie systemu aktualizujemy go oraz instalujemy niezbędne oprogramowanie, takie jak wygodny edytor tekstu nano, narzędzie do pobierania oprogramowania wget i inne aplikacje oraz wymagane zależności. 

				
					dnf -y update
dnf -y install nano wget tar epel-release chkconfig libedit-devel
				
			

3) Wyłączenie SELinux

Należy też wyłączyć SELinux. Nie wystarczy dokonać zmiany w pliku konfiguracyjnym, ale należy również zrestartować system. 

				
					sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config
reboot

				
			
PODPOWIEDŹ

Możesz też wstrzymać się z restartem i tymczasowo wyłączyć SELinux na za pomocą polecenia:

				
					setenforce 0
				
			

4) Konfigurowanie zależności oprogramowania

Najpierw pobierz źródła systemu Asterisk. Katalog /usr/src to wygodne miejsce do przechowywania wszystkich instalek. Oprogramowanie ściągamy z oficjalnej strony Asteriska.

				
					cd /usr/src
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-21-current.tar.gz
tar zxvf asterisk-21-current.tar.gz
rm -rf asterisk-21-current.tar.gz
cd asterisk-21*/
				
			

Teraz zainstalujemy niezbędne zależności Asteriska

				
					contrib/scripts/install_prereq install
				
			

Następnie dokonamy konfiguracji Asteriska.

Ze względu na to, że chan_pjsip wymaga pewnych dodatkowych bibliotek, dodajemy jeszcze opcję --with-jansson-bundled

Nasze polecenie konfiguratora będzie więc następujące:

				
					./configure --with-jansson-bundled
				
			

UWAGA!

Jeżeli nie dodamy opcji –with-jansson-bundled to konfiguracja zatrzyma nam się z poniższym błędem:

				
					configure: *** Asterisk requires libjansson >= 2.11 and no system copy was found
				
			

Ten etap powinien zakończyć się wyświetleniem ładnego logo naszego systemu.

5) Kompilacja i instalacja Asteriska

Teraz możemy wybrać dodatkowe komponenty do zainstalowania na przykład dodatkowe pakiety dźwięków z sekcji Core Sound Packages, Music on Hold i Extra Sound

				
					make menuselect
				
			

UWAGA!

W obecnej konfiguracji nie ma doinstalowanych modułów chan_sip ani odbc. (nie da się ich zaznaczyć mają XXX) Jeżeli chcemy z nich skorzystać, trzeba je najpierw doinstalować.

Po wyborze odpowiednich opcji i zależności wykonaj samo polecenie make przygotowujące Asteriska do właściwej instalacji. Ten i następny proces może zająć trochę więcej czasu.

				
					make
				
			

Wywołanie make install  ostatecznie zainstaluje Asteriska na twoim serwerze

				
					make install
				
			

Następnie zrobimy przykładowe pliki z dokumentacją i stworzymy podstawową konfigurację Asteriska. 

				
					make samples
mkdir /etc/asterisk/samples
mv /etc/asterisk/*.* /etc/asterisk/samples/
make basic-pbx
				
			

Asterisk jest już gotowy. Niestety nie ma jeszcze plików startowych. W systemach CentoOS, Debian, Ubuntu można wykonać make config, ale AlmaLinux, Amazon Linux 2023 lub Rocky tego nie rozumieją. Musimy wykorzystać systemd do zarządzania usługą asterisk. Zapraszam do przeczytania artykułu poświęconego temu tematowi. W tym celu stworzymy plik asterisk.service i wpiszemy do niego niezbędne informacje. 

				
					touch /usr/lib/systemd/system/asterisk.service
cat <<'EOF' >/usr/lib/systemd/system/asterisk.service
[Unit]
Description=Asterisk PBX and telephony daemon.
#After=network.target
#include these if Asterisk need to bind to a specific IP (other than 0.0.0.0)
Wants=network-online.target
After=network-online.target network.target

[Service]
Type=simple
Environment=HOME=/var/lib/asterisk
WorkingDirectory=/var/lib/asterisk
ExecStart=/usr/sbin/asterisk -mqf -C /etc/asterisk/asterisk.conf
ExecReload=/usr/sbin/asterisk -rx 'core reload'
ExecStop=/usr/sbin/asterisk -rx 'core stop now'

LimitCORE=infinity
Restart=always
RestartSec=4

# Prevent duplication of logs with color codes to /var/log/messages
StandardOutput=null

PrivateTmp=true

[Install]
WantedBy=multi-user.target
EOF
				
			

6) Uruchomienie Asteriska

Teraz dodamy do autostartu usługę asterisk, wystartujemy ją i sprawdzimy jej status. Jeśli zobaczysz napis active (running) to właśnie uruchomiłeś Asteriska!

				
					systemctl enable asterisk.service
systemctl start asterisk
systemctl status asterisk
				
			
OSTRZEŻENIE

Jeżeli z przyzwyczajenia wykonałeś jednak polecenie make config i spróbujesz wystartować usługę asterisk to niestety otrzymasz błąd: "Job for asterisk.service failed because the control process exited with error code." oraz "Active: failed (Result: exit-code)"oraz dalsze komunikaty typu:

asterisk.service: Control process exited, code=exited, status=1/FAILURE

asterisk.service: Failed with result 'exit-code'.

Failed to start LSB: Asterisk PBX.

Dzieje się tak dlatego, że AlmaLinux nie tworzy plików startowych przy użyciu make config. Należy wykorzystać opisany wcześniej systemd

Zanim to zrobimy trzeba wcześniej usunąć błędnie stworzone powiązania. 

				
					systemctl disable asterisk.service
				
			

Następnie możesz uruchomić centralę poleceniem asterisk -r i rozpocząć pracę.

				
					asterisk -r
				
			

Jeżeli chciałbyś monitorować wszystko co dzieje się na Twojej centrali wypróbuj nasze autorskie oprogramowanie VOIPERO

Instalacja i konfiguracja zajmuje kilka minut a system jest obecnie udostępniany całkowicie za darmo.

Przeczytaj co potrafi nasz system VOIPERO w zakresie monitorowania na żywo i raportowania systemów VoIP opartych na Asterisku.

Share this post

Masz pytania lub potrzebujesz oferty?

Skontaktuj się z naszym doradcą.

Popularne wpisy

Powiązane posty

Projekt wystartował!

Monitorowanie i raportowanie Twojego serwera VoIP