Kapitel 7. AEL
Asterisk Extension Language
- 7.1. CLI-Befehle für AEL
- 7.2. aelparse
- 7.3. extensions.conf <-> extensions.ael
- 7.3.1. Zeilenende/Befehlsende
- 7.3.2. Kontexte, Extensions, Prioritäten
- 7.3.3. Kommentare
- 7.3.4. Includes – Andere Contexte einbinden
- 7.3.5. Globale Variablen
- 7.3.6. Ausdrücke und Zuweisungen
- 7.3.7. Labels, goto und jump
- 7.3.8. Bedingte Anweisungen (conditionals)
- 7.3.9. Schleifen (loops)
- 7.3.10. Makros (macros)
- 7.3.11. Hints
- 7.3.12. Filtern nach Anrufernummer
- 7.4. extensions.ael oder extensions.conf?
Seit Asterisk 1.4 haben Sie die Möglichkeit, den aus Kapitel 3, Dialplan – die Grundlagen und Kapitel 6, Programmieren im Dialplan bekannten „Dialplan“ nicht
nur im Format
extensions.conf
zu schreiben, sondern Sie
können sich alternativ auch für AEL, die „Asterisk Extension
Language“, entscheiden. Die Datei dafür heißt
extensions.ael
.AEL ist vor allem für diejenigen interessant, die sich immer schon
geärgert haben, dass eine größere
extensions.conf
schwer zu lesen ist. AEL ähnelt mehr einer „richtigen“
Skript-Programmiersprache. Übrigens schließen sich
extensions.conf
und extensions.ael
nicht gegenseitig aus, man kann auch beide benutzen, also Kontexte in der
einen oder in der anderen Datei definieren. Wenn beide Dateien vorhanden
sind, überschreibt die extensions.conf
Teile, die in
der extensions.ael
parallel vorhanden sind.Hier ein kleiner Vorgeschmack:
extensions.conf | extensions.ael |
---|---|
[meine-telefone] exten => 20,1,Answer() exten => 20,n,Playback(beep) exten => 20,n,Hangup() | context meine-telefone { 20 => { Answer(); Playback(beep); Hangup(); } } |
Es sei auch auf das bei Asterisk mitgelieferte Kommandozeilen-Werkzeug
aelparse
hingewiesen, mit dem Sie jederzeit seine
extensions.ael
wieder in das
extensions.conf
-Format konvertieren können. Wir werden
später noch darauf eingehen (siehe Abschnitt 7.2, „aelparse“).Anmerkung
Am Rande sei noch gesagt, dass hier, wie bei Asterisk üblich, mit
AEL immer AEL2 gemeint ist, denn die erste Version war nur ein
experimenteller Versuch.