(The following is pasted here from a comment I made here back in June)
For my home telephone number, I’ve ported it to Cellfire, a cloud telephony provider for $3 per month plus $0.05 per minute usage. I have a simple phone menu (no voice mail) that transfers calls to one of our four mobile numbers. 95% of the calls made to my home number are hangups - the robo dialer does not know how to press[1] for me, [2] for my wife, etc.
For our mobile phones we run an app called Mr. Numbers which crowd sources the flagging of spam originating telephone numbers. Some spammy calls still do get through, a couple a week, but most are caught and simply hungup on before the mobile phone even rings twice.
I have no problem giving out my home number with this filter, and certain relatives, who forget or refuse to direct dial our mobile numbers continue to get through. Because I pay by the minute, and it is rounded upward from one second, it is tempting to mess around with robo dialers, but honestly, I’d rather they regard my number as a waste of time and move on.
tl;dr: Ported home phone to “the cloud”, thwarts robocallers and costs about $5 / month