H.4. Dialplan-Applikationen und -Funktionen

  • ChanIsAvail() hat jetzt eine Option t. Damit wird einfach nur zurückgegeben, ob das Device existiert.
  • ChannelRedirect() bricht jetzt den Channel nicht mehr ab, wenn die Umleitung fehlschlägt, wie das vorher der Fall war. Stattdessen ist der Erfolgsstatus der Umleitung in der Channel-Variable CHANNELREDIRECT_STATUS verfügbar (SUCCESS oder NOCHANNEL).
  • SetCallerPres() ist veraltet und wurde durch die Funktion CALLERPRES() ersetzt.
  • Das 5. Argument von DISA() wurde geändert. Wenn Sie vorher noanswer verwendet haben, muss die Option jetzt n lauten.
  • Macro() ist veraltet (aber noch möglich). Für Unterroutinen sollten Sie jetzt Gosub() und Return() verwenden oder direkt die native macro-Syntax von AEL verwenden.
    macro mein-makro() {
        // tu was
        return;
    }
    Statt MacroExclusive() gibt es jetzt die Funktionen LOCK(), TRYLOCK() und UNLOCK(), um sicherzustellen, dass ein Abschnitt im Dialplan nicht von mehreren Kanälen gleichzeitig ausgeführt wird.
  • Read() setzt jetzt eine Variable READSTATUS (auf OK | ERROR | HANGUP | INTERRUPTED | SKIPPED | TIMEOUT), anstatt bei einem Fehler automatisch aufzulegen. Wenn Sie bei ${READSTATUS} != "OK"" auflegen wollen, müssen Sie das hinterher explizit im Dialplan tun.
  • Privacy() greift nicht mehr auf privacy.conf zu, also müssen alle Optionen der Applikation direkt im Dialplan als Argumente übergeben werden.
  • MusicOnHold() hat einen neuen optionalen Timeout-Parameter, der einen Abbruch nach einer bestimmten Dauer ermöglicht. Dadurch wird WaitMusicOnHold() überflüssig.
  • SetMusicOnHold() ist veraltet. Stattdessen soll Set(CHANNEL(musicclass)=...) verwendet werden.
  • Die Argumente von ExecIf() wurden verändert.
    Alt:
    ExecIf(Ausdruck,Applikation,Argumente)
    Neu:
    ExecIf(Ausdruck?ApplikationT(ArgumenteT)[:ApplikationF(ArgumenteF)])
  • QUEUE_MEMBER_COUNT() ist veraltet. QUEUE_MEMBER() akzeptiert jetzt als 2. Parameter logged, free oder count.