OK, I'm going nuts here trying to correctly identify null values, specifically when callerID info is not available.
FYI, I'm running Asterisk CVS-HEAD-08/17/04-13:08:53, and Bison 1.875a (debian Sid). A snippit of my dialplan looks like this: exten => s,1,SetCIDNum(${CALLERIDNUM}) exten => s,2,NoOp,${CALLERID} exten => s,3,DBGet(temp=idiot/${CALLERIDNUM}) ; Is the person calling an idiot? exten => s,4,Goto(s,2001) ; Yep, he's an idiot. ; else check for callerID. If none (or 800 number,) handle special. exten => s,104,GotoIf($[${CALLERIDNUM} = ""]?s|1000:s|105) exten => s,105,GotoIf($[${CALLERIDNUM:0:3} = 877]?s|1000:s|106) Output from * is: -- Executing SetCIDNum("Zap/2-1", "") in new stack -- Executing NoOp("Zap/2-1", "") in new stack -- Executing DBget("Zap/2-1", "temp=idiot/") in new stack -- DBget: varname=temp, family=idiot, key= -- DBget: Value not found in database. Aug 18 10:34:06 WARNING[458767]: ast_expr.y:474 ast_yyerror: ast_yyerror(): syntax error: syntax error; Input: = "" ^ -- Executing GotoIf("Zap/2-1", "0?s|1000:s|105") in new stack -- Goto (bell2,s,105) Aug 18 10:34:06 WARNING[458767]: ast_expr.y:474 ast_yyerror: ast_yyerror(): syntax error: syntax error; Input: = 877 When I DO have a valid caller ID number, everything works: -- Executing SetCIDNum("SIP/601-83b7", "601") in new stack -- Executing NoOp("SIP/601-83b7", ""Office" <601>") in new stack -- Executing DBget("SIP/601-83b7", "temp=idiot/601") in new stack -- DBget: varname=temp, family=idiot, key=601 -- DBget: Value not found in database. -- Executing GotoIf("SIP/601-83b7", "0?s|1000:s|105") in new stack -- Goto (bell2,s,105) -- Executing GotoIf("SIP/601-83b7", "0?s|1000:s|106") in new stack -- Goto (bell2,s,106) I have tried the "foo" method too with similar results (this shows both a failed and working calledID): Aug 16 14:58:33 ERROR[409616]: fsk_serie made mylen < 0 (-16) Aug 16 14:58:33 WARNING[409616]: CallerID feed failed: Success Aug 16 14:58:33 WARNING[409616]: CallerID returned with error on channel 'Zap/2-1' Aug 16 14:58:36 WARNING[409616]: ast_yyerror(): syntax error: syntax error; Input: foo = foo ^^^^^^^^^ ^ Aug 16 17:19:07 WARNING[425999]: ast_yyerror(): syntax error: syntax error; Input: foo2075551212 = foo ^^^^^^^^^^^^^^^^^^^ So, IS there a method that works? Can I set CID to 0 if it's missing or something? Or some other variable that gives the real CID status (feed error, anonymous, unavailable)? _______________________________________________ Asterisk-Users mailing list [EMAIL PROTECTED] http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users