We just do not answer any non-local calls if we do not recognize the number, or at a minimum, the area code.
For a while, we were getting solicitation calls from charities at a rate of one every 15 minutes, now down to about 2 a day (we recognize the numbers).
OMG, these #$@# got to be worse than the regular telemarketers EVER were. I finally started picking up the phone and telling them to TAKE ME OFF YOUR CALL LIST. I don't get nearly as many calls now, but I still get them. I still cringe every time the phone rings, but at least it doesn't ring as often now.
What really grinds my ass is that occasionally I will get calls from solicitors even though I'm on the DNC list, and when I try to call back, they've used a SPOOF number on the caller ID. I called my Congressman's office, who of course told me there's no law against it.
As much as I hate to say it, I think they should just change the law to prevent solicitation of any residential phone, period.
You might want to sign up for the National Do Not Call Registry. You have to register yearly and it takes a few weeks to kick in, but the calls DO stop.
The one time we did have a solicitation call, I informed them we were on the NDNCR, and they couldn't hang up fast enough. :-)
We do the same at our house. If we don't recognize the number on the caller ID as someone we want to talk to, we simply don't answer the phone.