I've been looking at this lately as I setup new phone service for my MIL who's moving to a place with unreliable power. Some phone companies have whitelist services, although if your telco is like CenturyLink of Washington state, they don't appear to want to actually be in the phone business anymore and all the useful services are grandfathered, ordering a phone line is an ordeal and pricing is crazy (OTOH, the line quality seems to be good if you can get it). If you've got a voip line, you've got way more options though; I think most providers should give you options to whitelist.
Assuming your telco won't help you with whitelisting, your options are maybe? getting a new cordless system with caller id whitelisting, it seems like maybe some of the newest panasonic dect systems can do it (that will take care of the answering machine needs as well). Or getting an external box, most likely inline with your phone.
I don't have either yet, but it seems like reasonable options include the Digitone proseries II , or the Sentry call blocker. Both are more expensive than they should be (IMHO), but offer some amount of whitelisting and blacklisting. The Digitone has a longer history in the industry, and what looks like a clumsier interface; the Sentry has a good, but slightly messy feature for handling inbound calls from numbers that aren't 'known', for those calls, it answers and plays an outgoing greeting (customizable in the 3.x device, prerecorded in 2.x), if the caller presses 0, their number is added to the white list and they can call back; from reviews, I gather on the 2.x series pressing 0 add you to the whitelist and then hangs up on you; on the 3.x series, pressing 0 generates a fake ringback, makes the device ring (but not phones on the line) and after 9 fake rings will let the caller leave a message on the sentry device (2 message capacity, FIFO). This is like not quite right; the recommendation from reviewers is to record a message asking people to press 0 and then hangup and call back, rather than having them go through the weird ringing stuff. There's some negative comments about recording quality.