Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [app-blacklist-check]
- exten => s,1(check),Set(CDR(did)=${FROM_DID})
- exten => s,n(check),GotoIf($["${BLACKLIST()}"="1"]?blacklisted)
- ;Blacklist Caller ID names found in custom Asterisk database BLISTNAME if used
- exten => s,n,GotoIf($["${DB_EXISTS(BLISTNAME/${TOUPPER(${CALLERID(name)})})}"="1"]?blacklisted)
- ;Blacklist Caller ID names of single letter followed by 9 or more digits
- exten => s,n,Set(regx=^[A-Z][0-9]{9}[0-9]* *$)
- exten => s,n,GotoIf($[${REGEX("${regx}" ${CALLERID(name)})} = 1]?blacklisted)
- ;Blacklist numbers where first digit of 7 digit local number is 0 or 1
- exten => s,n,Set(regx=^[+]?1?[0-9]{3}[01][0-9]{6}$)
- exten => s,n,GotoIf($[${REGEX("${regx}" ${CALLERID(num)})} = 1]?blacklisted)
- ;Blacklist numbers where first digit of area code is 0 or 1
- exten => s,n,Set(regx=^[+]?1?[01][0-9]{9}$)
- exten => s,n,GotoIf($[${REGEX("${regx}" ${CALLERID(num)})} = 1]?blacklisted)
- ;Blacklist numbers where first three digits of 7 digit local number are 555
- exten => s,n,Set(regx=^[+]?1?[0-9]{3}555[0-9]{4}$)
- exten => s,n,GotoIf($[${REGEX("${regx}" ${CALLERID(num)})} = 1]?blacklisted)
- ;Blacklist numbers that start with 1 but are longer than 11 digits total
- exten => s,n,Set(regx=^[+]?1[0-9]{11}[0-9]*$)
- exten => s,n,GotoIf($[${REGEX("${regx}" ${CALLERID(num)})} = 1]?blacklisted)
- ;Blacklist numbers of less than 7 digits in length
- exten => s,n,GotoIf($[${LEN(${CALLERID(num)})} < 7]?blacklisted)
- ;Blacklist numbers of 8 digits in length
- exten => s,n,GotoIf($[${LEN(${CALLERID(num)})} = 8]?blacklisted)
- ;Next line is from the original blacklist context
- exten => s,n,Set(CALLED_BLACKLIST=1)
- ;Special CallerID name lookup; should not really be here but works
- exten => s,n,ExecIf($["${DB_EXISTS(cidname/${CALLERID(num)})}"!="1″]?Return())
- exten => s,n,Set(CALLERID(name)=${DB(cidname/${CALLERID(num)})})
- exten => s,n,Set(__SKIPCIDLOOKUP=1)
- ; Original stuff
- exten => s,n,Return()
- exten => s,n(blacklisted),Answer
- ;Prepend *BL* to Caller ID name of blacklisted numbers so they can be distinguished in CDR
- exten => s,n,Set(CALLERID(name)=*BL*${CALLERID(name)})
- ;Set Call Detail Record Userfield to Blacklisted
- exten => s,n,Set(CDR(userfield)=Blacklisted)
- exten => s,n,Set(BLDEST=${DB(blacklist/dest)})
- exten => s,n,ExecIf($["${BLDEST}"=""]?Set(BLDEST=app-blackhole,hangup,1))
- exten => s,n,GotoIf($["${returnhere}"="1"]?returnto)
- exten => s,n,GotoIf(${LEN(${BLDEST})}?${BLDEST}:app-blackhole,zapateller,1)
- exten => s,n(returnto),Return()
- ;--== end of [app-blacklist-check] ==--;
Add Comment
Please, Sign In to add comment