Voice over IP unter Linux Asterisk - The Open Source Linux PBX Rainer Sennwitz <Rainer.Sennwitz@andariel.informatik.uni-erlangen.de> Department of Computer Science VII 1
Überblick Asterisk - Der Name Begriff PBX Entwicklung von Asterisk Kompatible Hardware zu Asterisk Features Aufbau Konfiguration Anwendungsbeispiel asterisk@home Zusammenfassung Quellen Department of Computer Science VII 2
Asterisk - Der Name Asterisk Asterix? Übersetzung aus dem Englischen: Sternchen Bezug auf Wildcards * Ausdruck von Flexibilität Department of Computer Science VII 3
Begriff PBX Private Branch exchange Deutsch: Nebenstellenanlage Eine Nebenstellenanlage ist eine private Vermittlungseinrichtung, die mehrere Endgeräte wie zum Beispiel Telefon, Fax, Anrufbeantworter sowohl untereinander als auch mit dem öffentlichen Telefonnetz verbindet. (Wikipedia) Department of Computer Science VII 4
Entwicklung von Asterisk Geschichte: Jim Dixon: Open Source Telefoniehardware (Zapata) und dazugehörige Treiber für OpenBSD Portierung nach Linux Marc Spencer Konzept von Asterisk Überarbeitung der Linuxtreiber Heute: Open Source (Projektleitung weiterhin durch Marc Spencer) Unterstützung durch Digium Department of Computer Science VII 5
Kompatible Hardware zu Asterisk Digium http://www.digium.com/ Beronet http://www.beronet.com/ Vertrieb von Digium Hardware in Deutschland Junghanns.net http://www.junghanns.net/asterisk/ Erweitertes Sortiment an ISDN Hardware Department of Computer Science VII 6
Features Vielfalt an Schnittstellen Hardware Software (Channel API) Conferencing Voicemail Forwarding Menüführung Konsole Department of Computer Science VII 7
Aufbau Modulare Architektur Meetme Voicemail Dialing MoH Application API Scheduler I/O Manager Codec API GSM MP3 ilbc PBX Core Transcoder Module Loader Channel API SIP H.323 ISDN Department of Computer Science VII 8
Konfiguration asterisk.conf Verzeichnispfade (z.b. Logs, Konfiguration, MoH Dateien) extensions.conf Dialplan iax.conf Optionen zur Verbindung mehrerer Asterisk Systeme sip.conf / h323.conf zaptel.conf / zapata.conf Eingliederung von Zapata Hardware meetme.conf Liste von gültigen Konferenzräumen Department of Computer Science VII 9
extensions.conf Zentrale Konfiguration der Wählabläufe Einfache, aber effiziente Gliederung: Context Extension Priority Beispiel: [default] exten => _087,1,SayDigits(${EXTEN}) exten => _087,2,Dial(IAX2/andariel:f74j32@faui08r) Department of Computer Science VII 10
iax.conf Inter-Asterisk exchange Beispiel: [andariel] type=user host=131.188.30.242 secret=f74j32 context=default Department of Computer Science VII 11
sip.conf Verbindungseinstellungen Authentifizierung Codecs Registrierung bei SIP Gateways Beispiel: [general] context = sip register => andariel:348hv03@sipgate.co.uk/exten Department of Computer Science VII 12
zaptel.conf Konfiguration der Hardware Beispiel: fxoks=1 fxsks=4 loadzone = nl defaultzone=nl TDM400P Department of Computer Science VII 13
zapata.conf Parameter für die einzelnen Kanäle Zuweisung an einen Zaptel Channel Beispiel: context=default signalling=fxs_ks rxgain=0.0 txgain=0.0 channel => 4 Department of Computer Science VII 14
Anwendungsbeispiel Department of Computer Science VII 15
asterisk@home Minimales Linux mit Asterisk Einfache Konfiguration hilfreiche Administrationstools Department of Computer Science VII 16
Zusammenfassung Nachteile: Verhältnismäßig hoher Konfigurationsaufwand Vorteile: Hohe Flexibilität durch Modularisierung leicht erweiterbar Zahlreiche Schnittstellen Department of Computer Science VII 17
Quellen http://www.asterisk.org/ http://www.asteriskdocs.org/ http://www.digium.com/ http://www.voip-info.org/ http://asteriskathome.sourceforge.net/ heise ix 11/2004 (Thorsten Krüger, Dieter Michel) Department of Computer Science VII 18