Astersik Attended Transfer Unexpected behavior for CallerId

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

Do you have a callerid configured on the 1111 endpoint?

Yes i have callerid set on the pjsip endpoint as ‘CID-1111’ and ‘CID-2222’ respectively.

Are you only setting the name, or are you setting a number as well?

It’s set like so in pjsip.conf.


type=endpoint
callerid=CID-1111

type=endpoint
callerid=CID-2222

Also thanks for looking into this! Greatly appreciated.

Instead of setting just the callerID name like this…

type=endpoint
callerid=CID-1111

type=endpoint
callerid=CID-2222

I set the callerId name with a number like this

type=endpoint
callerid=One <1111>

type=endpoint
callerid=Two <2222>

And the middle lag of the call had the correct callerID name and number

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