Attended transfer, missing outside caller ID

This is a frequent question. I’ve checked the extension settings on both sides

External call incoming to x1300
x1300, trust rpid = yes, send rpid = pai
endpoint is a Polycom 550

x1300 does Attended transfer to x1422
x1422, trust rpid = yes, send rpid = pai
endpoint is MicroSIP

The caller ID appearing on x1422 is x1300 , not the external call

I checked the Asterisk log (hoping for some answers) and is shows this (below). Is there something in FreePBX/Asterisk that needs to be changed?

[2021-03-25 14:22:37] VERBOSE[23704][C-00003a62] pbx.c: Executing [1422@from-internal:1] GotoIf("PJSIP/1300-0000852d", "1?ext-local,1422,1:followme-check,1422,1") in new stack
[2021-03-25 14:22:37] VERBOSE[23704][C-00003a62] pbx_builtins.c: Goto (ext-local,1422,1)
[2021-03-25 14:22:37] VERBOSE[23704][C-00003a62] pbx.c: Executing [1422@ext-local:1] Set("PJSIP/1300-0000852d", "__RINGTIMER=15") in new stack
[2021-03-25 14:22:37] VERBOSE[23704][C-00003a62] pbx.c: Executing [1422@ext-local:2] ExecIf("PJSIP/1300-0000852d", "0?Set(__CWIGNORE=)") in new stack
[2021-03-25 14:22:37] VERBOSE[23704][C-00003a62] pbx.c: Executing [1422@ext-local:3] Macro("PJSIP/1300-0000852d", "exten-vm,1422,1422,0,0,0") in new stack
[2021-03-25 14:22:37] VERBOSE[23704][C-00003a62] pbx.c: Executing [s@macro-exten-vm:1] Macro("PJSIP/1300-0000852d", "user-callerid,") in new stack
[2021-03-25 14:22:37] VERBOSE[23704][C-00003a62] pbx.c: Executing [s@macro-user-callerid:1] Set("PJSIP/1300-0000852d", "TOUCH_MONITOR=1616696557.57890") in new stack
[2021-03-25 14:22:37] VERBOSE[23704][C-00003a62] pbx.c: Executing [s@macro-user-callerid:2] Set("PJSIP/1300-0000852d", "AMPUSER=1300") in new stack
[2021-03-25 14:22:37] VERBOSE[23704][C-00003a62] pbx.c: Executing [s@macro-user-callerid:3] Set("PJSIP/1300-0000852d", "HOTDESCKCHAN=1300-0000852d") in new stack
[2021-03-25 14:22:37] VERBOSE[23704][C-00003a62] pbx.c: Executing [s@macro-user-callerid:4] Set("PJSIP/1300-0000852d", "HOTDESKEXTEN=1300") in new stack
[2021-03-25 14:22:37] VERBOSE[23704][C-00003a62] pbx.c: Executing [s@macro-user-callerid:5] Set("PJSIP/1300-0000852d", "HOTDESKCALL=0") in new stack
[2021-03-25 14:22:37] VERBOSE[23704][C-00003a62] pbx.c: Executing [s@macro-user-callerid:6] ExecIf("PJSIP/1300-0000852d", "0?Set(HOTDESKCALL=1)") in new stack
[2021-03-25 14:22:37] VERBOSE[23704][C-00003a62] pbx.c: Executing [s@macro-user-callerid:7] ExecIf("PJSIP/1300-0000852d", "0?Set(CALLERID(name)=)") in new stack
[2021-03-25 14:22:37] VERBOSE[23704][C-00003a62] pbx.c: Executing [s@macro-user-callerid:8] GotoIf("PJSIP/1300-0000852d", "0?report") in new stack
[2021-03-25 14:22:37] VERBOSE[23704][C-00003a62] pbx.c: Executing [s@macro-user-callerid:9] ExecIf("PJSIP/1300-0000852d", "1?Set(REALCALLERIDNUM=1300)") in new stack
[2021-03-25 14:22:37] VERBOSE[23704][C-00003a62] pbx.c: Executing [s@macro-user-callerid:10] Set("PJSIP/1300-0000852d", "AMPUSER=1300") in new stack
[2021-03-25 14:22:37] VERBOSE[23704][C-00003a62] pbx.c: Executing [s@macro-user-callerid:11] GotoIf("PJSIP/1300-0000852d", "0?limit") in new stack
[2021-03-25 14:22:37] VERBOSE[23704][C-00003a62] pbx.c: Executing [s@macro-user-callerid:12] Set("PJSIP/1300-0000852d", "AMPUSERCIDNAME=Essex Admin") in new stack
[2021-03-25 14:22:37] VERBOSE[23704][C-00003a62] pbx.c: Executing [s@macro-user-callerid:13] ExecIf("PJSIP/1300-0000852d", "0?Set(__CIDMASQUERADING=TRUE)") in new stack
[2021-03-25 14:22:37] VERBOSE[23704][C-00003a62] pbx.c: Executing [s@macro-user-callerid:14] GotoIf("PJSIP/1300-0000852d", "0?report") in new stack
[2021-03-25 14:22:37] VERBOSE[23704][C-00003a62] pbx.c: Executing [s@macro-user-callerid:15] Set("PJSIP/1300-0000852d", "AMPUSERCID=1300") in new stack
[2021-03-25 14:22:37] VERBOSE[23704][C-00003a62] pbx.c: Executing [s@macro-user-callerid:16] Set("PJSIP/1300-0000852d", "__DIAL_OPTIONS=HhTtr") in new stack
[2021-03-25 14:22:37] VERBOSE[23704][C-00003a62] pbx.c: Executing [s@macro-user-callerid:17] Set("PJSIP/1300-0000852d", "CALLERID(all)="Essex Admin" <1300>") in new stack
[2021-03-25 14:22:37] VERBOSE[23704][C-00003a62] pbx.c: Executing [s@macro-user-callerid:18] ExecIf("PJSIP/1300-0000852d", "0?Set(CUSDIAL=1422)") in new stack
[2021-03-25 14:22:37] VERBOSE[23704][C-00003a62] pbx.c: Executing [s@macro-user-callerid:19] ExecIf("PJSIP/1300-0000852d", "0?Set(CALLERID(all)="Essex Admin" <1300>)") in new stack

[2021-03-25 14:22:37] VERBOSE[23704][C-00003a62] pbx.c: Executing [s@macro-user-callerid:17] Set(“PJSIP/1300-0000852d”, “CALLERID(all)=“Essex Admin” <1300>”) in new stack

If you are referring to when initially calling then when starting an attended transfer there is no difference between it and a second call from the phone. It is not tied to the other call leg at all, there is no knowledge that it is an attended transfer of the other call. It therefore uses the normal callerid as if it were a normal call.

So, just to be clear

Unattended transfer = original caller ID is passed along
Attended transfer = original caller ID is not passed along

And, it’s impossible to allow the original caller ID to be passed via an Attended transfer.

Do I have that right?

Not exactly. It’s impossible for the orig CID to be passed initially on an attended transfer, but if you have RPID (remote party ID) configured on the PBX, and your devices are configured to support it, then the CID will update to the original upon transfer completion.

Thanks for that finer clarification. The above settings are for all our extensions in FreePBX. We’re working with Polycom 550 from which the call is being transferred. I’d expect that phone to support PAI, but perhaps it should be another setting?

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