Show called ID on forwarded call


I’m using FreePBX and It’s working everything except the forward call on GSM mobile don’t show the number of caller but the number of my company ?

Is this possible to be showned the Caller ID ?

I have talked to my provider for CLID and CID but they said I have to mask forward call how can I do that ?

Providers have different requirements for formatting outbound caller ID.

If you want to guess at a solution, for a chan_sip trunk, try setting

For pjsip, set Send RPID/PAI to Both.

Also check that Generate Diversion Headers is on.

Otherwise, look at your provider’s documentation and any examples they may have. Or ask them about any specific requirements for these headers:

Also, ask them how the number should be formatted. For example, a number in London, UK might be sent as
Your provider may accept only one of those formats and if the incoming leg shows the number in a different format, you will need to adjust it.

Make sure that your Outbound Route and Trunk settings are not overriding the caller ID.

If no luck, post your trunk settings (mask phone numbers, account numbers and passwords, but make it clear what each field is). A SIP trace of a call showing the wrong caller ID would also be useful.

Hello @Stewart1,

I have tried sendrpid and sendrpid here you got my config on trunk:


That is completely wrong.

sendrpid=yes (will send Remote PartyID)
sendrpid=pai (will send P-Asserted Identity)

You have to choose one or the other. Chan_SIP will not set both.


Ok I have changet it to sendrpid=yes

I forgot the link to send you @Stewart1 if you want to see the logs ?

@Stewart1 @BlazeStudios

Here you can find the logs/trace

[2018-11-28 19:29:27] WARNING[1450][C-0000001a]: translate.c:407 framein: no samples for alawtolin

^ That’s a problem. You should probably fix your codecs.

There is nothing in this trace that shows the call being answered. It also doesn’t show what the headers were set with. You need to run a sip set debug on so we can actually see the SIP headers.

But the fact it can’t do transcoding on the codecs that are wanted is another issue.


Here you got

How to fix this: [2018-11-28 19:29:27] WARNING[1450][C-0000001a]: translate.c:407 framein: no samples for alawtolin

You have seemed to have missed a very important step. Making the actual call so we could see what the headers look like when it’s sent to the provider.

You need to run that command and make a test call.


I have made a call and those are records …

Remote-Party-ID: “100070XXX” <sip:[email protected]>;party=calling;privacy=off;screen=no

So that’s what you are sending. Is that what you are seeing or no?


Yes that’s the number I’m sending not caller id

No, that’s your CallerID that you are presenting to your carrier to send out. Is that exactly what you are seeing on the other side when you get the call as the CallerID?


Yes that’s the caller ID but it’s the number of my company not forwarded number I want to see

Do you have a Route CID set up in your Outbound Routes? If so, is that set to override anything? Also, does your provider allow you to send any ole CallerID?

Yes I have route CID and the providers said that’s it;s allowed

All they said it’s: I have just to mask the forward call ?

Is the Route CID set to override what is present to it by extensions, etc? Are you forcing it?

I’m not familiar with Serbia / Kosovo area so please confirm:
Original call from 049490XXX (IPKO mobile) to +38138606XXX (your company number in Priština) on Telekomi trunk.
Outbound call to 049681XXX shows caller ID 100070XXX.
Is that supposed to be a Pirot number (you have numbers in both areas)? This seems like a strange format (you couldn’t dial that from anywhere). I’d expect them to require 0100070XXX or 381100070XXX or +381100070XXX.

Are you forcing this number in the Trunk (force trunk CID)? In the Outbound Route (override extension)? What happens if you turn that off?