===== Allgemein ===== * Asterisk ist modular aufgebaut * jedes Modul hat ein eigenes Konfig-File * jedes Modul hat eigene Befehle auf der Kommandozeile ===== Module ===== ^Name ^Beschreibung ^ |sip|Zuständig für SIP \\ \\ Konfig: sip.conf| |core|Kernmodul| |console|Stellt die Konsole für die Kommunikation mit der Asterisk zur Verfügung| ===== Parameter ===== ^Parameter ^Beschreibung ^ ===== Dateien ====== ^Name ^Inhalt ^ |extension.conf|Dial-Plans| |sip.conf|Konfiguration SIP-Teilnehmer| ==== extension.conf ==== * Ist der Dialplan der Asterisk (es gibt noch die extensions.ael und die Möglichkeit den Diaplan über eine Datenbank zu realsieieren) * Besagt was mit einem eingehenden Ruf gemacht werden soll * Es wir die Wahlregel genutzt die am genausten auf die Nummer passt * die präziseste Wahlregel wird genutzt * es wird **nicht** danach gegangen in welcher Reihenfolge die Regeln im Dialplan stehen * außer wenn es sich um die gleiche Regel mit unterschiedlichen Prioritäten handelt -> dann wird der Priorität nach abgearbeitet \\ \\ Grund-Aufbau: [Context] Wahlregel1 Wahlregel2 \\ **Context:** \\ Unterteilt den Dialplan in Bereiche die jeweils nur bestimmten Extensions zugänglich sind. \\ \\ Jede Extension gehört mindestens einem Dialplan an (wenn nichts angegeben wurde, dann "Default"). Der Context wird jeder Extension in ihrer protokollspezifischen Datei zugewiesen. \\ \\ Es werden bei eingehenden Rufen dieser Extension nur die Wahlregeln berücksichtigt die innerhalb des für die Extension gültigen Context stehen. \\ \\ \\ **Wahlregel:** \\ Syntax: exten => //Extension//,//Priorität//,//Application// \\ \\ Beispiel1: \\ exten => 202,1,Dial(SIP/201,20) \\ exten => 201,2,VoiceMail(201) \\ \\ Beispiel2: \\ exten => _n*,n,Dial(SIP/${exten},20) \\ exten => _n*,n,VoiceMail(${exten}) * **Extension**: Nummer gegen die geprüft wird; Stimmt die gewählte Nummer (Zielrufnummer/exten/Extension) mit der hier angegebenen überein wird die Regel ausgeführt. Statt einer Nummer kann auch ein regular Expression angegeben werden (die stimmen nicht mit den POSIX-Regexp überein) * **Priorität:** Die Einträge werden der Priorität nach abgearbeitet (Aufsteigend -> Einträge mit niedrigen Werten zuerst). Ist ein Eintrag nicht erfolgreich (Ruf wird abgelehnt, oder der für die Applikation angegebene Timeout läuft ab) wird der nächste Eintrag benutzt . Statt einer Ziffer kann auch n angegeben werden, dann werden die Einträge in der Reihenfolge ihres Auftretens abgearbeitet. \\ **Achtung:** Wird in der Applikation kein Timeout definiert und der Ruf nicht abgelehnt, sondern timed aus Protokolltechnischen bzw. auf Grund eines globalen Timers aus, wird nicht der nächste Eintrag benutzt, sondern der Ruf verworfen (der nächste Eintrag wird also nur bei Ablehnung des Rufes oder wenn in der Applikation ein Timeout definiert wurde versucht über die nächste Wahlregel auszuliefern). * **Applikation:** Die Applikation besagt was die Wahlregel mit dem Ruf tun soll. Applikationen erwarten zumeist verpflichtende Parameter hinter dem Applikationsnamen in Klammern übergeben und nehmen in der Regel auch weitere optionale Parameter an. === Reguläre Ausdrücke === * Reguläre Ausdrücke -> eigentlich Pattern, denn es werden weder die POSIX-Regexp unterstützt, noch sind sie sehr umfangreich * Werden mit _eingeleitet -> wenn ein regulärer Ausdruck statt einer Nummer kommt, muss => _ geschrieben werden ^Pattern ^Bedeutung ^ |[//Wert1Wert2Wert3//]|Liste von möglichen Ziffern \\ \\ Nur eine Stelle - sprich ein [...] meint nur eine Ziffer, respektive Buchstab. \\ \\ Beispiel: exten => _[158]1,n,Dial(SIP/${EXTEN} -> Prüfe ob die erste Ziffer 1,5 oder 8 ist und die zweite eine 1.| |[//Wert1//-//Wert2//]|Wertebereich \\ \\ Ziffer bzw. Buchstabe kann einer aus dem angegebenen Bereich sein. \\ Bereich gibt nur den möglichen Bereich für eine Stelle der Nummer an. \\ \\ Beispiel: exten => _[0-6]1,n,Dial(SIP/${EXTEN}) -> prüft ob die erste Stelle der Nummer eine Ziffer zwischen 1 und 6 ist und die zweite eine 1 ist| |X|(Einzelne) Ziffer von 0-9| |Z|(Einzelne) Ziffer von 1-9| |N|(Einzelne) Ziffer von 2-9| |.|Beliebig viele beliebe Zeichen (inkl. Buchstaben) \\ \\ **Achtung:** _. ist (auch wenn es eigentlich der unpräziseste Ausdruck ist und eigentlich als allerletztes matchen müste) die vor allen anderen Wahlregeln matchende. Wird eine Regel mit _. im Diaplan angegeben, matcht in diesem Context keine andere Regel mehr| === Applikationen === ===== Extene Resourcen ===== ^Typ ^Name ^Beschreibung ^URL ^ |Online-Buch/Hardcover-Buch|Das Asterisk-Buch|Buch vom Hauptentwickler von Asterisk|http://www.das-asterisk-buch.de|