How do you know that the call is a prank call, an not just someone that likes calling your company alot... ?

If you just want a database of callerid's to block, here is what I have used, I hope it helps some....

My SQL table looks has 4 columns id (autoincrement), callerid, blockenabled (to enable or disable the block), and notes.

[general]
realdb_host=localhost
realdb_user=asterisk
realdb_pass=password
realdb_db=asterisk_realtime

[pri-in]
; Conference Room Number
exten => 193,1,Answer()
exten => 193,2,Macro(checkblacklist,${CALLERID(num)})
exten => 193,3,GoTo(us-conference,s,1)

[macro-checkblacklist]
; This Macro will check the blacklist table to see if the callerid of the ; caller exist and blockenabled =1 (TRUE). If the callerid is listed, then
; tell the caller they have been blacklisted and politely HangUp()
;
; ${ARG1} = CallerID of incoming call
;
exten => s,1,MYSQL(Connect connid ${realdb_host} ${realdb_user} $ {realdb_pass} ${realdb_db}) exten => s,2,MYSQL(Query resultid ${connid} SELECT\ callerid\ from\ blacklist\ where\ callerid=${ARG1} and blockenabled = 1)
exten => s,3,MYSQL(Fetch fetchid ${resultid} blacklistid)
exten => s,4,MYSQL(Clear ${resultid})
exten => s,5,MYSQL(Disconnect ${connid})
exten => s,6,GoToIf($["${blacklistid}" = ""]?7:fail,1)
exten => s,7,NoOp(Not blocked in Blacklist)
; If the callerid is listed in the database, then send to blacklistednumber
;  context
;
exten => fail,1,NoOp(${blacklistid})
exten => fail,2,GoTo(blacklistednumber,s,1)

[blacklistednumber]
; This is where a call will land if the macro-checkblacklist decides that
; the number should not be allowed to dial DA
exten => s,1,Wait(2)
exten => s,2,Playback(privacy-you-are-blacklisted)
exten => s,3,HangUp()


Forrest Beck
[EMAIL PROTECTED]
www.shift8.biz



On Oct 18, 2007, at 10:25 AM, Lenz wrote:


It's not technically complex to do - you can probably use the astdb for
that, or store all incoming numbers with timestamp in MySQL and run
something like:

SELECT count(*) > 5 AS blacklisted
 FROM incoming_calls
WHERE callerid = "12345"
AND timestamp > DATE_SUB( NOW(), INTERVAL 15 MINUTE )

you should be very well aware of the risks that can stem from such a
program - in case of bugs, or anomalous situations, you might end up
blacklisting somebody who actually needs to call in.

I hope this helps
l.










On Thu, 18 Oct 2007 15:02:11 +0200, Brian Hutchinson
<[EMAIL PROTECTED]> wrote:

Hi,

I've been reading all I can on Google (and Asterisk TFOT book) looking
for
ideas on how to implement an automated blacklist feature.

I would like to automatically blacklist a incoming number based on
timestamp
and count information.

For example, if I get a prank call from the same number 5 times within 15
minutes, I want my dialplan to automatically blacklist this number.

Should I be looking at AGI to do something like this?

Thanks for any ideas or pointers!



--
Loway Research - Home of QueueMetrics
http://queuemetrics.com

_______________________________________________
--Bandwidth and Colocation Provided by http://www.api-digital.com--

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users

_______________________________________________
--Bandwidth and Colocation Provided by http://www.api-digital.com--

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to