therealbeanjr

FreePBX 13 blacklist script

Nov 20th, 2019
37
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.46 KB | None | 0 0
  1. [app-blacklist-check]
  2. exten => s,1(check),Set(CDR(did)=${FROM_DID})
  3. exten => s,n(check),GotoIf($["${BLACKLIST()}"="1"]?blacklisted)
  4. ;Blacklist Caller ID names found in custom Asterisk database BLISTNAME if used
  5. exten => s,n,GotoIf($["${DB_EXISTS(BLISTNAME/${TOUPPER(${CALLERID(name)})})}"="1"]?blacklisted)
  6. ;Blacklist Caller ID names of single letter followed by 9 or more digits
  7. exten => s,n,Set(regx=^[A-Z][0-9]{9}[0-9]* *$)
  8. exten => s,n,GotoIf($[${REGEX("${regx}" ${CALLERID(name)})} = 1]?blacklisted)
  9. ;Blacklist numbers where first digit of 7 digit local number is 0 or 1
  10. exten => s,n,Set(regx=^[+]?1?[0-9]{3}[01][0-9]{6}$)
  11. exten => s,n,GotoIf($[${REGEX("${regx}" ${CALLERID(num)})} = 1]?blacklisted)
  12. ;Blacklist numbers where first digit of area code is 0 or 1
  13. exten => s,n,Set(regx=^[+]?1?[01][0-9]{9}$)
  14. exten => s,n,GotoIf($[${REGEX("${regx}" ${CALLERID(num)})} = 1]?blacklisted)
  15. ;Blacklist numbers where first three digits of 7 digit local number are 555
  16. exten => s,n,Set(regx=^[+]?1?[0-9]{3}555[0-9]{4}$)
  17. exten => s,n,GotoIf($[${REGEX("${regx}" ${CALLERID(num)})} = 1]?blacklisted)
  18. ;Blacklist numbers that start with 1 but are longer than 11 digits total
  19. exten => s,n,Set(regx=^[+]?1[0-9]{11}[0-9]*$)
  20. exten => s,n,GotoIf($[${REGEX("${regx}" ${CALLERID(num)})} = 1]?blacklisted)
  21. ;Blacklist numbers of less than 7 digits in length
  22. exten => s,n,GotoIf($[${LEN(${CALLERID(num)})} < 7]?blacklisted)
  23. ;Blacklist numbers of 8 digits in length
  24. exten => s,n,GotoIf($[${LEN(${CALLERID(num)})} = 8]?blacklisted)
  25. ;Next line is from the original blacklist context
  26. exten => s,n,Set(CALLED_BLACKLIST=1)
  27. ;Special CallerID name lookup; should not really be here but works
  28. exten => s,n,ExecIf($["${DB_EXISTS(cidname/${CALLERID(num)})}"!="1″]?Return())
  29. exten => s,n,Set(CALLERID(name)=${DB(cidname/${CALLERID(num)})})
  30. exten => s,n,Set(__SKIPCIDLOOKUP=1)
  31. ; Original stuff
  32. exten => s,n,Return()
  33. exten => s,n(blacklisted),Answer
  34. ;Prepend *BL* to Caller ID name of blacklisted numbers so they can be distinguished in CDR
  35. exten => s,n,Set(CALLERID(name)=*BL*${CALLERID(name)})
  36. ;Set Call Detail Record Userfield to Blacklisted
  37. exten => s,n,Set(CDR(userfield)=Blacklisted)
  38. exten => s,n,Set(BLDEST=${DB(blacklist/dest)})
  39. exten => s,n,ExecIf($["${BLDEST}"=""]?Set(BLDEST=app-blackhole,hangup,1))
  40. exten => s,n,GotoIf($["${returnhere}"="1"]?returnto)
  41. exten => s,n,GotoIf(${LEN(${BLDEST})}?${BLDEST}:app-blackhole,zapateller,1)
  42. exten => s,n(returnto),Return()
  43.  
  44. ;--== end of [app-blacklist-check] ==--;
Add Comment
Please, Sign In to add comment