While not on 3cx, we use a local CID service provided through voxtelesys. They also have a 3cx plugin, apparently - though I have not used it.
https://www.voxtelesys.com/3cx-dynamic-caller-id/
In one of our dialers, we have about 300 some local DID's that we source the calls from, to make...