Handling the CID of outgoing call

Hi all,
I am having the following situation:
PBX-1 is connected to PBX-2 via IAX-2 trunk. PBX-1 also have a sip trunk for incoming calls. PBX-2 have several trunks. Here is the schema of call flow:

ISP -> incoming call (sip trunk) -> PBX-1 -> IAX2 -> PBX-2 -> outbound (sip trunk) -> to mobile phone.

  1. I used ‘Follow me’ for outbound calls from PBX-2 to mobile.
  2. The IAX trunk betwee PBX-1 & PBX-2 is in internal context.

The whole behavior is a little bit complicated, but I have two scenarios:

  1. Make a call to PBX-1, forward to extension in PBX-2. Ringing internal extension. In this situation everything is OK, the recipient see my CID.
  2. When the no answer, the call should goes outside (to mobile) using ‘Follow me’ function, but the called party see the PBX-1 trunk number not mine CID.
    I don’t know How to show my CID number to the mobile phone?
    I am using FreePBX 2.11

I am also facing a issue on CID.
Here is the schema flow PBX 1 --> IAX2 --> PBX 2
When PBX 1 SIP Ext call to PBX 2 SIP Ext. PBX 2 SIP is ringing but Caller ID showing IAX2 USer ID.
When PBX 2 SIP no answer,call forworded to Outside by using ‘Follow me’ function but the called party see the PBX 2 Trunk number.
How Can i show on PBX 1 SIP Extension CID on PBX 2 SIP Extension instead of IAX CID ?
I am using FreePBX

Thanks in Advance.