In Denmark we have what is called a Robinson list. The list is made by a centralized government entity, and anyone can be added to the list without cost. All telemarketing firms have to download the list every three months and they are obliged by law not to call anyone from the list. Since I joined the list 3-4 years ago, I have only had one telemarketing call which apologized dearly when they saw their mistake.
However, this might not scale well from a nation of 5 million people to the 300 million of the US ;-)