How to see who's calling when picking up for someone else?


I’ve got 2 questions.

  1. I was wondering if there’s a way I could see who’s calling on someone’s extension before I pick up that call (assuming we are all in the same pickup/callgroup).
    Let’s say the phone rings from my colleague and I want to pick it up for him with my phone (*8).
    When I pick up that phone, I would like to see the caller ID.

  2. I would also like to be able to see the original caller id if someone transfers a call to me or first to 5 others and then to me. To see who’s the person I will/am actually talking to?
    Is there a way to preserve that original caller id?


What version of Asterisk/FreePBX are you using? What type of phones. Did you set trustrpid and sendrpid for your extensions?

I don’t have an answer for your first point, but on the CallerID for the transfered calls that should work without issue. The key is that you need to make sure that you are doing blind transfers; if you do attended to semi-attended transfers you will usually see the callerID of the person doing the transfer (which makes sense when you think logically since they are calling you directly first). As alan_mousty pointed out, depends on the type of phones you have as to how they handle things… there’s usually a default “type of transfer” that the phone can be configured to do…

Thx for the replies so far.
Transfering the phone works indeed with a blind transfer.

Currently I’m running the latest stable version (1.8 x64 with asterisk 1.8).
The phones are Grandstream GXP2000 and I have no idea what the trustrpid and sendrpid are (sorry).

The only thing that I would like to have now is seeing the original CID, eg:
Caller A from outside makes a call
Extension B inside the firm is ringing and has the CID on his phone.
I (extension B inside the firm) want to pickup his phone because he’s not there but all I see then is *8 and not the original CID.

Thx in advance

The problem becomes more obvious when you think about the logic flow:

  1. Outside caller makes call into FPBX/Asterisk
  2. FPBX/Asterisk rings target extension (say 221)
  3. You hear 221 ringing, and want to steal the call. You pickup your phone and dial *8

The problem is in steps 1 and 2, the call is being originated from the external number, so the callerID is being sent TO a device. When you do step 3, you are essentially making a call FROM your phone to the PBX. Thus, your phone shows the number that you have dialed on the screen since it’s not aware that you’re actually connecting to an external call (the PBX does that “connection” for you). Apparently this is an underlying SIP problem, since there’s no clear standardized way to “change” the callerID (and have it update on a phone display) while in the middle of a call. (If you think about it, other than in this scenario why would you ever need to do that?)

You could work around it with some custom dialplan or AGI code, but it would take some effort to get right. Essentially the idea would be to define a new feature code that when dialed would find phones that are ringing in the same pickup group, hangup the call that you made, and trigger the original call to then ring onto your phone instead?.. perhaps others have a better idea?

jolouis, your information is a bit out of date. Everything you said was true of older versions of asterisk/freepbx but it is no longer true that “there’s no clear standardized way to “change” the callerID”

alan_mousty gave the clue, it is called rpid (Remote Party ID). If your phone** supports rpid and you are running current versions of Asterisk and FreePBX so that they both support rpid, you should only need to enable the two settings identified by alan_mousty to get the behavior you desire.

I can confirm that with Asterisk 1.8, FreePBX 2.10 and Aastra 67xxi phones, I only need the following settings in each individual extension for rpid to work:
trustrpid: yes
sendrpid: P Asserted Identity

**It is not clear from my googling whether the GXP2000 supports rpid or not.

1 Like