All pastes #130 Raw Edit

robl

public text v1 · immutable
#130 ·published 2004-05-02 10:01 UTC
rendered paste body
; ============================================================================
; 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})