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.