Can I do this with FreePBX?

After getting asterisk 1.8.7.1 and FreePBX 2.9.0.7 up and running having trouble seeing how I can setup a PBX in the manner I want.

Naturally I am asking here since there are many seasoned PBX users here who might know a workaround/update or whatever to be able to do this.

Here is a PBX Organization chart I made to illustrate what we are trying to do.

I guess the biggest question is how to implement some form of incoming whitelist?
If I cannot do it with the current setup, or upgrading to 2.10 beta, then is there any other system I can add to what I currently have installed to make it work?

I realize the google stuff is not there at all, but the whitelist and blacklist routes are very important.

The single most important issue is the WhiteList. Whitelist must be called prior to blacklist under all circumstances I can think of.

Whether you are using FreePBX for home or business use Whitelist is a huge advantage.

Examples:

First whitelist callers can bypass all announcements, greetings, ivr’s and so on the admin desires. But even more importantly whitelist can permit you to accept calls that fall within a blacklist wildcard.

For me I want to blacklist ALL toll free numbers from reaching my office OR my home. Why? Well think about it where do most of those Telemarketing/Collection agency calls come from? How many times have you gotten a new number only to have a collection agency calling you non-stop, even AFTER you have told them the party they are looking for does not live there or work there?

Now some would say just use a greeting message with please press 1 to have your call forwarded. We tried that, we still had more than 100 calls a week coming in because the Intelligent call out systems detect to press 1 and do so!

Our solution, simply BLOCK all Toll Free Traffic except for ones we desire. This means your own bank will not be able to make those credit card offers to you anymore without first getting their toll free number approved on your system, or using a normal number. Which of course you can add to your database of numbers.

The key is though, normally the Whitelist will be the smallest list too. The blacklist normally grows and grows by exponential figures. The whitelist is simple it is reserved for current customers/clients and family members.

With the current system you would have to add an inbound route for each CID. With a little scripting you could use a database.

I get that part, but what rules first? Lets say I have this setup.

inbound route caller id 8008880808 send to IVR

Now lets further say I have BLOCKED all 800NXXXXXX

Which ones rules first? Does the system look at inbound first or blocked first?

If it looks at blocked first then won’t it auto block the call?

Trying to understand how FreepBX really handles rules etc

You will have to use routes for the blacklisting also. I don’t think the blacklist module supports wildcards. You can look at the logs but I do think that blacklist is processed first.

Inbound routes are ordered via the GUI, you would put the specific ones first, then your generic 800NXXXXXX route at the end and send the call to SIT tone destination.