Asteriskovo ime označuje vse.

O Marku Spencerju, ustanovitelju podjetja Digium (www.digium.com) in »očetu« Asteriska (http://www.asterisk.org/), lahko na spletnih straneh najdemo veliko podatkov. Mi podajamo le nekaj najpomembnejših podatkov, ki bodo morda dali jasnejšo sliko o Asterisku in omogočili lažje razumevanje tematike, ki jo bomo predstavili v tokratnem besedilu. Mark Spencer je leta 1999 ustanovil podjetje Digium, ki naj bi ponujalo storitve s področja razvoja in tehnične podpore za uporabnike Linuxa. Ker so prvi koraki v svetu podjetništva zaradi pomanjkanja denarja težki in ker Mark ni imel dovolj denarja za nakup hišne telefonske centrale (PBX – Private Branch Exchange) za svoje podjetje, je kot inženir računalništva začel sam razvijati rešitev, ki bi mu omogočila potrebno funkcionalnost. No, priznati je treba, da Mark ni želel popolnoma običajnega PBX-sistema, temveč zmogljiv sistem za podporo poslovanja (sprejem naročil), katerega cena je takrat znašala več kot deset tisoč ameriških dolarjev. Asterisk pa ni edini Markov projekt. Med drugim je tudi avtor odjemalca za sporočanje Gaim, ki se je preimenoval v Pidgin (http://www.pidgin.im/), L2TP-demona in vmesnika Cheops.

Asterisk je pomenil velik odmik od klasičnih telekomunikacijskih sistemov, saj je namesto dragih vmesnikov in namenske programske opreme PBX-sistemov ponujal zasnovo brezplačne programske opreme (odprta koda), ki jo lahko uporabnik namesti na poceni strojno opremo (osebni računalnik oziroma strežnik). Kljub ugodni ceni tovrstnega sistema pa dobi uporabnik zmogljiv sistem s podporo povezljivosti klasičnih telekomunikacijskih omrežij in VoIP ter podporo naprednejšim storitvam (prikaz identifikacije uporabnika, govorna pošta, konferenčni klici in podobno).

Asterisk torej še zdaleč ni muha enodnevnica, saj ima za seboj več kot desetletje, v katerem je uspešno preživel tudi otroške bolezni. Mark ponosno trdi, da podjetja, ki ponujajo telekomunikacijsko opremo, ne morejo narediti podobnega izdelka, saj sta »zanimanje« in moč odprtokodne skupnosti, ki dela na področju razvoja Asteriska, preprosto prevelika. Navajanje dejstev končajmo še s pojasnilom, od kod ime – Asterisk označuje simbol zvezdice, s katerim v okolju Unix/Linux označujemo pojem »vse«. Vsako dodatno pojasnilo je verjetno odveč, nesporno pa kaže na velike ambicije.

KDO SEM?

Asterisk lahko za manj zahtevne aplikacije namestimo tudi na star računalnik.

Čeprav se je vse skupaj začelo zaradi Spencerjeve želje in potrebe po zagotovitvi cenovno ugodnega in zmogljivega PBX-sistema, je Asterisk že dolgo bistveno več. Če uporabimo kar opis z Digiumove domače strani, lahko Asterisk opišemo kot okolje oziroma platformo za razvoj komunikacijskih aplikacij, ki spremeni računalnik v komunikacijski strežnik. To pomeni, da Asterisk ni IP-telefonska centrala, kot se včasih napačno navaja, ampak platforma oziroma sistem gradnikov (podobno kot legokocke), s pomočjo katere lahko zagotovimo želene funkcionalnosti. Če potrebni gradniki še niso pripravljeni, jih uporabnik lahko doda ali doseže želeni učinek s pomočjo »sestavljanja« obstoječih. S pomočjo Asteriska lahko brez večjih težav zgradimo strežnik za sistem govorne pošte, strežnik za povratni klic (callback), konferenčni strežnik (omogoča konferenco več kot treh uporabnikov) ali strežnik za obveščanje (samodejno vzpostavljanje govornih zvez). Brez težav ga lahko spremenimo tudi v VoIP-prehod, ki ga priključimo na obstoječo telefonsko centralo in tako obstoječ sistem z majhnim finančnim vložkom opazno posodobimo ter dodamo funkcionalnost prenosa govora prek IP-protokola (VoIP). Uporabimo ga lahko tudi v vlogi prevajalnika signalizacij (na primer iz H.323 v SIP) ali strežnika, ki se bo sporazumeval s podatkovno bazo in se na podlagi podatkov v njej ustrezno odzival v primeru dohodnega klica. Seznam možnosti še zdaleč ni izčrpan. In res, nekje »na koncu« drži: ena od možnosti je, da strežnik z Asteriskom in ustrezno konfiguracijo deluje tudi kot zmogljiva telefonska centrala.
Posplošena trditev, da je Asterisk IP-telefonska centrala, kaže, da vas nekdo vleče za nos (manipulacija?) ali da preprosto ne ve, kaj se skriva »pod pokrovom motorja«, in ni naredil omembe vrednega koraka od priloženega grafičnega vmesnika, vključenega v eno od distribucij. Ne glede na ozadje je na mestu vprašanje – je to pravi partner, s katerim boste morali oziroma želite sodelovati?

Drugo vprašanje, ki se zastavlja kar samo, je – kako je to sploh mogoče? Kot že rečeno, Asterisk lahko s spreminjanjem konfiguracije spreminja svojo vlogo tako, kot kameleon spreminja barvo. Zato lahko temu primerno bolj ali manj spretni ponudniki kot rešitev ponudijo tisto, kar želite kot kupec slišati. Če se zanimate za novo telefonsko centralo, vam bodo ponudili Asterisk oziroma eno od distribucij – kot splošno znani poceni in zanesljivi PBX-sistem. Če pa na tržišču iščete strežnik za svojevrstno storitev, bodo pogosto zamolčali, da kot osnovo uporabljajo Asterisk, rešitev pa prikazali kot plod lastnega znanja (največkrat seveda za ceno, ki še zdaleč ne ustreza dejanskemu vložku v obliki znanja in dela). Res pa je, da je prav za področje delovanja Asteriska v vlogi PBX-sistemov veliko vmesnikov »za telebane«, ki lahko osebni računalnik z nekaj kliki spremenijo v strežnik, ki bo posnemal delovanje IP-telefonske centrale. Več o grafičnih vmesnikih in z njimi povezanih »težavah« v nadaljevanju.

V posamezni distribuciji lahko najdemo več grafičnih vmesnikov.

IMATE RAJE HITROST ALI SVOBODO?

V nekaterih preteklih številkah naše revije smo se Asteriska oziroma najbolj priljubljenih distribucij že večkrat dotaknili. Ogledali smo si nekatere najbolj priljubljene distribucije (na primer Trixbox - www.trixbox.org, Elastix – www.elastix.org) in spoznali, kako lahko relativno preprosto zagotovimo določene storitve, ki so bile v večini primerov povezane s funkcionalnostmi, ki smo jih vajeni iz sveta telefonskih central. V besedilih so bile predstavljene tudi možnosti povezovanja Asteriska z drugimi sistemi (klasičnimi – prek vmesniških kartic oziroma VoIP – s pomočjo uporabe SIP-protokola) in naprednejši dostop do strežnika prek ukazne vrstice. Pomembno pa je opozoriti, da je mogoče komunikacijski strežnik ne glede na tip storitev, ki jih zagotavlja, »postaviti« na dva načina – lažjega in hitrejšega s pomočjo že pripravljene distribucije ali zamudnejšega, kjer uporabnik sam izbira (in prevaja) ter namešča potrebne sestavine, a omogoča praktično popolno svobodo.

Za začetnike je nesporno zanimivejša in lažja prva možnost (distribucija). Za to možnost se lahko brez slabe vesti odločimo tudi v primerih, ko smo prepričani, da ta ne postavlja določenih omejitev. Izkušeni uporabniki in razvijalci se običajno odločijo za drugo možnost ali si pripravijo lastno distribucijo, v kateri brez slabe vesti izpustijo kakšno »nujno« sestavino – na primer grafični vmesnik za dostop. Ko že omenjamo grafične vmesnike (na primer FreePBX - www.freepbx.org): njihova največja napaka je, da »omogočajo« preveč, zato lahko uporabnik/upravljavec do platforme dobi podcenjujoč odnos. S premalo truda (vnosa v okolju grafičnega vmesnika in različnih namigov na spletnih straneh) pride do želenega delovanja, hkrati pa ne ve nič o delovanju, ki se skriva v ozadju. Takšen uporabnik zato največkrat sploh ne ve, v katero datoteko in kam se določen parameter vpiše, kaj šele, da bi vedel, kako določen parameter vpliva na delovanje celotnega sistema. Streznitev pa nastopi v trenutku, ko uporabnik napreduje do te mere, da mu grafični vmesnik ne zadošča več. Pridobljeno znanje ne zadošča za dosego cilja, zato je prej konec »potuhe« in pride do streznitve, potreben je nov začetek, a tokrat od začetka – korak za korakom.

Različica je pomembna zaradi funkcionalnosti, ki jih omogoča.

UČITI SE IN IMETI ČAS

Asterisk zaseda na področju komunikacijskih storitev podobno mesto, kot ga ima Apache (http://www.apache.org/) na področju spletnih aplikacij. Prenos paketa s spleta in namestitev na računalnik/strežnik zato ne pomeni konca, ampak začetek projekta. Podobno kot moramo za spletni strežnik pripraviti vsebino - spletne strani, moramo tudi za Asterisk pripraviti potrebno okolje (konfiguracijo in gradnike). Prav uporaba oziroma možnost sestavljanja skript (scenarija zaporedja dogodkov za posamezno številko ali skupino) namesto uporabe predefiniranih funkcij na telekomunikacijskem sistemu prinaša bistveno drugačno zasnovo in prilagodljivost, s čimer lahko zagotovimo praktično poljubno funkcionalnost. Namesto predefiniranih funkcij telefonskega sistema imamo pri Asterisku zapisane »scenarije« delovanja, ki še najbolj spominjajo na programsko kodo. Med ukazi lahko najdemo pojme, kot so if, macro, gosub. Navedeno jasno kaže, da mora vsak, ki želi platformo izkoristiti in zagotoviti zanesljivo delovanje, imeti znanja s področij TCP/IP-omrežij (IP-naslavljanje, varnost), sistemske administracije (Linux), osnov telekomunikacij (tako klasičnih kot VOIP-sistemov), zelo dobrodošla so tudi »osnovna« znanja skriptnega programiranja – izkušnje kažejo, da je to področje še najmanj problematično, saj lahko večino potrebnih namigov najdemo v literaturi ali na spletu, zelo dobro pa je, če veste, kaj počnete. Vsekakor boste za bolj zapletene rešitve in samostojno reševanje problemov, ko bo do njih prišlo (vprašanje ni, če, ampak kdaj), potrebovali precej znanja in še več »kilometrine«.

Povezava datotek extensions.conf in sip.conf

GRAFIČNI VMESNIK VS. UKAZNA VRSTICA

V dosedanjih besedilih smo spoznali okolje grafičnega vmesnika in možnost dostopa prek ukazne vrstice, zato bomo na hitro ponovili potrebne osnove. Do strežnika z Asteriskom dostopamo prek grafičnega vmesnika s pomočjo spletnega brskalnika (http://ip_naslov_asterisk_strežnika), ki nam glede na distribucijo ponudi grafični vmesnik. Tudi če ima določena distribucija lasten vmesnik (na primer Elastix, Askozia), ima za konfiguriranje PBX-funkcionalnosti poleg »lastnega« dodan tudi »standardni« freePBX-vmesnik. Določene nastavitve so med obema vmesnikoma vidne, nekatere pa so lahko vidne le v enem ali drugem okolju. Da grafični vmesnik le sodi med zanimivejše aplikacije, lahko ugotovi tudi bralec ob prebiranju knjige Asterisk the defenitive guide, kjer je grafičnemu vmesniku namenjenih le nekaj strani, več kot 700 strani pa je namenjenih drugim področjem. Poleg že omenjene »potuhe« obstaja nevarnost, da se ob morebitni migraciji (na primer prenosu Asteriska z osebnega računalnika/strežnika na usmerjevalnik) na manj zmogljivo strojno opremo (na primer skromnejši procesor, skromnejši delovni pomnilnik, omejen bliskovni pomnilnik za shranjevanje) utegne zgoditi, da bo uporaba grafičnega vmesnika onemogočena. Pa bo konec veselja …

Dostop Asteriska prek ukazne vrstice omogoča popoln dostop. Na strežnik se lahko prijavimo lokalno ali prek lokalnega omrežja, na enak način kot v primeru katerega koli drugega strežnika z nameščenim Linuxom. V primeru uporabe Windows okolja lahko uporabimo za dostop brezplačni Putty (http://www.putty.org/). Spoznali smo, da večino Asteriskovih derivatov sestavljajo nujne sestavine, kot so operacijski sistem, Asterisk, baza, spletni strežnik in kopica orodij, ki lajšajo delo. No, ni čisto tako. Za delovanje Asteriska v vlogi komunikacijskega strežnika marsičesa sploh ne potrebujemo. Spletni strežnik običajno potrebujemo zaradi potrebe grafičnega vmesnika, Asterisk ima tudi lastno bazo, ki v večini primerov zadošča, še veliko je sestavin, ki niso nujne in jih je mogoče v primeru skromne strojne opreme po potrebi preprosto izpustiti, hkrati pa še vedno zagotoviti želeno funkcionalnost – a to je že daleč stran od omejenosti na ravni grafičnega vmesnika.

Če vsaj malo poznate strukturo Linuxa, veste, da so potrebne sistemske nastavitve običajno v imeniku /etc oziroma podimenikih. Asteriskove konfiguracijske datoteke najdemo v imeniku /etc/asterisk. V primeru povprečne distribucije lahko najdemo v tem imeniku več kot 150 konfiguracijskih datotek, ki se med seboj prepletajo. Včasih lahko zato traja nekaj časa, da odkrijemo vzrok za težave ali nepravilno delovanje. V takšnem primeru se prijavimo v Asteriskovo ukazno vrstico s pomočjo ukaznega niza asterisk -rcv (mogoči parametri se izpišejo s pomočjo ukaza asterisk -h) in ponovno izvedemo akcijo, ki nam povzroča težave. Če to ni mogoče, lahko poskusimo s ponovnim zagonom Asteriska, ki ga izvedemo s pomočjo ukaza za restart servisa (običajno /etc/init.d/asterisk restart).

Vnos parametrov v okolje grafičnega vmesnika pomeni zapis v eno od konfiguracijskih datotek.

PODATKI V REALNEM ČASU

Okolje Asteriskove ukazne vrstice se glede na nameščeno različico razlikuje. Ko se s pomočjo niza asterisk -rcv prijavimo v Asteriskovo »lupino«, vidimo tudi spremembo pozornika vrstice, ki dobi obliko ime_računalnika*CLI> in nam izpiše tudi podatek o trenutni različici. Videti je nekaj podobnega kot:

Asterisk 1.8.7.0, Copyright (C) 1999 - 2011 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
Connected to Asterisk 1.8.7.0 currently running on Elastix (pid = 2686)
Verbosity is at least 3

Podatek o različici Asteriska nam pove, kaj je (načelno) v nameščeni različici podprto in kaj ne. V novejših različicah je poleg novih funkcionalnosti podprta tudi uporaba drugačnega zapisa (na primer same), kar olajša delo, povečuje preglednost in zmanjšuje možnost napak. Okolje ukazne vrstice pa je dobrodošlo zaradi podajanja podatkov v realnem času, saj prav vsak dogodek izpiše ustrezen podatek, povezan s sosledjem dogodkov. Če želenega podatka ni, je treba vključiti še razhroščevanje (na primer sip set debug on), saj je vzrok za težave lahko tudi drugje. Vsekakor pa se v primeru morebitnih težav spomnite, kaj vam sistem izpiše.

DRUGAČE


Vse, česar ste se kot uporabnik Asteriska morda naučili prek grafičnega vmesnika, lahko koristno uporabite kot osnovo. Nobenih ovir tudi ni, da določenih funkcionalnosti ne zagotovimo s pomočjo grafičnega vmesnika in jih nato prek ukazne vrstice ustrezno spremenimo ter prilagodimo v skladu z našimi potrebami.

V dosedanjih besedilih smo se že srečali z osnovnimi pravili konfiguracijskih datotek (sestavljanje, pomen posameznih oznak, v katere avtomatsko generirane datoteke ne smemo ročno posegati), zato bomo v primeru posameznih zgledov ponovili le najnujnejše. Spoznali smo, da je ena od najpomembnejših Asteriskovih konfiguracijskih datotek datoteka extensions.conf, ki v povezavi z drugimi datotekami (extensions_additional.conf, extensions_custom.conf) definira delovanje klicev. SIP-uporabnike definira datoteka sip.conf in z njo povezane datoteke.

Okolje ukazne vrstice omogoča izvajanje skript v realnem času.

Začnimo s preprostim primerom in namesto vnosa uporabnikov prek grafičnega vmesnika (ki poskrbi za zapis v datoteko sip_additional.conf) s pomočjo urejevalnika vpišimo v datoteko sip_custom.conf

[100]
deny=0.0.0.0/0.0.0.0
secret=100asterisk
dtmfmode=rfc2833
canreinvite=no
context=from-internal
host=dynamic
type=friend
nat=yes
port=5060
qualify=yes
callgroup=
pickupgroup=
dial=SIP/100
mailbox=100@device
permit=0.0.0.0/0.0.0.0
callerid=device <100>
callcounter=yes
faxdetect=no

in

[101]
deny=0.0.0.0/0.0.0.0
secret=mojmikro101
dtmfmode=rfc2833
canreinvite=no
context=from-internal
host=dynamic
type=friend
nat=yes
port=5060
qualify=yes
callgroup=
pickupgroup=
dial=SIP/101
mailbox=101@device
permit=0.0.0.0/0.0.0.0
callerid=device <101>
callcounter=yes
faxdetect=no

S pomočjo teh vnosov smo na strežniku pripravili dva uporabnika - številki (100 in 101) z uporabniškim imenom (100 in 101) in pripadajočimi gesli (100asterisk in mojmikro101). Definirani uporabniki postanejo aktivni šele po osvežitvi konfiguracije, ki jo izvedemo s pomočjo ukazov asterisk -rcv in sip reload. Uspešnost vnosa lahko preverimo z ukazom sip show peers, ki nam kot rezultat izpiše novoustvarjeni številki. V primeru večjega števila uporabnikov lahko vnose uporabniških parametrov preprosto kopiramo in spremenimo le potrebne parametre, kar je bistveno hitreje kot vnos posameznega uporabnika prek grafičnega vmesnika. Delovanje lahko preverimo s prijavo sip-odjemalca (Zoiper, X-lite, Sjphone) na eno od obeh številk in vnosom številke 1234, ki nam predvaja besedilno sporočilo. Delovanje strežnika z Asteriskom v primeru klica na številko 1234 najdemo v datoteki extensions_custom.conf. Zapis, povezan s številko 1234, je za distribucijo Elastix videti takole:

exten => 1234,1,Playback(demo-congrats)
exten => 1234,2,Hangup()

Zaradi novejše različice lahko zapis spremenimo tako, da v okviru iste številke zapišemo same, številko in prioriteto pa nadomesti črka »n«:

exten => 1234,1,Playback(demo-congrats)
same => n,Hangup()

Če spremenimo še prvo vrstico in namesto demo-congrats vpišemo beep ter izvedemo osvežitev konfiguracije (reload), bomo ob ponovnem klicu na številko 1234 namesto sporočila slišali kratek pisk, ki je zapisan v datoteki beep. Spremenimo konfiguracijo številke 1234, da bo videti takole:

exten => 1234,1,Set(test=${EXTEN})
same => n,SayAlpha(${test})
same => n,Hangup()

Tako kot ob vsaki spremembi konfiguracije ne smemo pozabiti na ukaz reload. Ob naslednjem klicu na telefonsko številko bo strežnik zlogoval (v angleščini) številko uporabljene številke (1234). Uporabili smo Asteriskovo spremenljivko ${EXTEN} – klicno številko, ki jo je prevzela spremenljivka test. Ukaz SayAlpha pa je črkoval vrednost spremenljivke test (vrednost 1234). Da bo sistem povedal številko kličočega, je potrebna le sprememba v prvi vrstici. Spremenimo jo v:

exten => 1234,1,Set(test=${CALLERID(num)})

Spremenljivka test bo zdaj prevzela vrednost številke kličočega (${CALLERID(num)}), zato bo strežnik predvajal njegovo številko (v našem primeru 1_0_0). Spremenimo še drugo vrstico, da bo videti tako:

same => n,SayAlpha($test)

Tokrat bo rezultat klica na številko 1234 zlogovanje $_t_e_s_t. Ta primer tudi jasno kaže, da ni vseeno, če in kakšen oklepaj je na določenem mestu. Več o uporabi in pomenu posameznih predefiniranih Asteriskovih spremenljivk lahko najdemo tudi na spletni strani http://www.voip-info.org/wiki/view/Asterisk+variables.

FUNKCIJE IN APLIKACIJE

Asterisk smo na začetku tega besedila predstavili kot zmogljivo platformo za razvoj telekomunikacijskih storitev. Do seznama podprtih funkcij oziroma aplikacij lahko pridemo po prijavi (asterisk -rcv) in vnosu ukaznega niza core show funcitions oziroma core show applications. Če nas zanima določena funkcija, spomnimo pa se le dela njenega imena (na primer DTMF), lahko vpišemo core show applications like dtmf, ki nam izpiše vse aplikacije, ki vsebujejo v imenu niz DTMF (v našem primeru sta to aplikaciji SendDTMF in SIPDtmfMode). Ker nas zanima natančnejši opis in uporaba aplikacije SendDTMF, vpišemo v Asteriskovi ukazni vrstici core show application SendDTMF. Rezultat je kratek opis te aplikacije (pošlje DTMF-tone) in način delovanja, sintaksa zapisa ter dodatni parametri, ki jih lahko uporabimo.

Ena najpogostejših aplikacij je Dial. Z njeno pomočjo lahko poleg vzpostavitve klica izvedemo še drugo akcijo. Izvedemo lahko recimo klic na drugo številko ter predvajamo vsebino zvočne datoteke (parameter A(x) – x je ime datoteke) ali pošljemo niz DTMF-tonov (ki jih lahko uporabimo za postopek avtentikacije ali izbiro menijev sistema IVR) . To storimo z oblikovanjem nove številke 4321, ki bo vzpostavila klic na številko 110 in bo po eni sekundi čakanja (2 x 0.5 s (1 x w = 0.5 s)) predvajala DTMF tone 11357 (exten => 4321,1,Dial (SIP/100,D (ww11357*#))).

Nekatere distribucije ponujajo tudi veliko brezplačnih in plačljivih dodatkov.

BAZE

Asterisk se lahko povezuje z različnimi bazami (PostgreSQL, MySQL, Micsrosoft SQL). Za veliko primerov zadošča uporaba lokalne baze (AstDB), ki je zelo preprosta za uporabo in jo Asterisk že privzeto uporablja. To lahko hitro preverimo. Vsebino baze pregledamo iz Asteriskove ukazne vrstice z ukazom database show. Vrednosti zapisujemo v to bazo s pomočjo ukaza database put, ki mu sledijo parametri družine, ključa in vrednosti. Za test vnesimo dve vrednosti s pomočjo nizov:

database put mojmikro 100 5678
database put mojmikro 101 4321

Ukaz database show mojmikro pa nam izpiše:

/mojmikro/100 : 5678
/mojmikro/101 : 4321

Vrednosti v bazi lahko spremenimo s »prepisom«, izbrišemo pa z ukazom database del mojmikro ključ (100 oziroma 101).

Spremenimo zdaj konfiguracijo naše številke 1234, da bo videti tako:

exten => 1234,1,Answer()
same => n,SayNumber(${CALLERID(num)})
same => n,SayDigits(${DB(mojmikro/${CALLERID(num)})})
same => n,Hangup()

Če bo po osvežitvi konfiguracije izvedel klic na številko 1234 uporabnik 100, mu bo sistem posredoval številko 100 ter iz baze prebral vrednost 5678, v primeru uporabnika 101 pa bo povedal to številko in številko 4321.

KAM?

S preprostimi primeri, ki bodo vse bolj zapleteni, bomo nadaljevali tudi v naslednji številki. Srečali se bomo tudi z nekaterimi vprašanji, kot je recimo, katero je optimalno okolje za namestitev. Žal univerzalnega odgovora ni, saj je odvisen od zahtevnosti trenutnega projekta. Včasih bo zadostoval že ustrezno nadgrajen usmerjevalnik nižjega cenovnega razreda (velikostnega reda 50 do 100 evrov), drugič bo morda treba zagotoviti celo več strežnikov, v določenih primerih je lahko zanimiva rešitev namestitev v virtualizirano okolje. Ogledali si bomo tudi možnost, kako lahko s pomočjo Asteriska in Avm-jevega usmerjevalnika priključimo obstoječi ISDN-telefon na analogni priključek (Asterisk bo poskrbel za ustrezne pretvorbe), posneli bomo pogovor, s pomočjo strežnika bomo poklicali hkrati več uporabnikov in jim predvajali sporočilo, pa še kaj zanimivega se bo našlo. Pa prijetne počitnice.

Se nadaljuje …

Asterisk je na spletu dostopen brezplačno, prav tako so na voljo tudi različne brezplačne distribucije, ki Asterisk nadgrajujejo z različnimi dodatki. Prednost takšne distribucije je, da so sestavine distribucije že pripravljene in združene na ravni grafičnega vmesnika. Vseeno pa so določene funkcionalnosti, povezane z razširitvami, včasih povezane s plačilom licenčnine.

Asterisk je zmogljiva odprtokodna platforma za razvoj komunikacijskih storitev. Asterisk je razvit v programskem jeziku C ter je sestavljen iz osnovne aplikacije in velikega števila dodatnih/razširitvenih modulov. Modularna zgradba omogoča razvijalcem dodajanje novih funkcionalnosti s pomočjo dodajanja novih modulov.

Asterisk vključuje različne programske vmesnike, ki razvijalcem in sistemskim integratorjem omogočajo nadzor nad delovanjem Asteriska. Večina razvijalcev pa začne uporabljati konfiguracijske datoteke (DialPlan), ki omogočajo tudi izdelavo bolj zapletenih scenarijev delovanja.

Asterisk Dialplan je Asteriskov skriptni jezik, ki ga sestavljajo aplikacije in funkcije. Je relativno preprost in ima podobno strukturo kot programski jezik BASIC. Asterisku pove, kako naj procesira in usmerja klice.

Distribucije, namenjene delovanju Asteriska v vlogi telefonske centrale, imajo v večini primerov dodan vsaj en grafični vmesnik. Z njegovo pomočjo lahko uporabnikom brez posebnega poznavanja sistema oziroma platforme zagotovi želene funkcionalnosti.

Manj vešči uporabniki se usmerjajo predvsem v zagotavljanje želenih funkcionalnostih, pogosto pa pozabijo na druga vprašanja. Eno najpomembnejših je vprašanje varnosti in možnosti morebitnih zlorab sistema (stroški). Vprašanje pa je, ali lahko nekdo za sistem, ki ga pozna le prek grafičnega vmesnika in ne pozna celotne slike, z gotovostjo trdi, da je varen.

Moj mikro, Julij Avgust 2012 | Evan Ambrož |