This is only a half measure. The companies that do this illegally can just spoof the outgoing number so it looks like a call ID already on the whitelist. The call will go straight through. Robo dialers will also learn to press the appropriate numbers using speech recognition. Once they start using customer data to whitelist companies will probably use spamming to get themselves on the whitelist. I'm sure this will work temporarily but your own whitelist is still the best option.
I came up with a similar solution using the OBi202 and a customized Auto attendant. Calls go through Google voice. Non whitelist numbers get forwarded to the OBI Auto attendant. A customized recording tells them what numbers to push in order to ring my phone. Whitelist numbers must be added manually to Google voice. It works but there are security issues I never worked out.