Asterisk
Uit DeVliegendeWiki
Zie ook Asterisk CLI en AsteriskNOW.
Applicaties
Binnen Asterisk is een applicatie (application) een technische term, waarmee de functie bedoeld worden die tijdens een priority aangeroepen wordt.
Voorbeelden:
- Answer()
- Hangup()
- Playback()
Asterisk CLI
Zie artikel Asterisk CLI
AsteriskNOW
AsteriskNOW Is een kant-en-klare Linux-distributie met Asterisk, gebaseerd op rPath en CentOS. Zie artikel AsteriskNOW.
Bronnen
- http://en.wikipedia.org/wiki/Asterisk_%28PBX%29
- http://www.asterisk.org/
- http://www.voip-wiki.nl/doku.php?id=xs4all - Asterisk icm. een XS4All SIP-account
- http://www.voip-info.org/wiki/view/show+channels - show channels CLI-commando
Casus 1: SIP-oproep met welkomstboodschap
Dit is één van de makkelijkste configuratie die ik kan verzinnen:
- Bel met een softphone naar de Asterisk-server
- Asterisk-server neemt op
- Asterisk-server speelt een boodschap af
Casus 2: SIP-gesprek via Asterisk
Eén Asterisk-server en SIP-accounts op twee computers, en die twee accounts met elkaar laten babbelen
Casus 3: VoIP overnemen
Thuis heb ik VoIP van XS4All. Dat gaat middels één SIP-account. Dat account wordt nu gebruikt door mijn modem, waar vervolgens een analoge telefoon op zit (tip: Met behulp van een VoIP-enabled modem kun je analoge toestellingen gebruiken voor VoIP!). Dat VoIP-account wil ik configureren op een Asterisk-server, die er vervolgens meerdere accounts van maakt, zodat we gesprekken kunnen afhandelen op de volgende terminals:
- Softphone op workstation Hans
- Softphone op workstation Jeroen
- Softphone op mobieltje Jeroen
- Analoge telefoon op modem Hans
- Analoge telefoon op modem Jeroen
Contexts
Contexts zijn logische onderverdelingen van een dialplan, om het dialplan beheersbaar te maken. Met behulp van contexts zouden twee bedrijven een Asterisk-server kunnen delen, omdat de dialplans van elkaar gescheiden zijn dankzij contexts. De namen van contexten zijn gegeven binnen vierkante haken, en kunnen uit 79 alphanumerieke tekens bestaan (kleine letters en hoofdletters), en de underscore.
Er zijn twee speciale contexten:
- [general]: Bevat een lijst van algemene instellingen, die waarschijnlijk zelden of nooit gewijzigd hoeven te worden
- [globals]: Bevat globale variabelen?
Dialplan
Het dialplan (belplan) is het hart van een Asterisk-systeem, omdat het defineert hoe binnenkomende en uitgaande oproepen afgehandeld moeten worden. Het dialplan wordt bijgehouden in bestand extensions.conf, en bestaat uit contexten en extensies. De channel definitions in de bijbehorende bestanden (bv. sip.conf) bepalen hoe oproepen het dialplan binnenkomen.
Extensions
In telefonie betekent een extensie een nummer of lijn waarheen een oproep doorgeschakeld kan worden. Ook in Asterisk is een extensie de verwerking van een oproep, maar de mogelijkheden zijn uitgebreider omdat er een reeks van acties aan verbonden kunnen worden. De elementen van deze reeks heten priorities. Per priority kan een applicatie worden uitgevoerd, waarvan Answer() en Hangup() voorbeelden zijn. Extensies zijn gedefineerd binnen een context. Een voorbeeld van een extensie met priorities:
exten => 123,1,Answer() exten => 123,n,<speel welkomstboodschap af> exten => 123,n,<doe nog iets> exten => 123,n,<doe een laatste actie> exten => 123,n,Hangup()
extensions.conf
Het bestand extensions.conf bevat het dialplan. Het bevindt zich meestal op /etc/asterisk
FXO
FXO Is een analoge interface waarop het telefoonnummer van de telefoonprovider binnenkomt. De FXO-poort van de kaart in de computer verbind je dus met het varkenssnuitje. FXO Staat voor Foreign eXchange Office.
FXS
FXS is een analoge interface naar een terminal. Je sluit je telefoon dus aan op de FXS-poort van een interface-kaart. FXS Staat voor Foriegn Exchange Station.
Ideeën
- Welkomstboodschap
- Met elkaar kunnen bellen via deze terminals
- Gesprekken opnemen
- Gesprekken opnemen, die automatisch gekoppeld worden aan een dossier
- Welkomstboodschap, waarna gelijk alle telefoons overgaan, en mensen daarnaast een keuze kunnen maken, indien ze iets specifieks willen
- Telefoonnummers onthouden, zodat mensen de eerste keer een uitgebreidere tekst horen dan daaropvolgende keren
Installatie
Het commando
apt-get install asterisk
installeert Asterisk, maar het traditionele dialoogvenster verschijnt niet, en de geluidsbestanden zijn niet te vinden op de traditionele locatie (/var/lib/asterisk/sounds).
Op een computer waarop Synaptic is geïnstalleerd, kun je op de zoekterm 'asterisk' snel zien dat er veel geliëerde pakketten bestaan, waaronder asterisk-sounds-main en asterisk-sounds-extra. Misschien dat in recente versies van Asterisk de locatie van geluidsbestanden is gewijzigd?
Zie ook http://www.voip-info.org/wiki/view/How+to+install+Asterisk+1.4+and+FreePBX+2.3.1+in+Ubuntu+Linux
Microsoft Office Communication Server
- http://blog.tmcnet.com/blog/tom-keating/asterisk/asterisk-with-office-communications-server-2007.asp
- http://www.linuxforums.org/articles/look-out-asterisk-here-comes-microsoft-office-communications-server-2007_271.html
- http://www.os-voip.com/2008/06/asterisk-microsoft-office-communications-server-2007-integration/
- http://en.wikipedia.org/wiki/Microsoft_Office_Communications_Server
Selling points - Eind maart 2009
- Traditionele apparatuur is belachelijk duur en nodeloos gecompliceerd en vaak niet compatibel met andere apparatuur
- Asterisk is geschikt voor maatwerkoplossingen. Oplossingen kunnen geoptimaliseerd worden voor hele specifieke behoeftes
- Asterisk kan eindeloos schalen
- Onbegrensde mogelijkheden
- Asterisk is veiliger dan welk systeem dan ook
Open source-gerelateerd:
- Community-driven development, dus gestuurd door klantbehoeftes en niet de economsche behoeftes van een leverancier
- Ongeevenaarde interoperabiliteit met vrijwel alle mogelijke communicatieprotocollen en apparatuur
- Onafhankelijk voor uitbreiding: De mogelijkheid om zelf het product aan te passen of uit te breiden
- Onafhankelijk voor onderhoud/aanpassing: Er bestaan vele partijen die onderhoud kunnen verrichten
- Geen licentie-kosten of verplichte onderhoudscontracten
- Volgens "Crossing the Chasm" worde de waarde van een technologie systeem deels pas ontdekt na ingebruikname. Daarom is een open systeem aantrekkelijk
- Veel goedkoper dan vergelijkbare gesloten oplossingen, indien zulke oplossingen bestaan. Vuistregel: 1/10e van de kosten, volgens Linuxworld
- Veel flexibeler dan vergelijkbare gesloten oplossingen
- De verschillende functionaliteiten van Asterisk zijn allemaal open source. Je hebt dus geen risico dat een bepaalde kritieke functie ontbreekt. Gesloten oplossingen verliezen veel van hun waarde in zo'n situatie
- Goedlopende open-source projecten zijn onverslaanbaar: Closed-source ontwikkelaars kunnen nooit zoveel mankracht en creativiteit aanwenden. Asterisk is al een paar jaar het meest veelzijdige PBX-systeem ter wereld. Versie 1.2 en 1.4 van Asterisk, verschillen 4.000 updates
Functionele mogelijkheden:
- Keuzemenu's
- Voicemail
- Gesprekken kunnen opgenomen worden
- Gratis voor onderlinge gesprekken. Ook als dit wereldwijd is
- Je bent niet gebonden aan locatie voor ontvangen van gesprekken op vaste toestellen
- Text2Speech. Bv. om e-mails voor te laten lezen of tekst-surfen
- Binnenkomende gesprekken kunnen alle telefoons laten rinkelen, inclusief mobiele telefoons (via softphones of bridges). Ook zakelijke telefoons die bij mensen thuis staan. Belangrijk als je een snelle response wilt (bv. altijd opnemen binnen drie keer overgaan)
- Telefoonnummer kunnen uitkomen op softphones op laptops of mobieltjes van mensen. In het eerste geval kunnen mensen wereldwijd gratis bellen via de zaak
- Per land automatisch de meest voordelige carrier select selecteren
- Per gebruiker kun je rechten instellen, zoals het soort van nummers waarnaar gebeld kan worden
- Conference-calling (afhankelijk van aantal externe lijnen)
- Kan naadloos uitgebreid worden met additionele lijnen, waaronder VoIP-lijnen
- Music On Hold
- Asterisk heeft interfaces voor koppeling met andere programmatuur
- Hot-desking: Je telefoonnummer verhuist met je mee van locatie naar locatie.
- Synchronisatie van adresboeken van mobieltjes en desktop-telefoons
- Call Detail Recording (CDR): Standaard uitgebreide logging
- Mogelijkheid om via een browser je CDR en adresboeken te beheren
- Voicemail per e-mail ontvangen
- Videobellen & videoconferencing
sip.conf
Het bestand sip.conf (doorgaans op de locatie /etc/asterisk/sip,conf) bevat de configuratie van sip-devices. Dat kunnen zowel SIP-telefoon, SIP-softphones als SIP-telefoonnummers (bv. van XS4All) zijn.
Meestal heb je al snel een softphone nodig om je Asterisk-server te testen:
[softtestphone]
type=friend
context=phones
host=dynamic
Dit is zo'n beetje de eenvoudigste configuratie die je kunt hebben. In detail:
De naam van het betreffende device is gegeven op de eerste regel. Je kunt tot 255 karakters gebruiken, waaronder cijfers en letters. Ik weet niet of het hoofdlettergevoelig is:
[softtestphone]
De instelling type geeft aan of het device gebruikt wordt voor binnenkomend verkeer, uitgaand verkeer, of beide. Bij twijfel is friend het handigst:
type=user ; Alleen geconfigureerd voor binnenkomend verkeer type=peer ; Alleen geconfigureerd voor uitgaand verkeer type=friend ; Geconfigureerd voor binnenkomend en uitgaand verkeer
Softphones
Softphones voor Linux die specifiek geschikt zijn om met Asterisk te werken:
- Ekiga: Standaard-softphone onder Gnome
- Gizmo
- Linphone
- Kiax (AIX-softphone)
- Twinkle
Voor Windows:
- X-Lite is een softphone van het bedrijf CounterPath. Het is gratis, maar geen open-source.
Bron: http://www.go2linux.org/linux-softphones-review-best-free
Sound files
Er was een tijd dat bij een installatie van Asterisk in /var/lib/asterisk een groot aantal geluidsbestanden werden geplaatst. Het lijkt erop dat tijdens een installatie middels apt-get install asterisk deze niet worden meegeleverd, of (waarschijnlijker) op een andere locatie worden ondergebracht.
- Middels FTP zijn deze bestanden binnen te hengelen vanaf http://downloads.asterisk.org/pub/telephony/sounds/
- Additionele bestanden: http://www.voip-info.org/wiki/view/Asterisk+sound+files+additional
Bron: http://www.voip-info.org/wiki/view/Asterisk+sound+files
Starten & herstarten
Na een standaardinstallatie wordt Asterisk meestal bij opstarten automatisch gestart. Tijdens configuratiewerkzaamheden is het waarschijnlijk handig om Asterisk via de CLI te starten en te herstarten.
Voor help:
asterisk -h
Stel het niveau van verbosity in aan de hand van het aantal v'tjes. Bv.:
asterisk -vvv
Start de Asterisk-console:
asterisk -c
Om Asterisk inclusief CLI te herstarten:
asterisk -r
Of bv.:
asterisk -vvvvr
Let op: hierbij worden niet de configuratiebestanden opnieuw gelezen! Gebruik daarvoor het CLI-commando
reload
