FreePBX not sending P-Asserted-Identity

Hi Guys,
We have SIP trunk configured with 0 Manipulation Rules and Send RPID/PAI is set to send P-Asserted-Identity header with Trust RPID/PAI enabled. However, supplier is complaining that they are not receiving PAID (p-asserted identity) header and they are removing outbound caller ID on all the calls. The caller ID is set per extension and trunk is configured all any CID and and outbound caller ID on trunk is not configured. The hide caller ID is also not enabled.

Please assist.


At the Asterisk command prompt, type
pjsip set logger on
and make a test call. The SIP trace will appear on the console and in the regular Asterisk log.

If the outgoing INVITE lacks the P-Asserted-Identity header, check that the correct trunk is being selected, that the Send RPID/PAI setting was properly saved and Asterisk reloaded (Apply Config).

However, IMO it’s more likely the the header is being sent but not in the format the provider expects. The Outbound CID for the extension should be (for example)
"John Doe" <+442071234567>
or maybe
"John Doe" <02071234567>
or possibly some other format. Look at the CID received on an incoming call and use that format for outgoing.

Also, make sure that the selected Outbound Route does not override the CID and is not marked Emergency or Intra-Company, and that CID Options for the trunk is set to Allow Any CID.

If you still have trouble, paste the Asterisk log for a failing call (with pjsip logger on) at and post the link here.

Thanks @Stewart1

its using appropriate SIP trunk where P-Asserted-Identity is enabled.
Outbound route doesn’t have CID or override extension enabled.
Trunk is set to allow any CID.

Following is what I can see in sip trace from asterisk log
P-Asserted-Identity: “CID:020XXXXXXX” <sip:0345XXXXXX@PBX IP Address> however, its only from softclient to PBX where I can see but not in PBX to trunk invite.

At the Asterisk command prompt, type
pjsip show endpoint yourtrunkname
The value of send_pai should be true.

If so, paste the log as requested.

If not, what does
have for send_pai for the trunk?

Thanks @Stewart1

This is confusing where as pjsip show endpoint trunkname shows send pai as no but GUI shows yes.
/etc/asterisk/pjsip.endpoint.conf has one trunk as yes and another as no.

Please advise.

Just an update that with another trunk where sendpai=yes in /etc/asterisk/pjsip.endpoint.conf it works fine.
How do I enable the same for another trunk. It shows it as enabled in GUI.

Have you tried to define your CID in the trunk (in the format your provider is using) and to allow only this CID on outgoing calls? Just to test your settings.

It seems that something went wrong during the setup. Try turning PAI off, Submit, Apply Config, then turn it back on, Submit, Apply Config. Check if pjsip.endpoint.conf is now correct.

If no luck, try deleting the trunk and setting it up again, possibly with a different name.

If still no luck, check whether your modules are up to date, particularly Core and Framework.

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.