[macro-revdblookup]
exten => s,1,Macro(snomclear))
exten => s,n,MYSQL(Connect connid localhost user password asterisk)
exten => s,n,GotoIf($[${connid} = ""]?end)
exten => s,n,MYSQL(Query resultid ${connid} SELECT callername, category, subcategory FROM phonebook where callerid='${ARG1}')
exten => s,n,MYSQL(Fetch fetchid ${resultid} CALLERNAME CATEGORY SUBCATEGORY)
exten => s,n,GotoIf($["${fetchid}" = "0"]?revl)
exten => s,n,Set(GLOBAL(CATEGORY)=${CATEGORY})
exten => s,n,Set(GLOBAL(RLNAME)=${CALLERNAME})
exten => s,n,MYSQL(Clear ${resultid})
exten => s,n,MYSQL(Query resultid ${connid} INSERT INTO callhistory (callerid, msn, direction, uniqueid) VALUES ('${ARG1}','${ARG2}','${ARG3}','${ARG4}'))
exten => s,n,MYSQL(Query resultid ${connid} UPDATE phonebook SET count = count+1 WHERE callerid='${ARG1}')
exten => s,n,MYSQL(Query resultid ${connid} UPDATE phonebook SET lastchange = now() WHERE callerid='${ARG1}')
exten => s,n,Goto(enddb)
exten => s,n(revl),AGI(ast_revers.agi,${ARG1})
exten => s,n,GotoIf($["${LONGNAME}" = "kein Eintrag"]?kein)
exten => s,n(end),Set(GLOBAL(RLNAME)=${LONGNAME})
exten => s,n,Noop(Status: ${RLSTATUS})
exten => s,n,GotoIf($["${RLSTATUS}" = "ERROR"]?enddb)
exten => s,n,MYSQL(Query resultid ${connid} INSERT INTO phonebook (callerid, callername) VALUES ('${ARG1}','${LONGNAME}'))
exten => s,n,MYSQL(Query resultid ${connid} INSERT INTO callhistory (callerid, msn, direction) VALUES ('${ARG1}','${ARG2}','${ARG3}'))
exten => s,n,MYSQL(Query resultid ${connid} UPDATE phonebook SET count = count+1 WHERE callerid='${ARG1}')
exten => s,n,MYSQL(Query resultid ${connid} UPDATE phonebook SET lastchange = now() WHERE callerid='${ARG1}')
exten => s,n,MYSQL(Clear ${resultid})
exten => s,n,Set(GLOBAL(RLNAME)=${LONGNAME})
exten => s,n,Goto(enddb)
exten => s,n(kein),MYSQL(Query resultid ${connid} INSERT INTO phonebook (callerid, callername) VALUES ('${ARG1}','${ARG1}'))
exten => s,n,MYSQL(Query resultid ${connid} INSERT INTO callhistory (callerid, msn, direction) VALUES ('${ARG1}','${ARG2}','${ARG3}'))
exten => s,n,MYSQL(Query resultid ${connid} UPDATE phonebook SET count = count+1 WHERE callerid='${ARG1}')
exten => s,n,MYSQL(Query resultid ${connid} UPDATE phonebook SET lastchange = now() WHERE callerid='${ARG1}')
exten => s,n,MYSQL(Clear ${resultid})
exten => s,n,Set(GLOBAL(RLNAME)=${ARG1})
exten => s,n(enddb),MYSQL(Disconnect ${connid})
exten => s,n,Set(GLOBAL(RLNUM)=${ARG1})