Kurz:
- AEL ist eine Alternative zu extensions.conf, es geht mehr in Richtung einer Programmiersprache.
- Infos und wichtige Hinweise voip-info.org AEL
- AEL2 seit heute auch im Wiki: Infos zu einer neuen, überarbeiteten Version, bisher nur als Patch verfügbar (bzw. als Asterisk SVN Version)
-- wer auf dem neusten sein will, sollte sich auch die Bugliste (s. AEL2 Seite) anschauen - dort werden nicht nur Fehler erwähnt.
Die Infos zu AEL sind nicht gerade zahlreich, die Readme die Asterisk beiliegt ist recht kurz und lässt viele (u.a. wichtige Syntax) Fragen offen. Auf der AEL Wiki Seite gibt es viele Infos zu den Eigenheiten der aktuellen Version.
Ich will mir selber ein paar Notizen machen, und da dachte ich, mache ich das gleich hier, dann kann ich auch unterwegs einfach nach schauen
-------------------------------------------------------------------
switch braucht zumindest in Macros immer ein default + code (nur NoOP reicht) + break, sonst wird anschließend kein Code mehr ausgeführt (s. Kommantar im voip-info wiki)
-----
Variante I funktioniert problemlos.
Variante II funktioniert nur, wenn der Wert in der Datenbank vorhanden ist.
Falls nicht gibt es eine Syntaxfehlermeldung und der Rückgabewert (testclip) wird auf "0" gesetzt, was problematisch ist, wenn man statt DB_RESULT, den Rückgabewert auswertet, wie hier per if. (denn <wert>== "" trifft dann nicht zu)
(Kann auch sein, das ich den Fehler in Variante II einfach nicht sehe
- AEL ist eine Alternative zu extensions.conf, es geht mehr in Richtung einer Programmiersprache.
- Infos und wichtige Hinweise voip-info.org AEL
- AEL2 seit heute auch im Wiki: Infos zu einer neuen, überarbeiteten Version, bisher nur als Patch verfügbar (bzw. als Asterisk SVN Version)
-- wer auf dem neusten sein will, sollte sich auch die Bugliste (s. AEL2 Seite) anschauen - dort werden nicht nur Fehler erwähnt.
Die Infos zu AEL sind nicht gerade zahlreich, die Readme die Asterisk beiliegt ist recht kurz und lässt viele (u.a. wichtige Syntax) Fragen offen. Auf der AEL Wiki Seite gibt es viele Infos zu den Eigenheiten der aktuellen Version.
Ich will mir selber ein paar Notizen machen, und da dachte ich, mache ich das gleich hier, dann kann ich auch unterwegs einfach nach schauen
-------------------------------------------------------------------
switch braucht zumindest in Macros immer ein default + code (nur NoOP reicht) + break, sonst wird anschließend kein Code mehr ausgeführt (s. Kommantar im voip-info wiki)
-----
Code:
// Variante I
testno=15;
Set(testclip=${DB(clip/${testno})});
if ("${DB_RESULT}" = "") {
NoOp( ----- TEST I Not found case);
};
NoOp(----- TEST I DB Status ${DB_RESULT} testclip ${testclip} ---);
// Variante II
testclip=${DB(clip/${testno})}; // Fehler, wenn Wert in Datenbank nicht gefunden wird
if ("${DB_RESULT}" = "") {
NoOp( ---- TEST II Not found case);
};
NoOp(---- TEST II DB Status ${DB_RESULT} testclip ${testclip} -----);
Variante I funktioniert problemlos.
Variante II funktioniert nur, wenn der Wert in der Datenbank vorhanden ist.
Falls nicht gibt es eine Syntaxfehlermeldung und der Rückgabewert (testclip) wird auf "0" gesetzt, was problematisch ist, wenn man statt DB_RESULT, den Rückgabewert auswertet, wie hier per if. (denn <wert>== "" trifft dann nicht zu)
Code:
ast_expr2.fl:176 ast_yyerror: ast_yyerror(): syntax error: syntax error, unexpected $end, expecting TOK_MINUS or TOK_COMPL or TOK_LP or TOKEN; Input:
^
ast_expr2.fl:180 ast_yyerror: If you have questions, please refer to doc/README.variables in the asterisk source.
(Kann auch sein, das ich den Fehler in Variante II einfach nicht sehe
Zuletzt bearbeitet: