Just an update for anyone else who may have had this issue. I think I have this figured out now. Looks like PAI was being overwritten and the ITSP didn't like that, causing the CID to display private or anonymous for outbound calls. Haven't been able to test this with an IP auth trunk only registered trunks so far. This is the snippet from Kamailio.cfg that fixed my issue. Notice the 2 commented out PAI lines.
# Checking if the carrier is using username/password auth
if (!strempty($dlg_var(dst_auth_domain))) {
$rd = $dlg_var(dst_auth_domain);
subst_hf("Contact", "/(.*)?<(sips?):([0-9]+)@([^:]+)(:[0-9]{1,5})?(;.*)?>(.*)?/<\2:\3@UAC_REG_ADDR:$Rp\6>\7/", "f");
#remove_hf("P-Asserted-Identity"); #append_hf("P-Asserted-Identity: <sip:$avp(auth_user)@$rd>\r\n"); }
else {
subst_hf("Contact", "/(.*)?<(sips?):([0-9]+)@([^:]+)(:[0-9]{1,5})?(;.*)?>(.*)?/<\2:\3@EXTERNAL_IP_ADDR:$Rp\6>\7/", "f");
remove_hf("P-Asserted-Identity");
append_hf("P-Asserted-Identity: <sip:$fU@$rd>\r\n");