I have just upgraded from FreePBX 13 to 15 and despite my poor experience of trying to use PJSIP in V13 I thought I would give it another go and try moving some trunks over from Chan_Sip to PJSIP.

I have moved a trunk using voipcheap (sip.viopcheap.co.uk) and calls appear to go out OK. However the caller ID is not being sent through? In Chan_SIP I have the Outbound CID set in each extension and this passes through to the trunk on to the end party, however in PJSIP this is not being sent through. Is there a trunk setting I am missing.

I should say the extensions are still on Chan_Sip at the moment if that makes any difference? I plan to change those over once I have all my trunks working OK.

I should have added I am using:-

PBX Version:
PBX Distro: 12.7.8-2008-1.sng7
Asterisk Version: 16.11.1

There is no need to convert your extensions to pjsip to have this work.

Check the pjsip advanced settings for RPID and ensure you’re sending the Remote Party ID in a format your provider needs.

What format would usually be sent on a standard Chan_sip trunk (I never modified any setting on that) then? I tried all the option available on the PJSIP trunk without success?

Let’s be clear on something here, there is only one format for Remote Party ID, that is the RPID format. There isn’t another format for RPID.

Most likely your provider is looking for CallerID from the P-Asserted-Identity header. So make sure the trunk has the Send RPID/PAI setting to P-Asserted-Identity and give that a try. Of course you could just ask your provider what format/header they expect callerid in so we could pin point the answer faster.


If your chan_sip trunk had the sendrpid parameter, set Send RPID/PAI in pjsip accordingly.

If you still have trouble, post your chan_sip settings (masking account numbers and phone numbers, remove password) as well as your pjsip settings and we can see what is different regarding caller ID.

These are my SIP settings.

These are my PJSIP settings.


I got this from my service provider today?

So I made this change but still caller ID is not being sent to the end user? I am lost I think.

Does anyone have any idea’s on this problem, I think I am going back to Chan_SIP, it just works without all this hassle ?


In your chan_sip settings, you don’t have fromuser or sendrpid parameters, which means that the calling number is sent in the From header.

In the pjsip settings From User is blank (the equivalent to no fromuser), but it appears to be ‘selected’ in the screenshot. Did you change this just for posting (to redact the value)?

If you have a working chan_sip trunk, at the Asterisk command prompt, type
sip set debug on
and make a test call. The SIP trace will appear in the Asterisk log (along with the regular entries) and we can see what a good INVITE looks like.

Then, for the pjsip trunk, type
pjsip set logger on
and make a test call on that. We can compare the INVITEs to know what setting needs to be adjusted.

Stewart, thanks for that post, you have cracked it. I did redact the value for the posting. When setting up an Orbtalk trunk i had to have the account user name in there for it to work, so I had followed the same formula with my Voipcheap trunk. Removed the From User setting and the correct caller ID is going through.

I am finding PJSIP and bit more challenging than Chan_SIP, each trunk provider seems to require different formats to get them working.

However, I have Voipcheap, Orbtalk and Sipgate cracked now, extensions have always worked in PJSIP fine so I think I am pretty good to go with moving to PJSIP at last.

Many thanks to everyone who helped me out here, much appreciated.

Jist a final thanks to everyone who helped me here with advice, changed my system over to PJSIP this week and its been working great, so hopefully I am now future proofed for a while.

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