syntax error: syntax error, unexpected '+'

scherkhan

Neuer User
Mitglied seit
27 Mai 2011
Beiträge
4
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,

kann jemand mir helfen?

Ich woolte eine Blackliste oder Weiterleitung machen, aber meine Asterisk 1.8 kein "+" in Rufnummer von 1und1 verstehet

[Apr 24 09:51:16] WARNING[707]: ast_expr2.fl:468 ast_yyerror: ast_yyerror(): syntax error: syntax error, unexpected '+', expecting $end; Input:
+49xxxxxxx = +49xxxxxxx
^
[Apr 24 09:51:16] WARNING[707]: ast_expr2.fl:472 ast_yyerror: If you have questions, please refer to https://wiki.asterisk.org/wiki/display/AST/Channel+Variables

wo und was soll ich suchen?

Danke

scherkhan
 
Zeig uns doch bitte den betroffenen Abschnitt aus der extensions.conf. Ich schätze Du verwendest ${CALLERID} in einem if ohne Anführungszeichen.
 
Code:
[incomig]

        exten => ${SIP1},1,NoOP( ${CALLERID(name)} ${CALLERID(num)} )
        exten => ${SIP1},n,GoSubIf(${CALLERID(num)}?sub-cidlookup-1und1,s,1)
        exten => ${SIP1},n,NoOP( ${CALLERID(name)} ${CALLERID(num)} )
        ................
        exten => ${SIP1},n,Dial(SIP/1000,60,rt)

[sub-cidlookup-1und1]

        exten => s,1,NoOp(Caller ID is ${CALLERID(all)})                                        
        exten => s,n,GotoIf($[ $[ ${CALLERID(num)} = anonymous ] ]?end)
        exten => s,n,Set(CALLERID(num)=${CALLERID(num):1})                             
        exten => s,n,GotoIf($[ $[ ${CALLERID(num):0:2} = 49 ] ]?del)
        exten => s,n,Set(CALLERID(num)=00${CALLERID(num)})
        exten => s,n,Goto(end)
        exten => s,n(del),Set(CALLERID(num)=0${CALLERID(num):2})                     
        exten => s,n(end),Set(CALLERID(name)=${CALLERID(num)})                       
        exten => s,n,Return()


Code:
    -- Executing [49xxxxxxxxx@incoming:1] NoOp("SIP/1und1-6-2-00000000", " +49176xxxxxxxx +49176xxxxxxxx ") in new stack
    -- Executing [49xxxxxxxxx@incoming:2] GosubIf("SIP/1und1-6-2-00000000", "+49176xxxxxxxx?sub-cidlookup-1und1,s,1") in new stack
    -- Executing [s@sub-cidlookup-1und1:1] NoOp("SIP/1und1-6-2-00000000", "Caller ID is "+49176xxxxxxxx" <+49176xxxxxxxx>") in new stack
[Apr 24 12:36:30] WARNING[797]: ast_expr2.fl:468 ast_yyerror: ast_yyerror():  syntax error: syntax error, unexpected '+', expecting $end; Input:
 +49176xxxxxxxx = anonymous 
 ^
[Apr 24 12:36:30] WARNING[797]: ast_expr2.fl:472 ast_yyerror: If you have questions, please refer to [url]https://wiki.asterisk.org/wiki/display/AST/Channel+Variables[/url]
    -- Executing [s@sub-cidlookup-1und1:2] GotoIf("SIP/1und1-6-2-00000000", "?end") in new stack
    -- Executing [s@sub-cidlookup-1und1:3] Set("SIP/1und1-6-2-00000000", "CALLERID(num)=49176xxxxxxxx") in new stack
    -- Executing [s@sub-cidlookup-1und1:4] GotoIf("SIP/1und1-6-2-00000000", "1?del") in new stack
    -- Goto (sub-cidlookup-1und1,s,7)
    -- Executing [s@sub-cidlookup-1und1:7] Set("SIP/1und1-6-2-00000000", "CALLERID(num)=49176xxxxxxxx") in new stack
    -- Executing [s@sub-cidlookup-1und1:8] Set("SIP/1und1-6-2-00000000", "CALLERID(name)=49176xxxxxxxx") in new stack
    -- Executing [s@sub-cidlookup-1und1:9] Return("SIP/1und1-6-2-00000000", "") in new stack
    -- Executing [49xxxxxxxxx@incoming:3] NoOp("SIP/1und1-6-2-00000000", " 0176xxxxxxxx 0176xxxxxxxx ") in new stack
.....................
 
Zuletzt bearbeitet:
Dacht ich's mir doch...

Code:
exten => ${SIP1},n,GoSubIf([COLOR="#FF0000"]$["[/COLOR]${CALLERID(num)}[COLOR="#FF0000"]"="irgendwas"][/COLOR]?sub-cidlookup-1und1,s,1)

Und zur Sicherheit auch hier:

Code:
exten => s,n,GotoIf([COLOR="#FF0000"]$["[/COLOR]${CALLERID(num)}[COLOR="#FF0000"]"[/COLOR]=[COLOR="#FF0000"]"[/COLOR]anonymous[COLOR="#FF0000"]"][/COLOR]?end)
...
exten => s,n,GotoIf([COLOR="#FF0000"]$["[/COLOR]${CALLERID(num):0:2}[COLOR="#FF0000"]"[/COLOR]=[COLOR="#FF0000"]"[/COLOR]49[COLOR="#FF0000"]"][/COLOR]?del)
 
rentier-s,

ich glaube, dass du meine frage falsch verstanden hast. oder ich falsch gefragt. meine asterisk mag kein '+' in CallerID. wenn ich vergleichen versuche
Code:
exten => ${SIP1},n,GoSubIf($["${CALLERID(num)}"="+49xxxxxxxxxxxx"]?sub-cidlookup-1und1,s,1)

bekomme ich warnung im CLI, egal, ob es von sip/1und1 oder gsm/dongle.

von sip/unitymedia laeuft alles gut, weil rufnummern ohne '+' kommen. (deutschland: 0<stadtvorwahl><rufnummer> und ausland: 00<ladvorwahl><stadtvorwahl><rufnummer> )
 
Ich hab Dich schon richtig verstanden, deshalb die Anführungszeichen. Dadurch behandelt Asterisk beide Seiten als Zeichenkette und sollte eigentlich mit dem + klar kommen.
 
rentier-s

vielen dank! alles läuft besser!
 
Kostenlos!

Statistik des Forums

Themen
248,853
Beiträge
2,302,890
Mitglieder
378,502
Neuestes Mitglied
bimbomix75