Asterisk is een open source op IP gebaseerde PBX software-applicatie, die draait op Linux en andere Unix-achtige systemen. Het is de laatste jaren erg bekend geworden, maar tegelijkertijd heeft het de reputatie gekregen dat het moeilijk te installeren en te configureren is. Dus besloten we om het eens uit te proberen. We moeten er wel bij vertellen dat versie 1.4 tijdens het schrijven van dit artikel de actuele versie was. 1.6 is wel beschikbaar, maar alleen als bèta. Daarom hebben we die voorlopig nog vermeden.

We hebben Asterisk geïnstalleerd op onze splinternieuwe 64-bit AMD server, met 2GB RAM en Fedora 10. Je kunt de pakketten draaien als een standalone interne PBX, maar je kunt ze ook verbinden met de buitenwereld. Dat laatste kan via IP-gebaseerde mechanismen als SIP of via PSTN. Als je voor de laatste kiest, dan heb je natuurlijk de juiste adapterkaart nodig.

Pakketten

Hoewel je voorgecompileerde pakketten kunt downloaden en installeren, of zelfs de AsteriskNOW kunt gebruiken, hebben we toch, optimistisch als we zijn, gekozen voor de lastigere route. We hebben de broncode gedownload, die we daarna moesten compileren en installeren.

Om die weg te bewandelen moet je wel hebben gekozen voor de Software Development componenten, tijdens het installeren van Linux (maar als je dat niet hebt gedaan, dan is dat achteraf nog makkelijk toe te voegen).

Je moet vijf bestanden downloaden vanaf de Asteriskwebsite:

- de Asterisk broncode, plus een tweede bundel met add-ons;

- de DAHDI bibliotheek (daarover later meer), plus een apart bestand met add-ons;

- de LibPRI bibliotheek.

DAHDI en LibPRI zijn drivermodules die Asterisk gebruikt om te kunnen werken met de adapterkaarten die verbinden met de A PSTN. DAHDI is de Digium Asterisk Hardware Device Interface. Digium is zowel de sponsor van de ontwikkeling van Asterisk als wel een leverancier van adapterhardware die voor PSTN connectiviteit zorgt. Het zal je niet verbazen dat de verschillende kaarten in het assortiment van Digium worden ondersteund door Asterisk. Maar andere merken zijn vaak ook compatibel (Het O’Reilly handboek voor Asterisk noemt bijvoorbeeld Rhino, Sangoma, Voicetronix en Pika.).

Hoewel het buildproces met de hand moet worden uitgevoerd en gebaseerd is op de Linux/Unix commandline, is het niet iets om bang voor te zijn, zolang je maar aan drie basale voorwaarden voldoet:

- je kunt overweg met de basale navigatie op Unix of DOS (wat betekent dat je niet veel meer hoeft te kunnen dan te cd-en naar een andere directory);

- je kunt een textfile lezen;

- je bent in staat om te doen wat de inhoud van de tekstfile van je vraagt.

Het compilatieproces is simpel en gaat redelijk snel, hoewel het bouwen van de Asterisk executables zelf zeker vijf minuten in beslag neemt, omdat het er behoorlijk wat zijn. Ben je daar eenmaal mee klaar, dan typ je gewoon make install (om de files te installeren) en make config (om de scripts te installeren die het opstarten en afsluiten van Asterisk verzorgen) en dan ben je klaar.

Tekstgebaseerde configuratie en GUI

Er zijn twee manieren om Asterisk te configureren: door de tekstgebaseerde configuratiefiles met de hand te editen, of door het installeren van een extra pakket, de Asterisk GUI. De documentatie over hoe je dit moet doen is uitstekend en alweer is de installatie erg simpel, al moet het met behulp van de commandline. Hier moet wel worden aangetekend dat het downloadcommando in de documentatie verouderd is. Dat moet svn zijn, voor Subversion.

Om een basale interne PBX geconfigureerd te krijgen is het waarschijnlijk het makkelijkst om de juiste configuratiefiles te editen. Hoewel er een heleboel files zijn, hoef je er maar twee aan te passen. Als je het iets complexer wilt maken, zoals het opzetten van PSTN hardware of als je extern wilt gaan met SIP, en/of als je de extra features wilt, zoals call routing, ACD, voicemail, dan komt de GUI goed van pas, omdat die het leven prettig en grafisch en makkelijk maakt (bovendien laat die het mooi zien als een van de dingen die je hebt geconfigureerd nog niet kan werken omdat het van iets afhankelijk is dat je nog niet hebt opgezet). De GUI is er goed, met veel fijne client-side functionaliteit en een goede layout.

Moeilijke documentatie

We zeiden al dat het installatieproces heel soepel verliep, en dat je goed begeleid wordt, dus hoe zit het met de documentatie voor het configureren van het pakket? Helaas is dat de zwakke plek van dit product. We denken dan ook dat de reputatie van Asterisk dat het moeilijk is, voor het grootste deel te danken is aan het feit dat de documentatie te gecompliceerd is. Ga je naar de documentatiepagina van Asterisk dan krijg je zelfs een melding dat de docs worden bijgewerkt en dat er in 2009 een nieuwe site komt. Maar dat is geen heel grote handicap, omdat er een link bij staat die je toegang geeft tot een gratis download van het hele O’Reillyboek over Asterisk!

Dus waarom, zo horen we je roepen, zeuren we dan over de docs, als we het hele O’Reillyboek tot onze beschikking hebben? Dat is heel simpel. Het is een goed boek, maar er is ook documentatie nodig die op een wat lager niveau begint, anders hebben nieuwelingen nauwelijks een kans om op gang te komen. Want hoewel de tutorials laten zien wat je moet doen, gaan ze niet in op waarom je het moet doen en wat de verschillende termen betekenen. Het boek is vooral handig als je al wat ervaring hebt, maar dan nog moet je hier en daar toch nog wat termen opzoeken. Als iemand er wat mooie plaatjes aan toe zou voegen, samen met een aantal inleidende hoofdstukken die je uitleggen hoe de verschillende configuratiefiles zich tot elkaar verhouden, dan zou dat heel fijn zijn.

Overigens verkeert het boek over Asterisk wat dit betreft in goed gezelschap. Microsoft doet precies hetzelfde met de MSDN documentatie repository. Die zit vol met bruikbare voorbeelden en tutorials die geweldig zijn als je de basiskennis al hebt, maar waar je minder aan hebt als je niet precies doet wat de voorbeelden je voorschotelen.

Ontzettend krachtig

Al met al is Asterisk een behoorlijk geweldig stukje software. Als je het gebruikt is het wel verstandig om jezelf te beperken tot de hardware van Digium, hoewel die waarschijnlijk niet zo open is als je zou willen, maar we zitten nu eenmaal in een specialistisch gebied. We hebben het immers over PSTN interfaces en niet over dertien-in-een-dozijn Ethernet adapters, dus daar doen we niet zo moeilijk over. Bovendien wordt ook andere hardware ondersteund, als je die zou willen gebruiken. En ja, er is een karrenvracht aan configuratieoperaties nodig, maar dat komt doordat de software zo ontzettend krachtig is en je kunt al die mooie features nu eenmaal niet krijgen zonder ze eerst in te stellen. Het enige nadeel van Asterisk is de te geavanceerde documentatie, maar je krijgt er tenminste het O’Reillyboek gratis bij. En voor het simpelere werk heb je ook nog altijd Google (er zijn genoeg kleinere sites en forums die over Asterisk gaan en die hebben over het algemeen behoorlijk veel informatie).

Het kwartje is gevallen

We begonnen met deze review met de veronderstelling dat het waarschijnlijk nauwelijks te doen zou zijn om Asterisk binnen twee weken aan de praat te krijgen. Maar eigenlijk hadden we maar een halve dag nodig om met een Google-tweak-RTFM-tweak-vloek-tweak-cyclus Asterisk onder de knie te krijgen. Toen viel het kwartje en begonnen we door te krijgen hoe het werkte. Nu weten we zeker dat Asterisk heel erg de moeite waard is en dat de gemiddelde techie, met wat geduld en een paar uur de tijd tot zijn beschikking, de beginselen ervan snel door zal hebben.

Bron: Techworld