Why is it even possible to fake Caller-ID anyway? You are charging a provider to make the call, you know exactly who it's come from.
Because you have a grave misunderstanding that Caller ID and call routing and billing codes have anything to do with each other, and have unrealistic expectations out of Caller ID.
Take the example at my work place. We have over 200 phone extensions, but we only have 60 DIDs from the phone company and thus 60 phone numbers.
For those 60 extensions our system reports the DID in the Caller ID field, so you know the outside phone number to call if you want to reach that extension.
But what do you suggest for the other 140 phones?
I argue the incorrect "spoofed" value of our main/reception phone number being sent as Caller ID is hugely more useful than whatever nonsense you are promoting. At least with that data you know it is our company calling, and have a number to call back to at least potentially be transferred to the internal only phone extension you can not possible dial directly from the outside.
Making the Caller ID value "correct" would mean you couldn't dial it (it's a 4 digit number after all), and it wouldn't tell you who is calling you. Completely worthless.
It can't be made a DID since the phone has none.
It shouldn't be left blank or you would still be bitching about it.
So what exactly would you suggest as a value that isn't "spoofing" but is also your definition of "correct"?