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