Irgendwo habe ich einen Knoten in meinen Gedankengängen drin. Ich meine, mit Asterisk 1.2 habe das so geklappt, mit Asterisk 1.4 will es einfach nicht, wie es sollte. Das Problem ist, dass bei Anrufen aus der Dominikanischen Republik die Nummer nicht korrekt angezeigt wird; es wird die 1 an dritter Stelle unterschlagen. So ist es natürlich nicht möglich, bei verpassten Anrufen zurückzurufen und es wird die Nummer natürlich im Telefonbuch auch nicht gefunden, um den Anrufer korrekt anzuzeigen. Also versuche ich, die fehlende Ziffer wieder einzufügen.
Was mache ich nur falsch? Ich erhalte folgende Einträge in der Log-Datei:
Code:
exten => s,n,GotoIf($[${CALLERID(num)} = 00809NXXXXXX]?20)
exten => s,20,Set(CALLERID(num)=001809${CALLERID(num):5})
Code:
[Feb 18 16:54:45] WARNING[11836] ast_expr2.fl: ast_yyerror(): syntax error: syntax error, unexpected $end, expecting '-' or '!' or '(' or '<token>'; Input:
008098820409 = 3.*
^
[Feb 18 16:54:45] WARNING[11836] ast_expr2.fl: If you have questions, please refer to doc/channelvariables.txt in the asterisk source.
[Feb 18 16:54:45] VERBOSE[11836] logger.c: -- Executing [s@macro-getcid-general:6] GotoIf("SIP/0442912030-b7e3fb80", "0?50") in new stack
[Feb 18 16:54:45] DEBUG[11836] app_macro.c: Executed application: GotoIf
[Feb 18 16:54:45] WARNING[11836] ast_expr2.fl: ast_yyerror(): syntax error: syntax error, unexpected $end, expecting '-' or '!' or '(' or '<token>'; Input:
008098820409 = 0.*