Joren Claus Tim Vanden Schrieck 18 november 2008
Inhoudsopgave 1
Eindverslag 1.1 Doel . . . . . . . . . . . . . . . . . . . . . . 1.2 Resultaat . . . . . . . . . . . . . . . . . . . 1.3 Gepresteerde uren . . . . . . . . . . . . . . 1.4 Disseminatie . . . . . . . . . . . . . . . . . 1.5 Toegevoegde waarde . . . . . . . . . . . . 1.6 Wat hebben we bijgeleerd? . . . . . . . . . 1.6.1 Asterisk . . . . . . . . . . . . . . . 1.6.2 Werken met linux . . . . . . . . . . 1.6.3 OpenVPN . . . . . . . . . . . . . . 1.6.4 Het gebruiken van perl in asterisk 1.6.5 Festival . . . . . . . . . . . . . . . . 1.6.6 Troubleshooting . . . . . . . . . . . 1.6.7 Productief werken in teamverband 1.6.8 Latex . . . . . . . . . . . . . . . . . 1.7 Problemen . . . . . . . . . . . . . . . . . .
1
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
2 2 2 3 3 3 4 4 4 4 4 4 4 5 5 5
Hoofdstuk 1
Eindverslag 1.1
Doel
• Ervaring op doen met Asterisk en de daarbij komende aspecten zoals het sip protocol, scripting. • Aantonen aan de hand van een HowTo dat het niet zo moelijk is om een basis configuratie van Asterisk te doen werken. • Zoveel mogelijk aspecten van Asterisk uit te proberen. Opzetten van een VPN waardoor Asterisk toegankelijk is voor bijvoorbeeld thuiswerkers.
1.2
Resultaat
We zijn er in geslaagd een werkende Asterisk server op te zetten, uitgaande van een fictief bedrijf. Daarnaast hebben we ook een vpn server opgezet. Met de bedoeling dat mensen van thuis uit ook kunnen connecteren met de Asterisk server. Met onze Asterisk server is het mogelijk om intern en extern te telefoneren. Er is ook een interactief menu aanwezig met allerlei elementen zoals voicemail, music on hold, ... Aspecten zoals telefoonboek beheer en wachtrij beheer hebben we niet moeten uitwerken. Deze functionaliteiten waren reeds aanwezig in onze softphone en in Asterisk zelf. Behaalde resultaten: • IVR (menu) • no-ip • Openvpn • Voicemail • AGI • Bellen naar externe lijnen • Intern bellen 2
• Templates in sip.conf • Macro’s in extensions.conf • Festival • Music on hold • Bellen met video support • ...
1.3
Gepresteerde uren
132 uren +/-
1.4
Disseminatie
Een uitgebreide HowTo is beschikbaar via de wiki van khleuven. Om ervoor te zorgen dat deze HowTo ook nog beschikbaar is nadat we hier afgestudeerd zijn gaan we dit bestand ook hosten op een telenet account. In de HowTo zijn al onze configuratie bestanden terug te vinden. Onze HowTo is geschreven zodat beginners Asterisk kunnen gebruiken, alsook voor iets geavanceerdere toepassingen zoals de macro’s en templates. Onze HowTo mag vrij gekopi¨eerd en aangepast worden door iedereen die dit wenst. • Wiki-pagina: https://wikis.khleuven.be/sip/index.php/Asterisk • Eigen hosting: http://www.asterisk-how-to.tk/
1.5
Toegevoegde waarde
Voice over ip (VoIP) is een protocol dat momenteel aan een opmars bezig is. Dit samen met het feit dat analoge telefooncentrales aan het uitsterven zijn, maakt dat Asterisk en varianten de toekomst zijn van de telefonie. VoIP in combinatie met Asterisk is een veel goedkopere oplossing dan de installatie van analoge telefooncentrales als ook de commerci¨ele VoIP oplossingen. In ons project hebben we aangetoond dat het niet zo moeilijk is om dit systeem te integreren in een bedrijf. Met ons project hebben we ook bewezen dat het mogelijk is om dergelijk systeem op te zetten zonder enige voorkennis van telefonie en VoIP binnen een beperkte tijdspanne en met beperkte middelen.
3
1.6 1.6.1
Wat hebben we bijgeleerd? Asterisk
Voor we begonnen aan dit project had geen van ons beiden enige voorkennis van Asterisk of VoIP in het algemeen. Nu hebben we leren werken met Asterisk en hebben we een basiskennis over het VoIP gebeuren. Aangezien Asterisk volledig onbekend was voor ons, hebben we op dit domein veel geleerd. De belangrijkste dingen die we geleerd hebben zijn: • De syntax waar Asterisk gebruik van maakt • Configureren & beheren van een Asterisk systeem • Werken met de CLI van Asterisk
1.6.2
Werken met linux
We hebben geleerd hoe we iets kunnen compileren en installeren van de broncode en alle problemen die hierbij kwamen kijken zoals ontbrekende bibliotheken, defecte packages, slechte configuratie, ... Het gebruik van dpkg in linux. Het aanmaken en werken met certificaten(OpenSSL)
1.6.3
OpenVPN
De installatie en configuratie van een open vpn systeem. In ons geval een vpn server op onze linux computer en verschillende windows clients. Het verschil tussen een routed vpn en een switched vpn. Het troubelshooten van problemen.
1.6.4
Het gebruiken van perl in Asterisk
We hebben perl gebruikt voor het maken van scripts. De scripts hebben we dan in het dialplan van Asterisk gebruikt. Ook hier moesten we de nodige bibliotheken voor installeren.
1.6.5
Festival
In het dialplan van Asterisk maken we gebruik van Festival. Dit is een programma dat toelaat tekst om te zetten naar geluid.
1.6.6
Troubleshooting
Tijdens het werken aan ons project hebben we veel bijgeleerd over troubelshooting. Hoe we best een probleem aanpakken en er een oplossing voor vinden. Dit gaat gepaard met het gebruiken en begrijpen van log files en kunnen werken met google.
4
1.6.7
Productief werken in teamverband
Een project gaat meestal gepaard met het werken in teamverband. Hierbij moet je jezelf open stellen voor de andere teamgenoten. Je moet goede afspraken en planningen maken. Luisteren naar elkaars voorstellen en in groep overleggen over bepaalde beslissingen is heel belangrijk.
1.6.8
Latex
Voor het schrijven van dit eindverslag en onze HowTo hebben we gebruik gemaakt van latex. Met latex is het eenvoudig om verslagen te schrijven en deze makkelijk om te vormen naar bijvoorbeeld een pdf. Het grote voordeel is dat je zelf geen werk in de layout moet steken, je moet er enkel voor zorgen dat je de syntax respecteert.
1.7
Problemen
Zoals in elk project kom je wel eens wat problemen tegen. De meeste problemen die wij zijn tegengekomen hebben we kunnen oplossen. Hier een lijst met de noemenswaardige problemen: • Installatie Asterisk: problemen compilatie, ontbrekende bibliotheken • Mailservers: er voor zorgen dat een lokale mail server mail kan versturen naar een externe smtp server • Openvpn: aanmaken certificaten, openvpn op windows vista • Firewall: forwarding van poorten • No-ip.org: automatiseren van de no-ip client
5