I don't think it's as simple as people think - for example, simply make sure the person owns the CallerID. At what point in the call stream would that be validated? You have to think that, when a call is made through a typical VoIP provider, it is most likely passed through 10 carriers (through arbitrage long-distance, then IXCs, then tandem/CLLI/POI CLLI).
I believe a good step would be to simply let the FTC trace using the CIC code that all carriers send over the PSTN/traditional telecom network. That way, the FTC could track a particular call or number through all the carriers until it reaches the originating information. The FTC has the capability to do that now, and based on the number of subpoena requests I've received (about 10/day), they actively do it.
The problem is that the companies doing the "illegal" robocalling (business to consumer/DNC or TSR violations) are overseas. There is no way, IMHO, that it can be stopped as long as long-distance providers exist.