-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSPAM-extensions_custom.conf
More file actions
53 lines (50 loc) · 3.33 KB
/
SPAM-extensions_custom.conf
File metadata and controls
53 lines (50 loc) · 3.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
[spam]
exten => spam,1,NoOp(*** begin sub-log-caller ***)
exten => spam,n,GotoIf(${DB_EXISTS(cidname/${CALLERID(num)})}?CNAMCHECK)
exten => spam,n,GotoIf($[${DB_EXISTS(SPAMCHECK/deactivate)} = 0]?ACTIVATE)
exten => spam,n,GotoIf($[${DB(SPAMCHECK/deactivate)} = 1]?CONNECTNOW)
exten => spam,n(ACTIVATE),NoOp(Not yet WhiteListed - Proceeding to AGI validation)
exten => spam,n,AGI(ipqs_validate.sh,${CALLERID(number)})
exten => spam,n,NoOp(AGI returned: NAME=${NAME}, SPAMSCORE=${SPAMSCORE}) ; Added remark
exten => spam,n,Set(CALLERID(name)=${NAME})
exten => spam,n,Set(CDR(userfield)="${CALLERID(name)} - ${SPAMSCORE}")
exten => spam,n,ExecIf($[${SPAMSCORE} > 0]?Set(CDR(userfield)=SCORE:${SPAMSCORE}))
exten => spam,n,ExecIf($[${SPAMSCORE} > 90]?Set(CALLERID(name)=SPAM:${CALLERID(name)}))
exten => spam,n,ExecIf($[${SPAMSCORE} > 90]?Set(DB(blacklist/${CALLERID(number)})=1))
exten => spam,n,NoOp(About to check for spam score: ${SPAMSCORE}) ; Added remark
exten => spam,n,GotoIf($[${SPAMSCORE} > 90]?FLUNKED)
exten => spam,n,Playback(silence/1)
exten => spam,n,Playback(/etc/asterisk/fiveV2)
exten => spam,n,NoOp(Prompting user for input...) ; Added remark
exten => spam,n,Read(MYCODE,beep,1,n,1,10)
exten => spam,n,NoOp(User entered: ${MYCODE}) ; Added remark
exten => spam,n,GotoIf($["${MYCODE}" = "5"]?ANONTEST)
exten => spam,n(FLUNKED),NoOp(*** Caller FLUNKED screening ***)
exten => spam,n,NoOp(This is a SPAM call)
exten => spam,n,Set(CDR(userfield)="${CALLERID(number)} - FAILED Spam Score: ${SPAMSCORE}")
;exten => spam,n,Set(CDR(did)=${CALLERID(number)})
exten => spam,n,Set(BLDEST=${DB(blacklist/dest)})
exten => spam,n,NoOp(Number was blacklisted, routing to: ${BLDEST}) ; Added remark
exten => spam,n,GotoIf(${LEN(${BLDEST})}?${BLDEST}:app-blackhole,zapateller,1)
exten => spam,n,Wait(3)
exten => spam,n,Hangup
exten => spam,n(ANONTEST),NoOp(Checking if caller is anonymous or whitelisted...) ; Added remark
exten => spam,n,GotoIf($[${CALLERID(num)} > 0]?WHITELIST:CONNECTNOW)
exten => spam,n(CNAMCHECK),NoOp(Number found in phonebook, checking CNAM consistency.) ; Added remark
exten => spam,n,Set(CNAM1=${CALLERID(name)})
exten => spam,n,Set(CDR(userfield)="WHITELIST")
exten => spam,n,Set(CNAM2=${DB(cidname/${CALLERID(number)})})
exten => spam,n,GotoIf($["${CNAM1}" = "${CNAM2}"]?WHITELISTED)
exten => spam,n(WHITELIST),NoOp(DEBUG: CALLERID(name) before DB save in WHITELIST: ${CALLERID(name)})
same => n,ExecIf($["${CALLERID(name)}" = ""]?Set(CALLERID(name)=${CALLERID(number)}))
same => n,Set(DB(cidname/${CALLERID(number)})=${CALLERID(name)})
same => n,Set(CALLERID(all)="${CALLERID(name)} <${CALLERID(number)}>")
exten => spam,n(WHITELISTED),NoOp(WhiteListed: ${CALLERID(all)})
exten => spam,n,NoOp(*** end of sub-log-caller **************)
exten => spam,n(CONNECTNOW),NoOp(Connecting call directly - no spam or whitelist action needed) ; Added remark
;exten => spam,n,NoOp(*** ${CALLERID(dnid)} **************); dialed in number for debugging
exten => spam,n,Set(DIDN=${CALLERID(dnid)})
exten => spam,n,NoOp(Checking Dialed DID: ${DIDN}) ; Added remark
exten => spam,n,GotoIf($["${DIDN}" = "5554441212"] ?from-trunk,100,1) ; if this number was dialed in pass to extension 100
exten => spam,n,GotoIf($["${DIDN}" = "5554441213"] ?from-trunk,400,1) ; if this number was dialed in pass to extension 400
exten => spam,n,GoTo(from-trunk,100,1) ; Default fallback if neither number matches