The idea is to treat the unwanted telemarketers as any unwanted caller. There is no easy way to distinguish between the automatic robotic calls from the regular people. We will have to use caller ids with the backend database. The caller ids can be of 3 categories: white listed, blacklisted and unknown.
The system will treat the numbers in each category differently. Whitelisted caller ids will be allowed, blacklisted blocked without calling and unknown will have to answer the challenge question/s.