Specifikacija poslužitelja za Asterisk VoIP centralu

 

Jedno od najtežih a ujedno i najčešćih pitanja, na koje se gotovo uvijek odgovara protu-pitanjima je slijedeće: Instaliram Asterisk centralu, poslužitelj kakvih karakteristika trebam za to? I da, istina je, nema jednostavnog odgovora ili tablice u kojoj ćete naći sve što vas zanima. A razlog je jednostavan: treba nam puno više informacija da bi odgovorili na to pitanje. Iz tog razloga, ovo što slijedi treba više shvatiti kao smjernice.

Pa dobro, što su kritični elementi koji utječu na karakteristike poslužitelja? Obično su to procesi koji opterećuju procesor, dok memorija nije kritična u poslužitelju koji „vrti“ Asterisk. No, postoji još par caka:

Operativni sustav

Tradicionalno, kada započnete razgovor o odabiru OS-a, svjesno ili ne potičete nešto što je u informatičkom žargonu  poznato kao „sveti rat“. Stoga ćemo ovdje biti krajnje pragmatični i odgovoriti najjednostavnije moguće: uz Asterisk nekako prirodno ide Linux, i to bilo koja novija distribucija će dobro doći i odraditi svoj posao. Nakon instalacije Linuxa, obično je potrebno potrošiti još malo dodatnog vremena kako bi se pogasili nepotrebni procesi, jer su zahtjevi Asteriska poprilično minimalni.

Iz same činjenice da smo izabrali Linux i još izbacili sve što nam ne treba, smanjili smo potrebe za memorijom na poslužitelju. Sad možemo dalje.

Druge aplikacije na istom poslužitelju

U prethodnom pasusu smo naglasili da je potrebno pogasiti sve što nam ne treba, no, o čemu je riječ? Većina Linux distribucija dolazi s velikom količinom aplikacija ili servisa koji se automatski pokrenu na poslužitelju, a koji nam uglavnom ne trebaju ili možda trebaju? U samom procesu instalacije neki od servisa se mogu isključiti, a za neke većinu se to može napraviti i naknadno. Koji su ti koji možda trebaju a možda i ne? Evo par primjera:

Uz većinu Linux distribucija dolazi i Apache web poslužitelj. U većini instalacija Asteriska nam Apache nije potreban, ali može i biti potreban ako npr. želimo omogućiti korisnicima naše centrale da sami mogu pristupiti putem weba svom korisničkom računu i pregledavati svoje pozive i troškove. Ako taj servis možemo izmjestiti na neki drugi poslužitelj (poželjno) onda nam Apache ovdje ne treba.

Još jedan od servisa koji se obično nađe na Linux distribucijama je mysql baza. Treba li nam? Ako ćemo konfigurirati Asterisk kroz konfiguracijske datoteke i nećemo spremati konfiguraciju u bazu, a i zapise o pozivima (tzv. CDR – Call Dana Records) nećemo spremati u bazu već u tekstualnu datoteku, onda smo na dobrom putu da nam mysql ne treba. Isto kao i u slučaju Apachea, i mysql se može izmjestiti na neki drugi poslužitelj.

Jedan od servisa koji najviše opterećuje poslužitelj su servisi vezani uz anti-virus i anti-spam zaštitu. Naime, na novijim Linux distribucijama obično dolazi kombinacija amavis + clamav + spamassassin čija je uloga filtriranje dolaznih e-mailova. Iako ova kombinacija dobro radi svoj posao, poprilično je „gladna“ poslužiteljskih resursa i obično nepotrebna na poslužitelju namijenjenom Asterisku. Svakako preselite ovu funkcionalnost negdje drugdje.

Terminiranje poziva u JGM (Javnu govorno mrežu)

Još jedan od potencijalnih problema, o kojem ćemo malo više u nekom od slijedećih članaka, je povezivanje vaše nove Asterisk centrale na JGM. Postoji više načina kako to možete napraviti, redom os najpoželjnijeg do najmanje poželjnog: VoIP spoj na telekom davatelja usluga (obično SIP ili H.323 trunk), ISDN i na kraju analogne telefonske linije. Ako niste u mogućnosti doći do prvog, pokušajte svakako do drugog (ISDN).

Tu dolazimo do slijedećeg izbora: kupiti vanjski uređaj (tzv. VoIP gateway) ili interne kartice? Ono što Asterisk više voli i nad čim ima veću kontrolu su interne kartice (koje se ugrađuju u poslužitelj, obično PCI ili PCI-Express), no one predstavljaju potencijalni problem, ne zbog opterećenja procesora ili potrošnje memorije, već zbog intenzivnog korištenja interapta (IRQ). Naime, prosječna kartica ih generira na tisuće, a moderniji poslužitelji rade auto-konfiguraciju interapta i imaju nevjerojatnu „sposobnost“ na isti interapt staviti ono što se nikako ne bi trebalo staviti, npr. vašu VoIP karticu i mrežu karticu ili disk kontroler (koji sami po sebi generiraju masu interapta). Ako dođe do gubljenja interapta, doći će i do neželjenih posljedica u kvaliteti zvuka, a sve se dodatno pogoršava ako trebate u jedan poslužitelj ugraditi više kartica. U svakom slučaju, ako je moguće, nabavite i ugradite PCI Express kartice i svakako nabavite kartice koje na jednoj imaju više priključaka (npr. više ISDN BRI priključaka) umjesto više kartica s po jednim priključkom.

Kodeci

Kodeci (eng. codec – COder/DECoder) su matematički algoritmi koji kodiraju i dekodiraju audio signal u niz binarnih podataka koji se dalje mogu prenositi putem računalne mreže. Odabir kodeka zavisi o više stvari, a najčešća ograničenja se nalaze van Asteriska: IP telefoni podržavaju samo neke kodeke, VoIP davatelj usluge također može tražiti da koristite određeni kodek i sl. Tu dolazimo do nekoliko zamki:

Asterisk End-Point – ako ćete neke pozive završavati u samo Asterisku (npr. na govornoj pošti ili na nekom ulaznom pozdravnom meniju) onda Asterisk mora interno obrađivati kodeke, a to je intezivan procesorski posao. Ako pravite mali call-centar od kojeg će se tražiti da u nekom trenutku može primiti val (ne)zadovoljnih korisnika, onda svakako vodite brigu i o ovome. U normalnom radu Asterisk centrale ovaj problem je obično nije toliko istaknut.

Transkodiranje – ako vam IP telefoni podržavaju različite kodeke ili se ne poklapa kodek telefona i VoIP davatelja usluga, onda Asterisk mora raditi proces koji se zove transkodiranje, tj. pretvaranje jednog kodeka u drugi i nazad. Ako je ovo neizbježno (a ponekad je) razmislite o nabavci hardverskog traskodera (interna poslužiteljska kartica koja ima posebne DSP čipove koji rade ovaj posao), jer će vam se u suprotnom poslužitelj dobro „znojiti“.

Kompleksnost kodeka – Postoji pravilo koje kaže: kompleksniji kodeci zahtjevaju više procesorkog vremena i imaju viši stupanj kompresije, pa samim tim ne mreži koriste manje bandwitdha. Kako danas bandwidth uglavnom više nije toliki problem, potrudite se izbjeći kodeke visoke kompleksnosti koji „ubijaju“ procesor a ujedno donose lošiji zvuk i neželjene  popratne efekte.

Broj kanala / broj paralelnih poziva

Ovdje je stvar poprilično jednostavna – više paralelnih poziva – veće opterećenje procesora poslužitelja. No, treba uzeti u obzir da samo aktivni pozivi opterećuju poslužitelj, dok ostali IP telefoni vrlo malo opterećuju poslužitelj – dovoljno malo da postane nebitno.

Što praksa pokazuje?

Autor ovog teksta je do sada instalirao veliki broj Asterisk instalacija na različitom hardveru i u najrazličitijim kombinacijama gore navedenih problema. Jedini ozbiljni problem je problem s internim karticama i interaptima, pa tom problemu treba unaprijed posvetiti pažnju. Problem preopterećenih procesora još nismo vidjeli ni na najvećim instalacijama, a današnji višeprocesorski poslužitelji koji imaju višejezgrene procesore bez problema se nose s ovim poslom.

Ispravnim planiranjem i dizajniranjem sustava, dobrim izborom opreme i usklađivanjem korištenih kodeka, riješit ćete se većine navedenih problema, ili još bolje – nećete ih niti upoznati.

Najbolje je svakako na poslužitelj instalirati neki nadzorni softver putem kojeg ćete moći pratiti ponašanje poslužitelja kroz vrijeme i na vrijeme intervenirati kada se pojave prve naznake problema. To ne treba značiti zamjenu hardvera- nekad je dovoljno napraviti manju rekonfiguraciju sustava.

Kategorije: 
Vote: 
0
No votes yet