This is in Sweden, we are on pure SIP. Our provider require that we pass the A-number in the caller id. If we enable Call Forward on one of the extensions the forwarded call are rejected at our provider.
If I do a 'database show CF' I get the following:
/CF/2475 : 040987654
Extension 2475 is set to forward to 040987654.
When I dial the inbound number for extension 2475 (from 040123456) I get this in the log (shortened for display and IP-addresses replaced with xxx):
dialparties.agi: Extension 2475 has call forward set to 040987654
-- Executing Dial("SIP/xxx.xxx.xxx.xxx-08d5c0a8", "Local/040987654@from-internal/n|15|tr") in new stack
-- Executing Macro("Local/040987654@from-internal-8ff2,2", "user-callerid|SKIPTTL") in new stack
-- Executing NoOp("Local/040987654@from-internal-8ff2,2", "user-callerid: 040123456 040123456") in new stack
SIP/2.0 403 Call did not pass A-number check
Via: SIP/2.0/UDP 10.10.1.254:5060;branch=z9hG4bK70f1ad41;rport=5060
From: "040123456" <sip:040123456@xxx.xxx.xxx.xxx>;tag=as2afd9970
To: <sip:040987654@sip-xxxxxxxxxxx.xxxx.xx>;tag=b27e1a1d33761e85846fc98f5f3a7e58.dbb7
As you can see the caller (040123456) that calls the inbound number for extension 2475 gets his call routed to 040987654 but as FreePBX sets the callers caller id on the outgoing call the provider rejects it with:
SIP/2.0 403 Call did not pass A-number check
I don't know if it is allowed in the US to change caller id when making a call, but it is not allowed in Sweden.