Maximale Dialplangröße für extensions.ael

Mathias-R

Neuer User
Mitglied seit
20 Jul 2005
Beiträge
165
Punkte für Reaktionen
1
Punkte
18
Hallo,

ich bin dabei meinen Dialplan in AEL umzuschreiben. Bei kleinen Dialplänen bringt ein ael reload die abschließende Ausgabe
Code:
[Jun 30 07:44:10] NOTICE[687]: pbx_ael.c:3984 pbx_load_module: AEL load process: compiled config file name '/etc/asterisk/extensions.ael'.
[Jun 30 07:44:10] NOTICE[687]: pbx_ael.c:3987 pbx_load_module: AEL load process: merged config file name '/etc/asterisk/extensions.ael'.
[Jun 30 07:44:10] NOTICE[687]: pbx_ael.c:3990 pbx_load_module: AEL load process: verified config file name '/etc/asterisk/extensions.ael'.

Ab ca. 500 Zeilen hingegen bricht der Compiler ab und lässt die letzten extensions einfach weg.

Kann man die maximale Größe irgendwo erhöhen oder auch die Datei in mehreren Teilen kompilieren?

Das externe Kommando aelparse kann zwar die ganze Datei kompilieren, aber liefert fehlerhaften Code, da kommende Rufnummern nicht ausgewertet werden.

Beispiel:
Code:
_./_0Z. => goto null;
_./_00Z. => goto nullnull;
wird geparsed zu
Code:
exten => _.,1,Goto(null)
exten => _.,1,Goto(nullnull)

Wenn der gleiche Code in der extensions.ael abgearbeitet wird gibt es keine Probleme.

MfG Mathias
 
Zuletzt bearbeitet:
Hast du mal geschaut, was passiert (Fehlermeldung) wenn du direkt ausführst?
(zum Testen, s. auch die Optionen, die aelparse bietet)
 
  • eine maximale Größe der extensions.ael ist seitens des Asterisk nicht definiert.
  • Restriktionen gibt es lediglich bei der Tiefe der Macro-Verschachtelung (7) und der Tiefe der includes (=50)
  • mit #include kannst Du die extensions.ael aus mehreren Dateien zusammensetzen

Kann es nicht einfach sein, daß Du irgendwo in den Zeilen oberhalb von 500 einen simplen Syntaxfehler hast und die Abarbeitung deshalb abbricht?
Möglicherweise hast Du auch einfach Arbeitesspeichermangel und Asterisk kann einfach nicht die gesamte Datei einlesen.

[eigene Meinung]solch große Dialpläne sollte man ohnehin besser in eine Datenbank packen und per Realtime erstellen[/eigene Meinung]
 
Einen Syntaxfehler kann ich weitgehend ausschließen, da aelparse keine Fehler meldet. Im Asterisk kann ich auch einen beliebigen Teil des Dialplans weglassen und erhalte keine Fehlermeldung mehr.

Speichermangel halte ich für weniger wahrscheinlich da der Arbeitsspeicher zur Hälfte frei ist und der SWAP nicht genutzt wird.

Ich werde wohl Teile mit aelparse in die extensions.conf verlagern müssen.


MfG Mathias
 
Asterisk kann das definitiv. Bei mir läuft die selbe Version wie bei dir mit einer extensions.ael > 1000 Zeilen (>30kB). Ich glaube auch, dass du da irgendwo einen Fehler beim umschreiben gemacht hast. Auf aelparse kannst du dich leider nicht in allen Fällen verlassen.

@betatailchen: das mit Realtime bin ich mir auch gerade am anschauen, da ein solcher dialplan wirklich langsam unübersichtlich wird.

[EDIT] Ups, hab grad gesehen, dass dieser Thread schon ein wenig älter ist. Das Problem ist mittlerweile sicher schon gelöst.

Gruss,
Sachmet.
 
Zuletzt bearbeitet:
Sachmet schrieb:
Das Problem ist mittlerweile sicher schon gelöst.

Mit aelparse in eine extensions.conf geändert und diese läuft ohne Probleme.


MfG Mathias
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.