There are a few ways that we do this on our end. You can enter the following in the voice trunk configuration
caller-id-override number-inbound 5555555555 if-no-cpn
caller-id-override emergency-outbound 5555555555
match ani "$" add p-asserted-identity "Caller ID"
Note that you can adjust for the inbound or outbound caller ID and add a name along with it if you like.
Got this from this from an Adtran SE.
The only way to add the user=phone parameter is to use HMR to do so. Unfortunately, the TA900 series first gen does not support HMR.
Support for HMR was introduced in R10.1.0, so it will not be in A4.11.00. I guess I need to cough up a newer box for application.
The only way to add a user=phone parameter to the SIP req-uri is to use a feature called SIP Header Manipulation Rules (HMR). SIP HMR was introduced in R10.1.0, so you will need to be running R10.1.0 or later firmware to accomplish this. R10.9.4 is the version we would recommend as of today.
You can get more details about SIP HMR in this document. Manipulating SIP Headers and Messages in AOS
Writing an HMR configuration for your specific case would require knowing more about how the SIP INVITE looks going to your SIP Trunk. I have not tested that config snippet below and I have not seen your config and I haven't seen your signaling, so I can't guarantee that it will work for you, but it is a start. There is most likely a better way to write the regular expression, but I think this will work.
hmr policy SIPTrunkOutbound
rule-set AddUserPhone 10
hmr rule-set AddUserPhone
message-rule AddUserPhoneRule message-type request 10
match header sip-req-uri match-value "/^INVITE /"
modify header sip-req-uri position first match-value /(.*com:5060)(.*)/ new-value /\1;user=phone\2/ 10
voice trunk T01 type sip
hmr SIPTrunkOutbound out