I was just working on something like this yesterday, and ended up with this custom dialplan. Maybe you can edit it to suit.
[macro-dialout-trunk-predial-hook]
exten => s,1,Noop(Entering user defined context macro-dialout-trunk-predial-hook in extensions_custom.conf)
exten => s,n,GosubIf($["${TRUNKOUTCID}"="hidden"]?anonymize-outbound-call,s,1) ; enable hide CID in trunk config
exten => s,n,MacroExit
[anonymize-outbound-call]
exten => s,1,Noop(Entering user defined context anonymize-outbound-call in extensions_custom.conf)
; in order to prevent 2 PAI headers, it's important to DISABLE PAI on the trunk config in the GUI
exten => s,n,GoSub(func-set-sipheader,s,1(P-Asserted-Identity,<sip:${DIAL_NUMBER}@domain>))
exten => s,n,GoSub(func-set-sipheader,s,1(Privacy,id))
exten => s,n,Set(CALLERID(number)=Anonymous)
exten => s,n,Set(CALLERID(name)=Anonymous)
exten => s,n,Return