Not approving all the time, just setting every call by default to $1. Everyone who knows you will call knowing they’ll get their money back. And you can do an easy “add everyone in your contacts to a whitelist”, boom done.
It'd work well for both ends of the spectrum (spam callers & friends) but think would kinda fall down in the middle though — kids' school, doctor's office, plumber coming to service your boiler.
Where you are expecting a call and it's definitely not spam, but they're not going to be ringing from a pre-approved whitelist. Don't think they'd want to be putting $1 per call on the line and hoping for people to remember to click the right button afterwards