When does this happen?
In my setup, I receive calls to fusionpbx with cleaned up callerID if it was hidden by the caller. My Gateway still sees the call but correctly strips it away before passing it on to fusionPBX. All works fine if that anonymous call will be handled by fusionpbx without forwarding it back to PSTN again. If however the call will be forwarded to PSTN, some carriers might block the call.
Why is this happening?
Well, apparently someone thought it would be a good idea to make interconnection fees based on the caller id! What this means, if I call an Austrian number that resides with let's say Telekom Austria with my Austrian office callerID the interconnection fee between my carrier and Telekom Austria differs from the same call if I would use a US CallerID for example.
So the same person is calling from the same server via the same connection but interconnection fees differ because of the different caller id. I wonder in which f** universe this makes any sense.
How to fix it?
In fusionPBX edit the
default_caller_id dialplan and in case the caller_id_number is
anonymous then update the
outbound_caller_id_number to your customers DID and add the privacy headers to send the call with a hidden callerID.
This will result in you carrier accepting the call and sending it out with privacy headers set, so the receiver of the call will of course only see that it's anonymous call but everyone is happy.