I use Mr Number and Truecaller one set to block all numbers apart from my contact list and the other to block all numbers starting with 0843 and 0333, just in case any calls get through the first.
Seems to work well, as I haven't had a ppi or non contact call for several months.