Instalacija Asterisk-a

Uputstva, saveti i trikovi

Moderator: Urednik

Post Reply

offline

Posts: 8
Joined: 25 May 2012, 23:11

Post Napisano: 02 Jan 2014, 22:29


Asterisk je softver otvorenog koda koji ima mogućnost da od običnog računara napravi moćnu višefunkcisku PBX (PrivateBranchExchange) centralu. Sa pravim hardverom Asterisk se može koristiti za kućnu upotrebu,VoIP (Voiceover Internet Protocol) provajdere, velike firme kao i za enterprajz rešenja. Asterisk je softver otvorenog koda što znači da ga možemo menjati prema svojim potrebama. Tvorac Asteriska je Mark Spencer osnivač Digium-a, firme koja proizvodi hardver za Asterisk. Asterisk omogućava komunikacij u realnom vremenu između PSTN (Public Switched Telephone Network) I VoIP mreža. Mogućnosti Asteriska su velike. Neke od njih su:
  • Povezivanje više lokacija u svoju privatnu mrežu putem Interneta
  • Snimanje glasovnih poruka i obaveštavanje preko e-maila
  • Pravljenje IVR (Interactive Voice Response) gde je korisniku data mogućnost izbora kroz interaktivne menije
  • Povezivanje korisnika bilo gde da se nalaze putem VPN (Virtual Private Network) uz pomoć Interneta
  • Poziv na čekanju, blokiranje neželjenih poziva, preusmeravanja poziva
Postoje naravno više paketa kao što su Trixbox, Elastix i mnoge druge čijim instaliranjem dobijate sve u paketu:
  • Asterisk
  • PHP
  • Mysql
Sva konfiguracija se vrši iz grafičkog interfejsa
Meni lično se to ne sviđa iz sigurnosnih razloga, nemogućnost kontrole instaliranih paketa i zatvorenosti celog sistema. Instaliranjem pojedinačnih komponenta i konfigurisanjem ručno iz tekstualnog okruženja shvata se kako u stvari radi Asterisk i otključava se njegova prava moć koja je skoro bez ikakvih ograničenja.

Kako instalirati?
Jedan način instaliranja je uz pomoć slackbuilds-a ali tako ne dobijamo najnoviju verziju. Trenutna verzija na slackbuilds-u je 1.8.24. Kompajliranjem iz source-a dobijamo najnoviju verziju Asteriska. Red kojim je potrebno izvršiti kompajliranje paketa je sledeći:
1. DAHDI
2. LibPRI
3. Asterisk
Instalacijom ovim redom sigurni smo da će svi moduli i zavisnosti biti dostupni pri instalaciji Asterisk-a.

Pa da počnemo

Sve naredne komande izvršavamo kao root user

Ja lično volim da mi source paketi budu na jednom mestu tako da u konzoli kucamo:

Code: Select all

cd /usr/src/
Prvo ćemo skinuti potrebne pakete. Asterisk ima jednu mnogo dobru funkciju a to je da je nasvežiji paket ima sufiks “current” tako da ako hoćete da skinete najnoviji paket tražite da u nazivu ima current.

Code: Select all

wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4-current.tar.gz 
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-2.8.0.1+2.8.0.tar.gz 
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-12-current.tar.gz 
wget http://www.digip.org/jansson/releases/jansson-2.5.tar.gz
Nakon ovoga skinute pakete otpakujemo:

Code: Select all

tar -zxvf jansson.tar.gz 
tar -zxvf libpri-1.4-current.tar.gz 
tar -zxvf dahdi-linux-complete-2.8.0.1+2.8.0.tar.gz 
tar -zxvf asterisk-12-current.tar.gz
Ako je sve proteklo kako treba trebali biste da imate fajlove kao na slici

pocetak2.png
JANSSON

Jansson je C biblioteka za enkodovanje, dekodovanje i manipulaciju JSON podataka. Da biste mogli da iskompajlirate Asterisk potrebna vam je libjansson biblioteka verzije 2.2 pa naviše. Do verzije Asterisk-a jedanaest uključujući i nju na Slackware-u nije bilo potrebno instalirati bilo kakve dodatne međuzavisnosti dok od verzije dvanaest potrebno je instalirati i libjansson biblioteku. Koraci za instalaciju su sledeći:

Code: Select all

cd jansson-2.5 
./configure 
make 
make check 
make install 
cd ..
Ako je sve prošlo kako treba trebalo bi da vas dočeka sledeći ekran

make_install_jannson.png
DAHDI

Digium Asterisk Hardware Device Interface, (prvobiti zvan kao Zaptel), je softver koji Asterisk koristi za komunikaciji sa telefonskim hardverom. Moj savet vam je da ga instalirate iako nemate ni jednu karticu instaliranu u računaru, zato što je DAHDI zavisnost potrebna za kompajliranje vremenskog modula res_timing_dahdi koji se korisit u Asterisk dialplan - u aplikacijama kao što je na primer MeetMe(). Od skoro je DAHDI postao potreban i za kompajliranje libPRI.

DAHDI-tools i DAHDI-linux
DAHDI je u stvari kombinacija dva različita paketa: DAHDI-tools, koji obezbeđuje različite administratorske alate kao što su dahdi_cfg, dahdi_scan, itd.; i DAHDI-linux, koji obezbeđuje kernel drajvere. Osim ako ne vršite apdejt samo jednog od njih vi ćete instalirati oba istovremeno u paketu koji se zove DAHDI-linux-complete. Obeležavanje brojeva verzije za DAHDI-linux-complete na primer izgleda ovako 2.8.0.1+2.8.0, gde brojevi sa leve strane plusa obeležavaju verziju DAHDI-linux paketa, a brojevi sa desne strane plusa obeležavaju DAHDI-tools verziju paketa.

Instalacija DAHDI:

Code: Select all

cd dahdi-linux-complete-2.8.0.1+2.8.0 
make 
make install 
Posle instalacije DAHDI-ja trebalo bi da vas doceka sledeća slika

make_install_dahdi.png
Da bismo konfigurisali i napravili konfiguracione fajlove za naš hardver kucamo:

Code: Select all

make config 
cd ..
make_config_dahdi.png
Nemojte se uzbuđivati što piše “No hardware found” to je sasvim normalno zato što nemamo ni jednu VOIP karticu ubačenu u naš server.

Komanda make config pravi konfiguracione fajlove ali ih bar u našem slučaju
na slackware-u smešta na pogrešno mesto. Umesto da init fajl smesti u /etc/rc.d on ga smešta u
/etc/rc.d/init.d. Pa hajde da to ispravimo:

Code: Select all

cp /etc/rc.d/init.d/dahdi /etc/rc.d/rc.dahdi
Još nam samo ostaje da malo izmenimo rc.local. Otvorite u svom omiljenom tekst editoru rc.local i dodajte sledeću liniju koda:

Code: Select all

/etc/rc.d/rc.dahdi start
To bi bilo to sada će se DAHDI podizati sa sistemom.

LibPRI

LibPRI je biblioteka koja dodaje podršku za ISDN (bazni ili primarni). Korišćenje libPRI je opciono i sam Asterisk može da radi bez njega ali sama instalacija je brza a i nikada se ne zna kad nam može zatrebati da u naš server dodamo ISDN karticu. U slučaju da ne instaliramo libPRI pre instalacije Asterisk-a kasnije nam se pojavi potreba za njim moramo prekompajlirati Asterisk.
Instalacija se vrši na sledeći način:

Code: Select all

 
cd libpri-1.4.14 
make 
make install 
cd .. 
Ako je sve prošlo kako treba trebalo bi da vas doceka sledeci prozor

make_install_libpri.png
ASTERISK

Konačno možemo pristupiti instalaciji samog Asterisk-a:

Code: Select all

 
cd asterisk-12.0.0 
./configure 
make 
make install 
Nakon ove komande smo instalirali Asterisk bez bilo kakvih konfiguracionih fajlova. Ovde se zaustavljamo ako smo radili update ali pošto mi instaliramo po prvi put Asterisk imamo još par komandi.

make_install_asterisk.png

Code: Select all

make samples 
Komanda make samples kreira konfiguracione fajlove koji su potrebni za funkcionisanje Asterisk-a kao što su sip.conf, extensions.conf, iax.conf i mnoge druge. Ova komanda će prebrisati stare fajlove ako smo već imali instaliran Asterisk. Komanda upisuje u konfiguracione fajlove podrazumevana podešavanja i olakšava nam posao konfiguracije fajlova. U svakom slučaju trebalo bi je izvršiti zbog toga što iz samih fajlova možemo dosta naučiti o konfiguraciji samog Asterisk-a.

make_samples_asterisk.png
Na kraju nam ostaje komanda make progdocs koja nam instalira svu potrebnu dokumentaciju.

Code: Select all

make progdocs 
make_progdocs_asterisk.png
Pošto smo uspešno instalirali Asterisk potrebno je dodati user-a koji će pokretati naš Asterisk. Kreiramo novog usera da bi pokretao Asterisk umesto root user-a iz sigurnosnih raloga. Dodaćemo user asterisk koji pripada grupi users.

Code: Select all

adduser 
Detaljnilje upustvo za dodavanje usera-a na slack-u možete videti ovde:

viewtopic.phpf=38&t=1251

Nakon kreiranja novog usera na sistemu potrebno je promeniti vlasništvo foldera sa root korisnika na asterisk korisnika. To radimo sledećim komandama:

Code: Select all

chown -R asterisk:users /etc/asterisk/
chown -R asterisk:users /etc/dahdi/
chown -R asterisk:users /usr/lib/asterisk/
chown -R asterisk:users /var/lib/asterisk/
chown -R asterisk:users /var/spool/asterisk/
chown -R asterisk:users /var/log/asterisk/
chown -R asterisk:users /var/run/asterisk/
chown asterisk:users /usr/sbin/asterisk
Ovim smo stvorili uslove za pokretanje Asterisk-a kao asterisk user.
Da bi se Asterisk pokretao pri startovanju sistema potrebno je iskopirati init skriptu iz Asterisk foldera u rc.d folder:

Code: Select all

cp /usr/src/asterisk-12.0.0/contrib/init.d /rc.slackware.asterisk /etc/rc.d
Ostalo je još samo da malo prepravimo rc.local. Otvorite rc.local u svom omiljenom tekst editoru i dodajte ovu liniju koda:

Code: Select all

su -c '/etc/rc.d/rc.slackware.asterisk start' asterisk
Ova linija nam omogućava da skriptu rc.slackware.asterisk pokrenemo pri podizanju sistema kao asterisk user.

Logujmo se kao asterisk user:

Code: Select all

su asterisk
Asterisk možemo ako smo ga iz nekog razloga isključili da pokrenemo komandom

Code: Select all

/usr/sbin/asterisk -vvvc
asterisk-vvvc.png
Rekonektovanje na već pokrenut asterisk se vrši komandom:

Code: Select all

/usr/sbin/asterisk -r
asterisk-r.png
Izdavanje komandi diretno iz bash konzole u asterisk izvršavamo na sledeći način:

Code: Select all

/usr/sbin/asterisk -rx 'core show version'
Toliko od mene za sva pitanja i nejasnoće sam tu :-)

EDIT by stereo: popravljeno formatiranje nabrajanja radi preglednosti (početak posta).
EDIT 2 by stereo: na zahtev postavljača teme, uneta napomena nakon DAHDI instalacije.



Administrator
Administrator
offline
User avatar

Posts: 4591
Joined: 04 Feb 2011, 20:32
Location: Beograd
Contact:

Post Napisano: 03 Jan 2014, 20:00


Pitanja jok. :) Za sada nisam imao potrebe ili prilike da radim sa Asteriskom. Samo da se zahvalim na članku. Jeste da smo ga čekali dugo, ali ipak smo ga dočekali. Upakovanog sa mašnicom za novu godinu. :grin:



offline

Posts: 8
Joined: 25 May 2012, 23:11

Post Napisano: 03 Jan 2014, 22:18


Pozdrav Bocke, obecao sam ovo odavno da ce biti gotovo ali sta da se radi. Da bas za novu godinu moze se reci i da je to jedna od novogodisnih odluka da zavrsim neke stvari sto sam davno zapoceo :grin:


Post Reply

Who is online

Users browsing this forum: No registered users and 19 guests