Elseif - ähnliche Anweisungen

astrakid

Neuer User
Mitglied seit
24 Apr 2011
Beiträge
89
Punkte für Reaktionen
0
Punkte
6
Hallo zusammen,

ich möchte für bestimmte CallerIDs bestimmte Anweisungen ausführen.
Das ist im Prinzip kein Problem, was mich stört ist einzig die Art und Weise, in der ich das umgesetzt habe:


...
anweisung x -> wenn rufnummer = 1234 dann moh = heavymetal, sonst moh=empty
anweisung x+1 -> wenn rufnummer = 1235 dann moh = softrock, sonst moh=empty
anweisung x+2 -> wenn rufnummer = 1236 dann moh = wdr4, sonst moh=empty
...

der nachteil bei dieser Variante ist ganz klar, dass alle x+ anweisungen durchlaufen werden, auch wenn ich bereits weiß, dass das gar nicht mehr nötig ist.
alternativ könnte ich nach jeder zeile ein gotoif einbauen, damit die weitere überprüfung abgebrochen wird, wenn die rufnummer erkannt wurde. Je mehr Sonderfälle es gibt, desto mehr sinn würde das machen. bei mir sind es momentan nur 10 nummern, werden aber kontinuierlich mehr.
Das entspricht dem typischen elseif aus anderen programmiersprachen. Gibt es hierfür eine vergleichbare Funktion für asterisk? oder muss ich immer diesen komplizierten Weg gehen?

gruß und danke,
astrakid
 

rmh

Aktives Mitglied
Mitglied seit
6 Jul 2008
Beiträge
1,915
Punkte für Reaktionen
19
Punkte
38
Schau dir nochmal an, wie gotif arbeitet. Du kannst im else-teil des Befehls ein label und dessen priotät anspringen, sobald die zweite condition (entspricht else) zutrifft. Damit sollte es gehen.
 

astrakid

Neuer User
Mitglied seit
24 Apr 2011
Beiträge
89
Punkte für Reaktionen
0
Punkte
6
ok, aber das gotoif() muss ich nach jedem else-zweig einbauen, d.h. ich habe im worst case dadurch dann doppelt so viele anweisungen wie bisher...
ich glaube, ich werde mich mal mit ael auseinandersetzen müssen, da gibt es ja die switch-case-anweisung...

gruß,
astrakid
 
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.