Or one could just change the phone system so if you press "5" during a call, the caller gets charged 25 cents (going either to you, the phone company, or charity, it matters little). Phone spam would stop instantly.
It would require some technical changes, but nothing impossible.