I’m running asterisk 20.11.0 on Ubuntu 22.04 using pjsip and getting what I believe is unexpected behavior for caller id when doing a asterisk attended transfer.
I get a call to 0123456789 from 555-555-5555 that’s received in [Incoming] in extensions.conf, i dial an internal extension 1111, 1111 then does an asterisk attended transfer to 2222 (dialling *02222), 2222 rings ands sees the callerid as 0123456789, then when the transfer is complete, the callerID changes to 555-555-5555.
The callerId is correct when the transfer completes thanks to setting send_rpid = yes in pjsip on the endpoint, due the remote-party-id.
But why does the middle of a attended transfer display 0123456789? The callerId seems to change to whatever ${EXTEN} is on the original channel. I tested this by doing a goto before dialing, and it changed the callerid on the middle part of the attended transfer.
Is this expected behavior for the middle of an attended transfer? How do i control the CallerId for the middle part of a attended transfer?
Any help would be greatly appreciated.
I have the following setup.
extensions.conf
[Incoming]
exten = 0123456789,1,NoOp( Incoming call from ${CALLERID(NUM)} to 0123456789)
same => n,Dial(PJSIP/1111,TtKkwr)
same => n,hangup()
…
[Internal]
exten = 2222,1,NoOp( Internal call to 2222 )
same => n,dial(PJSIP/2222,TtKkwr)
Then in features.conf i have
[featuremap]
atxfer => *0