When on the DNC list, you can still be called by a charity, for polling purposes, for political purposes, or by any company you do business with or companies they do business with.
You can nip that last bit off by telling the companies you do business with to not share your information with their affiliates and business partners via a privacy policy change. I found my banks, credit card companies, insurance companies and others freely shared my phone number with a ton of companies. I'm therefore guessing that the law only requires a fairly tenuous arrangement between your direct business providers and their 'partners'.
Another huge source of selling my data were the three credit bureaus. You can stop that by following the instructions in this article:
Opt-Out Prescreen Online - Notify the Credit Bureaus Online to Stop Selling Your Name
After torquing down the privacy policies, opting out of the credit bureaus distribution and doing the DNC list, we're down to a couple of calls a week, almost all looking to take a survey or ask for a donation.