Polazna | Networking | VoIP | VoIP telefonska centrala: Zvezdica u srcu kompanijske VoIP mreže

VoIP telefonska centrala: Zvezdica u srcu kompanijske VoIP mreže

Veličina slova: Decrease font Enlarge font
image

Uvođenje Internet telefonije u jedno preduzeće je mnogo lakše, jednostavnije i jeftinije nego što se na prvi pogled čini. Za potpuni prelazak na VoIP, u najjednostavnijem slučaju, potreban je prosečan računar, lokalna intranet mreža, instalirani Softphone na računarima zaposlenih i Asterisk i poprečna veza odnosno Internet link. U nastavku ćemo se pozabaviti serverskom aplikacijom koja sve komponente VoIP mreže povezuje u jednu celinu i dati odgovor na pitanje kako se pomoću Asteriska konfiguriše VoIP mreža u jednom preduzeću...

Asterisk je serverska aplikacija koja je namenjena obavljanju svi funkcija koje se zahtevaju od PBX (pogledati okvir PBX) sistema [1]. Za razliku od standardnih centrala, zasnovanih na fiksnoj telefoniji, kakve su već dugo u primeni, Asterisk koristi Internet mrežu i njoj odgovarajuće protokole za prenos i kontrolu razgovora.

Stvoren je od strane Marka Spensera (Marc Spencer) iz firme Digium[2] kao projekat otvorenog kôda. Dostupan je kao potpuno besplatan, sa izvornim kodôm (napisan je u programskom jeziku C), pod GNU GPL licencom (videti okvir GNU GPL). Danas u njegovom razvoju učestvuje više programera iz celog sveta. Dostupne su verzije, u obliku izvornog kôda ili formi binarnih paketa za većinu operativnih sistema (videti okvir Asterisk na različitim OS).

Jednostavno instaliranje, konfigurisanje i korišćenje čine ga danas najpopularnijom serverskom PBX aplikacijom. Koriste ga pojedinci, preduzeća za internu upotrebu, ali i veliki dobavljači Internet i VoIP usluga.

Instaliranje i konfigurisanje Asteriska

U osnovi postoje dva načina instaliranja Asteriska. U prvom slučaju to podrazumeva preuzimanje sa mreže izvornog koda i njegovo kompajliranje i instaliranje. Ovaj način se preporučuje pre svega malo stručnijim korisnicima/administratorima koji imaju iskustva sa takvim načinom instaliranja aplikacija. Drugi način je jednostavniji i podrazumeva korišćenje već gotovih binarnih paketa za dati sistem (kao što su na primer .deb za Debian ili .rpm paketi za Red Hat Linux). U svakom slučaju, instaliranje Asteriska ne bi trebalo da predstavlja nikakav problem i nakon samo par minuta potpuno funkcionalna aplikacija će biti spremna za upotrebu.

Drugi deo, konfigurisanje Asteriska, predstavlja malo zahtevniji deo u pripremi celog sistema. Na Linux sistemu, gde se Asterisk najčešće i koristi, konfiguracione datoteke se nalaze u /etc/asterisk/ direktorijumu, i ima ih oko dvadesetak [4]. Datoteke koje služe za konfigurisanje telefonskih brojeva i usmeravanja i kontrolu poziva su: sip.conf i extensions.conf, i njima će biti obraćena pažnja i daljem tekstu.

Eksperimentalni model VoIP mreže

Da bi smo najlakše pokazali kako se konfiguriše jedan sistem pretpostavimo da imamo situaciju kao na slici 1. Centrala preduzeća se nalazi u Beogradu i u njoj se nalazi server na domenu internetogledalo.com. U lokalnoj mreži postoji VoIP-telefon čiji će broj da bude 200. Broj 201 je predviđen za povezivanje u VoIP mrežu novinara koji je često na terenu i povezuje se sa firmom preko laptopa. U Novom Sadu postoji dopisništvo u kojem se takođe nalazi Asterisk server na domenu intobiz.info. Unutar dopisništva je VoIP telefon sa brojem 400 a broj 401 je takođe predviđen za povezivanje preko Interneta. Dva servera, odnosno Asteriska, su povezana preko Internet/LAN mreže. Da bi se iz beogradske centrale dobio broj 400 u Novom Sadu potrebno je pozvati 021-400 dok je beogradski broj dostupan iz Novog Sada preko broja 011-200. Ovde su 021 i 011 prefiksi za VoIP centrale, koje su samo radi analogije sa pozivnim brojevima Beograda i Novog Sada tako određeni.

Prvo će biti objašnjeno kako se konfiguriše lokalna mreža, na primeru centrale u Beogradu, a zatim ćemo pokazati i kako da definišemo vezu između dva Asteriska, odnosno dve lokalne VoIP mreže.


PBX – Private Branch Exchange
PBX predstavlja lokalnu telefonsku mrežu koja se koristi unutar preduzeća. Svi korisnici unutar firme imaju sopstvene "lokale", dok je firma sa fiksnom mrežom povezana preko jednog (moguće je i preko više) standardnog telefonskog broja. U praksi ovakav vid centrala, u vidu fiksne telefonije, je već dugo u upotrebi.
Prijava i registracija telefona na Asterisku

Da bi jedan IP telefon mogao da se prijavi na Asterisk, sa ciljem da prima i obavlja pozive, potrebno je da se u konfiguracionu datoteku sip.conf unesu podaci koji će mu to omogućiti. Za telefon sa brojem 200 to će izgledati ovako:

[200]
type=friend
username=200
secret=tajnaLozinka
context=default
canreinvite=yes
insecure=very
host=172.17.16.10

Na ovaj način definisan je broj 200 koji se nalazi na tačno određenoj lokaciji u lokalnoj mreži (na IP adresi 172.17.16.10). Kada se IP-telefon prijavljuje na sistem, što se obično u ovakvim slučajevima radi samo jednom, prilikom podizanja i definisanja celog sistema (ili u slučaju softphonea prilikom startovanja same aplikacije), neophodno je da, u lokalnoj mreži (LAN), telefon ima upravo onu, u datoteci, definisanu IP adresu. Unošenje lozinke (tajnaLozinka) je takođe obavezno i tek nakon toga Asterisk vrši registraciju telefona i dati broj, kao i telefon su funkcionalni. Ovaj način konfiguracije se koristi kada su u pitanju klasični telefoni povezani na mrežu preko ATA uređaja ili IP-telefoni, koji se uvek nalaze na istoj lokaciji (kancelariji). Prijava na sistem se obavlja samo prilikom uključenja i inicijalizacije sistema i nakon toga, sa stanovišta korisnika, telefon se koristi kao i klasičan fiksni aparat.

Slika 1. Model VoIP mreže

Drugi slučaj je interesantan pre svega za korisnike koji poseduju prenosive računare i imaju na njima instalirane softphone aplikacije. Asterisk takođe dozvoljava, za razliku od prethodnog slučaja, da se korisnik prijavi na sistem sa proizvoljne IP adrese, pod uslovom da zna odgovarajuću lozinku. U slučaju drugog broja, 201, u našem primeru to bi u konfiguracionoj datoteci izgledalo ovako:

[201]
type=friend
username=201
secret=znamSamoJa
context=default
canreinvite=yes
insecure=very
host=dynamic

Može se primetiti da je glavna razlika, u odnosu na prethodni primer, u definisanju IP adrese (host=dynamic). Ovim je Asterisku naloženo da za dati broj (201) korisnik može da se prijavi sa bilo koje IP adrese. Prilikom prijave i registracije na sistem, pod uslovom da se zna domen-lokacija servera na kome je Asterisk, korisnik mora da unese lozinku (znamSamoJa) i za komunikaciju će biti korišćena njegova trenutna adresa, do ponovne registracije.

Upravljanje pozivima

Nakon definisanja telefonskih brojeva i registracije VoIP telefona na sistem, Asterisk mora da zna kako i gde da usmerava pozive. Definisanje upravljanja pozivima se vrši u konfiguracionoj datoteci extensions.conf. Tu se praktično definišu moguće "putanje", kojima će ići pozivi (Dialplans). Upravljanje pozivima može biti podeljeno i u podgrupe (context) radi lakšeg pregleda. Po pravilu svi pozivi prvo stižu u standardni kontekst (default) koji je i jedini od svih koji mora uvek da postoji. Standardan oblik naredbe koja definiše šta raditi sa pozivom glasi:

exten => Pozvani_Broj, Prioritet, Akcija

U našem slučaju u extensions.conf bi- smo imali sledeći plan:

exten => _2XX,1,Dial(SIP/${EXTEN},15,tTr)
exten => _2XX,2,Hangup
exten => _2XX,102,Mailbox
exten => _2XX,103,Hangup

Iz standardnog oblika naredbe vidimo da je pozvani broj definisan kao _2XX. Slovo X predstavlja zamenu za bilo koju cifru (0-9) tako da je praktično ovde definisan prijem poziva na sve trocifrene brojeve koji počinju sa 2, što obuhvata i naše korisnike (200 i 201). Najviši prioritet (1) pa samim tim i komanda koja će biti prva izvršena je:

Dial(SIP/${EXTEN},15,tTr)

Ovo je komanda za pozivanje datog broja. Opšti oblik glasi:

DIAL(SIP/Pozvani_Broj@VOIP_Server,vreme,parametri)

Izraz ${EXTEN} predstavlja pozvani broj tako da se ovom komandom definiše Asterisku da odmah pozove izabrani broj u lokalnoj tj. sopstvenoj mreži pošto je deo za @VOIP_SERVER izostavljen. Parametar vreme predstavlja informaciju Asterisku koliko sekundi da čeka, u slučaju da niko ne odgovara na poziv, pre nego što odustane. O ostalim detaljima u vezi s ovom funkcijom, koje ovde ne možemo predstaviti zbog ograničenosti prostora, postoji opširno objašnjenje na Webu [3].

Asterisk na različitim operativnim sistemima
Iako je Linux platforma na kojoj se Asterisk razvija i dalje usavršava, danas postoje verzije za sve najzastupljenije operativne sisteme (www.voip-info.org/wiki/view/Asterisk+OS+Platforms). Na svim značajnijim distribucijama Linuxa Asterisk funkcioniše bez problema, dok se, uz određena ograničenja u funkcionalnostima, može kompajlirati i na sledećim sistemima: FreeBSD, OpenBSD, Mac OS X, Windows. Kao binarni paket, Astersk je dostupan za Debian Linux (.deb paket), Red Hat Linux (.rpm paket) i za MacOS X (Asterisk.pkg). Za one koji ne žele odmah da se bave instaliranjem, postoji i verzija na CDROM-u pomoću koje se Asterisk pokreće sa diska bez ikakvog instaliranja.
Nakon završenog poziva/razgovora, kontrola poziva ide na sledeći prioritet (2) u Dialplanu čime se veza prekida (Hangup) ili, u slučaju da je pozvani broj bio zauzet, na prioritet 102 (Dial poziv, sa prioritetom n, vraća kontrolu na prioritet n+101 kada je veza zauzeta) čime se poziva funkcija "telefonske sekretarice" i daje mogućnost onome ko je pozvao da ostavi poruku.
Sa navedenim primerima konfigurisanja Asteriska već postoji dovoljno uslova da se unutar lokalne mreže vrše telefonski razgovori (pod uslovom da su svi lokalni brojevi u opsegu 200 i 299). Kao što se može videti, konfigurisanje je veoma jednostavno, pregledno i lako ga je modifikovati po potrebi. Naravno, jasno je iz dosadašnjeg izlaganja da za svaki IP-telefon, odnosno broj, slično kao za 200 i 201, mora da se definiše posebna struktura u datoteci sip.conf.

Povezivanje dve telefonske mreže

Sledeći korak, u konfigurisanju našeg sistema, predstavlja povezivanje dve VoIP mreže, odnosno dva Asterisk servera. Kao što se telefoni moraju prijaviti (registrovati) na Asterisku da bi bili u sistemu, isto tako mora i jedan Asterisk da bude prijavljen na drugom, i obrnuto, da bi komunikacija između njih bila moguća. Komanda, u konfiguracionoj datoteci sip.conf, za tu namenu u opštem obliku glasi:

register => ImeKorisnika:Lozinka@SIP-Server/Broj

U našem konkretnom slučaju, da bi se Asterisk na serveru internetogledalo.com prijavio na drugi Asterisk, koji je na serveru intobiz.info komanda za registraciju bi bila:

register => 011XXX:LOZINKA@intobiz.info/011XXX

Asterisk će sada prilikom inicijalizacije da se prijavi na drugi sistem (intobiz.info) pod šestocifrenim brojem koji počinje sa 011. Svaki poziv na broj 011XXX na intobiz.info će biti preusmeren na server internetogledalo.com. Ovde dolazimo i do drugog važnog dela u konfigurisanju. Da bi pozivi sa Asterisk servera na domenu intobiz.info (iz Novog Sada) bili prihvaćeni potrebno je da se u sip.conf unese, slično kao za lokalne telefone, informacija o "spoljašnjem" izvoru poziva:

[infobiz.info]
type=peer
secret=qwertz
username=011XXX
host=intobiz.info
fromuser=011XXX
fromdomain=intobiz.info
insecure=very

Razlika u odnosu na konfigurisanje lokalnog broja je da je sada type tipa peer (umesto friend) i da je host, umesto lokalne IP adrese (fiksne ili dinamičke), domen na kome je drugi Asterisk server.

GNU GPL – GNU General Public License
Najpopularnija licenca za besplatne aplikacije originalno napisana od strane Richard Stallmana (www.gnu.org/licenses/gpl.html). Korisnici aplikacija koje su pod GPL-om mogu slobodno da koriste program, da analiziraju izvorni kod i modifikuju ga za svoje potrebe, da osnovu ili modifikovanu verziju dalje distribuiraju. Osnovna karakteristika GPL je da definisana pravila važe i za sve nove, modifikovane verzije, određene aplikacije. To u praksi znači da svako može da uzme određenu aplikaciju, modifikuje je i zatim dalje distribuira, ali je pri tome obavezan da priloži i izvorni kod nove verzije sa svim promenama.

Poslednje što još mora da se definiše je kontrola poziva kao i od drugog servera (intobiz.info). To se, kao što smo već ranije pokazali unosi u extensions.conf datoteku.
Ako pretpostavimo da se sa lokalnog sistema, u Beogradu, poziv vrši uz "okretanje" pozivnog broja 021 pre samog broja, kao sto je uobičajeno, plan za poziv na drugi sistem bi izgledao:

exten => _021XXX,1,Dial(SIP/${EXTEN}@intobiz.info,30,tTr)

Ovom komandom se svi pozivi kod kojih nazvani broj počinje sa 021, preusmeravaju na drugu mrežu, u Novom Sadu, odnosno drugi Asterisk server. Prema tome, ako neko iz centrale preduzeća (internetogledalo.com) želi da pozove broj 400 u Novom Sadu treba samo da okrene 021400 i poziv odlazi na željenu destinaciju. Takođe, da bi se odgovarajuće prihvatili pozivi iz Novog Sada potrebno je dodati u Dialplan sledeće:

exten => _011XXX,1,Dial(SIP/${EXTEN:3}, 30,tTr)

Sada će poziv na broj 011200, na primer, biti preusmeren na broj 200 u lokalu. Broj unutar Dial komande ${EXTEN:3} predstavlja pozvani broj (011200) sa koga su prve tri cifre uklonjene (200) što predstavlja željeni broj u Beogradu. Ovim je praktično osnovno konfigurisanje mreže završeno. Dve konfiguracione datoteke izgledaju sada ovako:

sip.conf

[general]
port=5060
bindadr=0.0.0.0
disallow=all
allow=ulaw
allow=alaw
context=default

register => 011XXX:LOZINKA@intobiz.info/011XXX

[infobiz.info]
type=peer
secret=qwertz
username=011XXX
host=intobiz.info
fromuser=011XXX
fromdomain=intobiz.info
insecure=very

[200]
type=friend
username=200
secret=tajnaLozinka
context=default
canreinvite=yes
insecure=very
host=172.17.16.10

[201]
type=friend
username=201
secret=znamSamoJa
context=default
canreinvite=yes
insecure=very
host=dynamic


extensions.conf

[default]

; pozivi za filijalu u Novom Sadu
exten => _021XXX,1,Dial(SIP/${EXTEN}@intobiz.info,30,tTr)
exten => _021XXX,2,Hangup

; pozivi iz Novog Sada
exten => _011XXX,1,Dial(SIP/${EXTEN:3},30,tTr)
exten => _011XXX,2,Hangup

;pozivi u lokalu
exten => _2XX,1,Dial(SIP/${EXTEN},15,tTr)
exten => _2XX,2,Hangup
exten => _2XX,102,Mailbox
exten => _2XX,103,Hangup

Sve linije koje počinju sa znakom ";" predstavljaju komentare koji su jako korisni za brže i lakše snalaženje.

Kombinacije sa fiksnom telefonijom
Povezivanje Asteriska sa fiksnom telefonskom mrežom nije moguće izvršiti direktno. Kao posrednik između te dve mreže mora postojati VoIP dobavljač koji obezbeđuje premošćavanje dva sistema, odnosno, vrši mapiranje brojeva u fiksnoj telefoniji, i samim tim, preusmerava pozive za takve brojeve na VoIP mrežu.
Danas u zemljama sa razvijenom internet kulturom postoji velika ponuda vezana za IP telefoniju. Tako na primer, u Nemačkoj se za 4,99 evra mesečno može dobiti flat-rate DSL pristup Internetu. U to je uračunat i VoIP paket koji u sebi obuhvata četiri telefonska broja koja su stavljena na raspolaganje korisniku. Pozivi između VoIP brojeva su potpuno besplatni, dok poziv sa VoIP broja na fiksni košta jedan evrocent po minutu (u fiksnoj mreži razgovori unutar Nemačke se kreću u granicama između 2 i 5 centa, u zavisnosti od tarife i doba dana). Sa stanovišta korisnika fiksne mreže poziv na VoIP broj košta kao i poziv bilo kom drugom broju u istoj mreži. Osim toga, korisnik VoIPa ima na raspolaganju široku paletu pratećih usluga: Voicebox, preusmeravanje poziva, telefonske konferencije, Call-Screening, VIP pozivi...
Za preduzeća je najinteresantnije povezivanje sopstvenog Asteriska (VoIP servera) na fiksnu mrežu. Time se otvaraju velike mogućnosti za unapređenje komunikacija i smanjenje troškova. Način na koji se Asterisk može povezati sa fiksnom telefonskom mrežom biće tema jednog od narednih nastavaka ovog serijala.

Naravno, da bi ceo sistem funkcionisao potrebno je slično konfigurisanje i Asteriska u Novom Sadu što bi izgledalo ovako:

sip.conf

[general]
port=5060
bindadr=0.0.0.0
disallow=all
allow=ulaw
allow=alaw
context=default

register => 021XXX:LOZINKA@internetogledalo.com/021XXX

[infobiz.info]
type=peer
secret=qwertz
username=021XXX
host=internetogledalo.com
fromuser=021XXX
fromdomain=internetogledalo.com
insecure=very

[400]
type=friend
username=400
secret=tanjnaLozinka
context=default
canreinvite=yes
insecure=very
host=172.36.17.6

[401]
type=friend
username=401
secret=znamSamoJa
context=default
canreinvite=yes
insecure=very
host=dynamic


extensions.conf:

[default]

; pozivi za filijalu u Novom Sadu
exten => _011XXX,1,Dial(SIP/${EXTEN}@internetogledalo.com,30,tTr)
exten => _011XXX,2,Hangup
; pozivi iz Novog Sada
exten => 021XXX,1,Dial(SIP/${EXTEN:3},30,tTr)
exten => 021XXX,2,Hangup

;pozivi u lokalu
exten => _4XX,1,Dial(SIP/${EXTEN},15,tTr)
exten => _4XX,2,Hangup
exten => _4XX,102,Mailbox
exten => _4XX,103,Hangup

Ovde se mora napomenuti da pored svega do sada navedenog, postoji još parametara i konfiguracionih datoteka koje se moraju prilagoditi željenom sistemu, ali je ovde predstavljen samo osnovni i najvažniji deo definisanja jedne telefonske mreže. Kao što se iz ovog jednostavnog primera može videti, konfigurisanje i upravljanje VoIP mrežom unutar jednog preduzeća, pomoću Asteriska, predstavlja jednostavan, rutinski posao. Lako i za samo nekoliko minuta se dodaju nove ili menjaju lokacije postojećih telefona. Sa malo prakse svaki sistem administrator će imati potpuni uvid u ceo sistem i svaka promene će biti lako i brzo izvodljiva.

Reference:
[1] www.asterisk.org
[2] www.digium.com
[3] www.voip-info.org/wiki/index.php?page=Asterisk+cmd+Dial
[4] www.voip-info.org/tiki-index.php?page=Asterisk+config                                                                                                                                         +files

Na kraju treba naglasiti da je Asterisk jedan veliki i složeni sistem koji pruža i mnoge dodatne mogućnosti: preusmeravanje poziva, održavanje telefonskih konferencija, Call-Screening dolaznih poziva, Voicebox, slanje e-mail poruka sa zvučnim zapisom kao datotekom prikačenom za dati e-mail...

 

Osnovni cilj svega do sada rečenog je bio da pokaže jednostavnost i efikasnost korišćenja Asteriska i VoIP-a u preduzećima. Za početak, dovoljan je jedan običan računar, na kome će biti instaliran Asterisk, postojeća lokalna mreža (LAN) i po jedan headset (slušalice i mikrofon) i instaliran softphone na računaru svakog zaposlenog. Efekti, vidljivi sa jedne strane u smanjenim telefonskim računima a sa druge u boljoj i efikasnijoj komunikaciji među zaposlenima će vrlo brzo biti i te kako vidljivi.




Prijavite se na feed komentara Komentara (0 poslato):

Pošaljite komentar comment

Unesite kod sa slike:

  • email Pošalji prijatelju
  • print Verzija za štampu
  • Plain text Samo tekst
Više iz kategorije VoIP
Previous
image
Prioriteti među paketima podataka: VoIP kao VIP
Prema poslednjim analizama internet telefonije ustanovljeno je da je došlo do značajnog pogoršanja kvaliteta razgovora. I pored stalnog usavršavanja aplikacija, kako serverskih tako i klijentskih, povećavanja propusne moći same mreže, ali i sve boljeg i bržeg hardvera, došlo se do, na prvi pogled, kontradiktornih podataka. Gde leži problem i da li će uskoro VoIP postati jedan od (da ih malo u šali, ali mnogo više u zbilji tako nazovemo) VIP (Very Important Protocol) servisa koji će biti posebno tretiran kako u prenosu kroz mrežu tako i u naplaćivanju? ...
image
VoIP telefonska centrala: Zvezdica u srcu kompanijske VoIP mreže
Uvođenje Internet telefonije u jedno preduzeće je mnogo lakše, jednostavnije i jeftinije nego što se na prvi pogled čini. Za potpuni prelazak na VoIP, u najjednostavnijem slučaju, potreban je prosečan računar, lokalna intranet mreža, instalirani Softphone na računarima zaposlenih i Asterisk i poprečna veza odnosno Internet link. U nastavku ćemo se pozabaviti serverskom aplikacijom koja sve komponente VoIP mreže povezuje u jednu celinu i dati odgovor na pitanje kako se pomoću Asteriska konfiguriše VoIP mreža u jednom preduzeću... ...
image
VoIP mreže: Osnovni modeli primene VoIP-a u preduzećima
Iza definicije VoIP-a kao načina prenosa i obavljanja telefonskih razgovora preko IP mreže krije se jedan složen sistem koji u sebi sadrži razne tehnologije, protokole i aplikacije, što zajedno omogućava da Internet telefonija bude već sada sastavni deo poslovne komunikacije. Ovom prilikom ćemo predstaviti osnovne tipove VoIP mreža koji se danas mogu sresti u svakodnevnoj primeni... ...
Next
Tagovi
Oceni
0