; ============================================================================ ; Macro LookupCIDName-sql ; Looks up a CALLERIDNUM in a PostgreSQL database and if ; a match is found, it sets CallerID Name ; ============================================================================ [macro-LookupCIDName-sql] exten => s,1,GotoIf(${CALLERIDNUM}?s+cidnum,1:s+nocidnum,1) exten => s+nocidnum,1,NoOp(No CallerID Num) exten => s+cidnum,1,PGSQL(Connect connid host=127.0.0.1 user=ast dbname=ast) exten => s+cidnum,2,PGSQL(Query resultid ${connid} SELECT cidname FROM cid WHERE cid=${CALLERIDNUM}) exten => s+cidnum,3,PGSQL(Fetch fetchid ${resultid} cidname) exten => s+cidnum,4,GotoIf(${cidname}?s+known,1:s+unknown,1) exten => s+cidnum,5,SetCallerID("Unknown" <${CALLERIDNUM}>) exten => s+cidnum,6,PGSQL(Clear ${resultid}) exten => s+cidnum,7,PGSQL(Disconnect ${connid}) exten => s+unknown,1,SetCallerID("Unknown" <${CALLERIDNUM}>) exten => s+unknown,2,PGSQL(Clear ${resultid}) exten => s+unknown,3,PGSQL(Disconnect ${connid}) exten => s+known,1,SetCallerID("${cidname}" <${CALLERIDNUM}>) exten => s+known,2,PGSQL(Clear ${resultid}) exten => s+known,3,PGSQL(Disconnect ${connid})