So in P-Asserver-Identity should be the original callers number? For me this is also a magic, I cannot test it now but try:
Public Calling Party Number Passthrough set to Yes
Use Diverting Party Number as Calling Party Number set to No
Use Original Calling Party Number If Available set to Yes
Use P-Asserted Identity Header set to Yes
No, I don't think you understand ... let me set an example
Main billing number on SIP trunk is 612-555-1212. A call comes in from a cell phone (212-222-1111) and rings x29999 which is forwarded to a different cell number (651-444-7777)... the 212 and 651 numbers are not part of the SIP service from the carrier, so they want to see an invite like:
TO: <sip:6514447777@ipaddr:5060;transport=UDP>
FROM: <sip:2122221111@ipaddr:5060;transport=UDP>
P-Asserted-Identiy:<sip:6125551212@ipaddr:5060>
So the correct original caller's CID (212-222-1111) is carried through to 651-444-7777 and displayed on the cell phone, but any billing associated with it done against 612-555-1212
At least that is how I understand it.
According to my notes, the exact wording the SIP carrier's tech used was: You need to send us the main billing number in the P-Assert Identity field for any call that does not send an outbound CID we recognize as a DID on the SIP trunk. Actually, you can send any DID number as the P-Assert Identity so we know how to bill the call.
EDIT Nevermind, I just tested the above scenario and it works as fine. This must be the default behavior somehow. Guess I don't really have a problem.