Asterisk The Open Source PBX Phil Sutter UnFUCK 21. Juni 2008 Phil Sutter ( UnFUCK ) Asterisk 1 / 27
Gliederung 1 Grundlegendes 2 Asterisk im Detail 3 Konfiguration von Asterisk 4 Anbindung ans ISDN-Netz 5 Sonstige Spielereien Phil Sutter ( UnFUCK ) Asterisk 2 / 27
SYN Gliederung 1 Grundlegendes 2 Asterisk im Detail 3 Konfiguration von Asterisk 4 Anbindung ans ISDN-Netz 5 Sonstige Spielereien Phil Sutter ( UnFUCK ) Asterisk 3 / 27
SYN Was ist Asterisk Open Source Software-Telefonanlage 1999 von Mark Spencer entwickelt modularer Aufbau Phil Sutter ( UnFUCK ) Asterisk 4 / 27
SYN Telefonanlagen lokales Telefonnetz (interne Gespräche, Durchwahlen, Vermittlung) Verwalten mehrerer Leitungen funktionale Erweiterung von Endgeräten Phil Sutter ( UnFUCK ) Asterisk 5 / 27
SYN Telefonanlagen in Software preisgünstige Alternative komfortable Konfiguration häufige Aktualisierungen und Erweiterungen Phil Sutter ( UnFUCK ) Asterisk 6 / 27
* Gliederung 1 Grundlegendes 2 Asterisk im Detail 3 Konfiguration von Asterisk 4 Anbindung ans ISDN-Netz 5 Sonstige Spielereien Phil Sutter ( UnFUCK ) Asterisk 7 / 27
* Architektur unterteilt in Kern und (dynamisch ladbare) Module vier Modul-APIs: Applikationen, Kanäle, Codecs, Dateiformate Phil Sutter ( UnFUCK ) Asterisk 8 / 27
* Applikationen in Asterisk laufende Anwendungen Großteil der Funktionalitäten sind Applikationen Beispiele: Anrufbeantworter, Warteschlangen, Ausführen externer Programme Phil Sutter ( UnFUCK ) Asterisk 9 / 27
* Kanäle Kommunikationsprotokolle teils Abhängig von physikalischen Technologie Beispiele: sip, iax2, gsm, misdn, zaptel Phil Sutter ( UnFUCK ) Asterisk 10 / 27
* Codecs Audioformate manche proprietär, teils Kanalabhängig Beispiele: alaw, gsm, ilbc Phil Sutter ( UnFUCK ) Asterisk 11 / 27
* Dateiformate Töne in Dateien... Phil Sutter ( UnFUCK ) Asterisk 12 / 27
conf Gliederung 1 Grundlegendes 2 Asterisk im Detail 3 Konfiguration von Asterisk 4 Anbindung ans ISDN-Netz 5 Sonstige Spielereien Phil Sutter ( UnFUCK ) Asterisk 13 / 27
conf Was ist wo /etc/asterisk: extensions.conf Wählplan modules.conf (nicht) zu ladende Module iax.conf IAX2-Konfiguration sip.conf SIP-Konfiguration voicemail.conf Anrufbeantworter...... Phil Sutter ( UnFUCK ) Asterisk 14 / 27
conf extensions.conf Liste von Kontext-Definitionen (Bsp: [intern] ) je Kontext Liste von Extensions ( exten =>... ) Definition von Makros möglich (Bsp: [macro-test] ) alternative Syntax (C-Stil) möglich Phil Sutter ( UnFUCK ) Asterisk 15 / 27
conf Kontexte benannte Gruppen von Nebenstellen isolierte Aufteilung des Wählplans Syntax: [Kontext_Name] Phil Sutter ( UnFUCK ) Asterisk 16 / 27
conf Extensions Bestehen aus drei Komponenten: Name oder Nummer Priorität Anwendung Syntax: exten => <NUM>,<IDX>,<CMD> Phil Sutter ( UnFUCK ) Asterisk 17 / 27
conf Makros Definition ähnlich wie Kontext, Syntax: [macro-<name>] Extensions haben alle s als Nummer werden mit Macro()-Anweisung angesprungen Phil Sutter ( UnFUCK ) Asterisk 18 / 27
conf extensions.conf Beispiel [default] exten => s,1,dial(sip/10, 30) exten => s,2,dial(sip/20, 30) exten => s,3,macro(new-voicemail) exten => 666,1,Macro(read-voicemail) exten => _00Z.,1,SetCallerId(12345) exten => _00Z.,2,Dial(Sip/${EXTEN} exten => _00Z.,3,Hangup() exten => _XZ.,1,SetCallerId(54321) exten => _XZ.,2,Dial(MISDN/1/${EXTEN} exten => _XZ.,3,Hangup() Phil Sutter ( UnFUCK ) Asterisk 19 / 27
conf extensions.conf Beispiel (Fortsetzung) [macro-new-voicemail] exten => s,1,voicemail(incoming) exten => s,2,hangup() [macro-read-voicemail] exten => s,1,voicemailmain(incoming) exten => s,2,hangup() Phil Sutter ( UnFUCK ) Asterisk 20 / 27
conf sip.conf Beispiel [general] context=default bindport=5060 bindaddr=0.0.0.0 [10] type=friend secret=xxx language=de host=dynamic disallow=all allow=ulaw allow=alaw... Phil Sutter ( UnFUCK ) Asterisk 21 / 27
ISDN Gliederung 1 Grundlegendes 2 Asterisk im Detail 3 Konfiguration von Asterisk 4 Anbindung ans ISDN-Netz 5 Sonstige Spielereien Phil Sutter ( UnFUCK ) Asterisk 22 / 27
ISDN Voraussetzungen ISDN-Anschluss ;-) Karte: günstig (HFC), teuer (AVM B1) oder sehr teuer (T1) zu Karte, Kernel und Schmerzresistenz passendes Channel-Modul Phil Sutter ( UnFUCK ) Asterisk 23 / 27
ISDN Tipp: CologneChip s HFC preislich ca. 20 Euro (PCI) Treiber: CAPI (Kernel-2.6), misdn, visdn, Zaptel für normale Anwendungen ausreichend Phil Sutter ( UnFUCK ) Asterisk 24 / 27
Asterisk++ Gliederung 1 Grundlegendes 2 Asterisk im Detail 3 Konfiguration von Asterisk 4 Anbindung ans ISDN-Netz 5 Sonstige Spielereien Phil Sutter ( UnFUCK ) Asterisk 25 / 27
Asterisk++ intelligenter Anrufbeantworter mit WaitForSilence() Least-Cost-Routing für Telefonate InterPBX -Kommunikation (IAX2!) ENUM Asterisk-Console (asterisk -c -r) Phil Sutter ( UnFUCK ) Asterisk 26 / 27
FIN Links http://asterisk.org http://voip-info.org http://colognechip.com Phil Sutter ( UnFUCK ) Asterisk 27 / 27