Inštalácia a základné nastavenie Asterisk servera
Ako verzia asterisku bola zvolená verzia 1.8.0, ktorá je najnovšou stabilnou verziou. Navyše disponuje podporou TLS a SRTP. Návod je platný pre debian-like systémy ( Debian 5 Lenny a Ubuntu 10.04 LTS). Oba tieto systémy obsahujú asterisk vo svojich repozitároch. Avšak nie spomínanú verziu
1.8.0.
Inštalácia nutných a doporučených balíkov
Nástroje potrebné na samotnú kompiláciu:
apt-get install gcc g++ make libncurses5-dev
Doporučuje sa naištalovať aj kryptografické nástroje, ktoré môžu byť neskôr použité:
apt-get install openssl libssl-dev
Pre potrebu SRTP je treba stiahnuť príslušný balík zo stránky
http://srtp.sourceforge.net/download.html
a stiahnutie samotného Asterisk servera
wget http://downloads.digium.com/pub/asterisk/releases/asterisk-1.8.0.tar.gz
Konfigurácia, kompilácia, inštalácia
Rozbalenie archívu
tar xzvf asterisk-1.8.0.tar.gz
Zmena adresára
cd asterisk-1.8.0
Samotná konfigurácia
./configure
Ak konfigurácia prebehla v poriadku môžeme prejsť k samotnému kompilovaniu. Je veľmi vhodné ( avšak nepovinné ) spustiť voľbu „menuselect“ v ktorom si môžeme zvoliť potrebné moduly ( napr. TLS či SRTP). Výber daných modulov
make menuselect
Z daného menu si môžeme vybrať množstvo modulov. Pre potrebu TLS a SRTP je nutné mať vybrané moduly res crypto a res srtp (tieto voľby sú k dispozícii len ak sme naištalovali aj doporučné balíky pre podopru TLS či SRTP) v položke Resources modules. Ak máme vybraté dané moduly tak môžeme spustiť samotnú kompiláciu.
V závislosti od daného PC môže táto operácia trvať niekoľko minút. Ak je asterisk úspešne skompilovaný môžeme pristúpiť ku samotnej inštalácii.
Inštalácia
make install
Po úspešnej inštalácii je vhodné spustiť príkazy, ktoré zaistia vytvorenie vzorových konfiguračných súborov a spúšťanie po štarte systému.
make samples make config
Základná konfigurácia
Základne príkazy na spustenie, zastavenie, restartovanie a pripojenie sa na asterisk server
- asterisk -vvvci -> spustenie asterisk servera (na spustenie stači aj príkaz asterisk, dané parametre slúžia na lepšiu diagnostiku)
- /etc/init.d/asterisk start|stop|reload -> spustenie|zastavenie|restartovanie asterisk servera pomocou deamona
- asterisk -rvvv -> pripojenie sa na asterisk server.
Po pripojení na sever sa nám objaví prompt asterisk servera *CLI. K základným príkazom
patria:
- reload -> reštartovanie servera nutné spraviť po každej zmene v konfiguračných súboroch.
- sip show settings -> zobrazí nastavenia sip protokolu.
- sip show peers -> zobrazí prihlasených uživateľov na servery.
Ku zakladným konfiguračným súborom patria /etc/asterisk/sip.conf a /etc/asterisk /extensions.conf.
/etc/asterisk/sip.conf
Obsahuje nastavenia sip protokolu.Treba si uvedomiť, že každá sekcia sa môže nachádzať len raz v danom súbore a sekcia „general“ musí byť ako prvá. Príklad jednoduchého sip.conf s využitím templatov.
[general] tcpenable=yes ;povolenie tcp prenosu tcpbindaddr=0.0.0.0 ;pocuvanie na all interface udpbindaddr=0.0.0.0 allowoverlap=no context = skuska ;context pre smerovanie hovorov bindport=5060 ;port na ktorom pocuva server srvlookup=yes disallow=all ;najskor zakazeme all kodeky allow=ulaw ;povolime ktore chceme allow=gsm language=en ;Ukazka template [my-codecs](!) ; template pre moje kodeky disallow=all allow=ilbc allow=g729 allow=gsm allow=g723 allow=ulaw [common](!) ; template pre vsetkych hostov type=friend context=skuska host=dynamic disallow=all allow=ulaw allow=alaw allow=g723 allow=g729 dtmfmode=rfc2833 ;definovanie uzivatelov [1000](common) ;odkazujeme sa na spolocny template username=1000 ;meno secret=1000 ;heslo [1001](common) username=1001 secret=1001
/etc/asterisk/extensions.conf
Tento konfiguračný súbor realizuje samotné smerovanie hovorov. Pre náš prípad stačí pridať nakoniec súboru:
;nasledovne smerovanie zabezpeci ze ak sa vytocime 1000@server tak sa zovalo uzivatel 1000 ; identicky pre 1001
[skuska] ;kontext definovany v sip.conf exten => 1000,1,Ringing ;zapis je ako exten => cislo,priorita,akcia exten => 1000,2,Dial(SIP/1000) exten => 1001,1,Ringing exten => 1001,2,Dial(SIP/1001)