I use Google's Call Screen service. It answers the call and tells the caller to state their name and reason for calling. The response shows up on my screen as text and I can decide to pick up at any time.
99% of the time, the call just disconnects.
I really wish Google would let me set my phone to ring only for numbers in my address book and give everybody else a busy signal.
On android, you can go to settings of the caller app, and enable "filter spam calls". Not exactly the same thing but still... You might have some trouble if you are a fi user.
Works surprisingly well considering it is Google in 2019, but now that I think of it I can see a number of ways they'll mess up this as well ;-)