GotoIf und leere Variable

kombjuder

IPPF-Promi
Mitglied seit
2 Nov 2004
Beiträge
3,086
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich stehe im Moment auf der Leitung. Vielleicht kann mich ja jemand erleuchten.

Ich habe im Dialplan eine Zeile

exten => _X.,1,GotoIf($[${CALLERID(num)}="12345"]?4:3)

Wenn eine Rufnummer übertragen wird, funktioniert das ja auch. Wird keine Rufnummer übertragen, kommt eine Fehlermeldung
ast_yyerror: ast_yyerror(): syntax error: syntax error, unexpected TOK_EQ, expecting TOK_MINUS or TOK_COMPL or TOK_LP or TOKEN; Input:
= 12345

Muß ich den Fall CALLERID(num) ="" extra abfangen oder gibt es dafür eine andere Lösung?
 
Das hatte ich auch schon, leider bin ich nicht zuhause und kann nachsehen. Ich glaube, ich hatte einfach Callerid(num)+0 genommen.
Es werden wohl irgendwie Zahlen mit Strings verglichen, Wenn die Zahl nicht vorhanden ist, gibt es diesen Fehler.
Versuche auch mal, den String vorher in einen numerischen Ausdruck umzuwandeln, oder den numerischen in einen String.


----
Edit:
Ich glaube, mich wieder erinnern zu können:
versuche es mal damit:
exten => _X.,1,GotoIf($[0${CALLERID(num)}="012345"]?4:3)
oder so ähnlich,
vielleicht geht ja auch $[0${CALLERID(num)}:1], oder so ähnlich
 
Zuletzt bearbeitet:
Das ist eine nervige Meldung.


einfach immer so machen:
exten => _X.,1,GotoIf($[x${CALLERID(num)}=x12345]?4:3)

falls ${CALLERID(num)} leer ist steht dann da x=x12345 und es gibt keine Fehlermeldung mehr.
 
Kostenlos!

Statistik des Forums

Themen
247,215
Beiträge
2,263,903
Mitglieder
375,711
Neuestes Mitglied
Cordi