I have an old iPhone, and use Verizon's call filter. It's set to just allow calls from my contact list. Most of the spam calls are automatically blocked so I don't have to deal with them. Other calls are muted, and if they are spam, I just block them.
The only problem with the contact list is you forget to add the new dentist or plumber and then those calls don’t go through. I just give them the public number and they leave a voice mail and I call them back.