Asterisk to platforma typu open source do tworzenia aplikacji komunikacyjnych. Obsługuje systemy IP PBX, bramy VoIP, serwery konferencyjne i inne niestandardowe rozwiązania. To nie zwykła ciekawostka czy zabawka dla pasjonatów informatyki. System ten, jest używany przez małe firmy, duże firmy, centra obsługi telefonicznej, przewoźników i agencje rządowe na całym świecie. Co najważniejsze Asterisk jest darmowym i otwartym oprogramowaniem.
Asterisk może stać się podstawą kompletnego systemu telefonii VoIP w Twojej firmie. Zawiera komponenty, które pozwalają mu spełniać szeroki zakres funkcji.
Hostowany PBX
IP PBX (systemy telefonii biznesowej)
Brama VoIP
Serwer poczty głosowej
Most konferencyjny
Centrum telefoniczne
Serwer IVR
Co więcej ten darmowy system telefonii internetowej można zainstalować na darmowej dystrybucji Linuxa: CentOS 6/7
Jeżeli preferujesz inną dystrybucję Linuxa możesz też zobaczyć nasze artykuły o instalacji Asteriska na Debianie, Ubuntu, Rocky 9 oraz CentOS Stream 8. Kliknij w jeden z tych linków, aby zobaczyć jak przeprowadzić instalację na innych Linux’ach.
Spis treści
Poniżej znajdziesz wszystkie polecenia oraz pliki niezbędne do zainstalowania Asterisk’a 16 z plików źródłowych na systemie Centos 7.
WAŻNE
PODPOWIEDŹ
1) Wymagania wstępne
Po pierwsze upewnij się, że wykonujesz polecenia jako root. Wykonaj polecenie su
i wprowadź hasło.
su
Dobrze jest zacząć od instalacji prostego notatnika. Osobiście używam nano. Jeśli chcesz go dostosować do edycji plików konfiguracyjnych Asterisk’a przeczytaj ten post.
Zaktualizuj system operacyjny oraz zainstaluj notatnik i program do pobierania plików.
yum -y update
yum -y install nano wget
2) SELinux
Zanim zaczniesz powinieneś również wyłączyć SELinux (Security-Enhanced Linux – moduł bezpieczeństwa jądra Linux). Jeśli tego nie zrobić to później możesz napotkać problemy np. z odtwarzaniem nagrań.
Jeśli wykonasz polecenie sestatus
to zobaczysz aktualny stan SELinux.
sestatus
Jeśli jest aktywna (ang. enabled) to edytuj plik /etc/selinux/config
i zmień politykę z enforcing na disabled.
nano /etc/selinux/config
PODPOWIEDŹ
/etc/selinux/config
możesz wykonać polecenie:
sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config
3) Restart
Niestety jedynym sposobem na całkowite wyłączenie SELinux jest restart serwera.
reboot
PODPOWIEDŹ
setenforce 0. To pozwoli kontynouwać bez konieczności restartu.
setenforce 0
Po restarcie sestatus
powinien wskazywać wyłączoną usługę.
4) Konfiguracja zależności
Najpierw pobierz pliki źródłowe Asterisk’a. /usr/src
to wygodny katalog do przechowywania plików źródłowych.
cd /usr/src
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz
tar zxvf asterisk-16-current.tar.gz
rm -rf asterisk-16-current.tar.gz
cd asterisk-*/
przeciwieństwie do np. Asterisk’a 11 nie musisz teraz instalować ręcznie wszystkich niezbędnych zależności (np. make gcc gcc-c++ lynx bison ncurses-devel). Wystarczy wykorzystać gotowy skrypt instalacyjny. Jeśli chcesz, żeby zainstalował on większą ilość oprogramowania (np. kodek opus lub spandsp do faksów) dodaj wcześniej repozytorium EPEL.
# optional epel-release
yum -y install epel-release
contrib/scripts/install_prereq install
Teraz możesz wybrać spośród wielu opcji konfiguracji Asterisk’a. Jeśli używasz 64-bitowej wersji systemu dodaj --libdir=/usr/lib64
do polecenia configure
. Żeby sprawdzić z jakiej wersji systemu korzystasz wykonaj polecenie uname -m
.
Ponieważ chan_pjsip
wymaga pewnych dodatkowych bibliotek, możesz chcieć dodać --with-jansson-bundled --with-pjproject-bundled
, aby skonfigurować polecenie.
* Począwszy od Asterisk 15.0.0, pjproject jest domyślnie aktywny, ale możesz go wyłączyć dodając --without-pjproject-bundled
do ./configure
.
# dla 32bit
./configure --with-pjproject-bundled --with-jansson-bundled
# dla 64bit
./configure --libdir=/usr/lib64 --with-pjproject-bundled --with-jansson-bundled
Po zakończeniu procesu zobaczysz logo Asterisk’a.
5) make, make, make i … make
Teraz wystarczy wykonać make i to rozpocznie kompilację oprogramowania. Lepiej jednak mieć możliwość wybrania dodatkowych opcji, funkcji, aplikacji, itp… W tym celu skorzystaj z make menuselect
. To polecenie wygeneruje menu, z którego będziesz mógł wybrać interesujące Cię opcje.
make menuselect
W tym momencie możesz zaznaczyć, odznaczyć lub zmienić wszystkie opcje np. przechowywać pocztę głosową (ang. voicemail) w bazie danych (ODBC) zamiast w plikach (ang. file).
Na pewno zauważysz, że nie możesz zaznaczyć do instalacji wszystkich modułów. Ale masz też informacje czego dokładnie brakuje w systemie operacyjnym.
W tym przypadku wszystarczy pobrać i zainstalować ikemel-devel rpm i problem rozwiązany. Oczywiście przed wykonaniem menuselect
musisz najpierw ponownie wykonać ./configure
.
Niestety ze względu na dużą ilość modułów, w tym samouczku nie będziemy opisywali wszystkich zależności.Skupimy się bardziej na podstawowej konfiguracji. W kolejnych postach będziemy na bieżąco tłumaczyli dodatkowe moduły krok po kroku.
PODPOWIEDŹ
menuselect/menuselect --enable-category MENUSELECT_ADDONS --disable MODULENAME --enable MODULENAME menuselect.makeopts
. Żeby wyświelić wszystkie możliwe opcje użyj menuselect/menuselect --list-options
.# example with ODBC Voicemail and ALAW soundpack
make menuselect.makeopts
menuselect/menuselect --list-options
menuselect/menuselect --enable-category MENUSELECT_ADDONS --disable FILE_STORAGE --enable ODBC_STORAGE --disable CORE-SOUNDS-EN-GSM --enable CORE-SOUNDS-EN-ALAW --disable MOH-OPSOUND-WAV --enable MOH-OPSOUND-ALAW --enable EXTRA-SOUNDS-EN-ALAW menuselect.makeopts
Czas zacząć kompilację i przygotować się do instalacji. Najpierw wykonaj make
. Ten i kolejny proces mogą potrwać kilka minut w zależności od zaznaczonych opcji.
make
System podpowiada co zrobić dalej. Kolejny krok zainstaluje Asterisk’a na twoim urządzeniu.
make install
Jeśli zaznaczyłeś format_mp3
po prostu podążaj za instrukcją na ekranie.
contrib/scripts/get_mp3_source.sh
W tym momencie masz do wyboru kilka opcji:
- nic nie rób
Jak w tytule … nie rób nic i stwórz wszystkie pliki samodzielnie. make samples
Stworzy to przykładowe pliki z opisami (nadpisując obecna konfigurację).make progdocs
Instaluje obszerną dokumentację, przydatną tylko dla developerów (wymaga doxygen:yum -y install doxygen
)make basic-pbx
(Asterisk 13+)
Najlepsze opcja, ale niedostępna w naszej wersji Asterisk’a. Robi to samo co „make samples”, ale tworzy jedynie kilkanaście niezbędnych plików zamiast ponad 100.
Zachęcam do wykorzystania zarówno 2 oraz 4 opcji. Użyjmy make samples
. To utworzy wszystkie pliki z przejrzystymi opisami.
make samples
Przenieść pliki do nowego katalogu (np. /etc/asterisk/samples/
), a następnie utwórz tylko podstawowe pliki przy użyciu basic-pbx
.
mkdir /etc/asterisk/samples
mv /etc/asterisk/*.* /etc/asterisk/samples/
make basic-pbx
Chociaż Asterisk jest już gotowy to warto (chociaż o dziwno nie wyświetla się taka podpowiedź) wykonać polecenie make config
. Stworzy to pliki startowe i ułatwi wykonywanie podstawowych komend.
make config
6) Uruchomienie Asterisk’a
Teraz możesz wystartować usługę i sprawdzić jej status.
systemctl start asterisk
systemctl status asterisk
Jeśli widzisz asterisk (pid XXXX) is running…
to właśnie uruchomiłeś Asterisk’a!
Możesz też wejść do katalogu /etc/asterisk
i przejrzeć wszystkie przykładowe pliki.
cd /etc/asterisk
ls
Teraz tylko wejdź do centrali asterisk -r
i zabawę czas zacząć!
asterisk -r
Gratulacje! Instalacja Asteriska ze źródła zakończona!
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.