I’ve been using a near perfect method to block spam calls for the last 8 years, no special services or apps required.
It takes a little time to set this up the first time, but after that is nearly maintenance free. I don’t know if your phone has this feature, but in the volume settings on my phone, I can set the ringer to only sound audibly for “starred” contacts from my phone book. Any other number that calls in will display on the screen if you just happen to be looking at it at that moment, but is eventually timed off to voicemail, and most spam or robo callers won’t bother to leave a message (although there are a few that will, and it’s usually pretty funny listening to their pathetic attempts to reach you, and ~definitely~ fun deleting them.) And, of course, anyone you’ve approved from your contact list gets right through and rings. That’s the tedious part, is going through your entire phone book and setting the star on whatever contacts you want to approve.
Another bright side is you can temporarily approve places to ring through, like your mechanic that you’re waiting for a return call, or whatever else, and remove approval after you’ve concluded your business. Of course, if they call from an unknown back office number, they’ll have to leave a voicemail, which I’ve found is usually just fine anyway. Then you can save the callback number into their contact card, and they’ll be set to call you the next time. If you’re expecting a call from an unknown number, like the pizza delivery guy, you can always switch the volume back to accept calls from any number, and change it back again as soon as your expected call comes through. Very easy.
I used to get several spam calls per week, sometimes several per day. This method put a screeching halt to the problem, and I haven’t been bothered by it since.
Good luck my friend.