Attended Transfer Caller ID Change

Hi all,

A client wants to be able to make attended transfers to an external number but with the original caller’s Caller ID.

Peace of cake, or so I thought.
Turns out Asterisk, upon activating the atxfer feature, does not properly honor Set(CallerID(num)=${NEWNUM}) (I’ve tried CONNECTEDLINE() as well, but that was equally fruitless).
It either sends out as “Restricted” (as if screening was prohib) or the fallback number.
This happens regardless of conditional logic in the dialplan (as inheritance seems to occur and a number IS set to caller ID).

I examined the verbose and debug logs and see that the P-Asserted-Identity can be set properly and yet still the called party expresses the caller ID as if it were not changing at all.

I understand the idea behind attended transfers (mostly internal), but my client refuses to not make attended transfers (blind transfers send the new callerid fine).

Is there any way to keep these “supervised” transfers while allowing me to change the outgoing caller ID from the transferer? Should I resort to creating a context for use with the applicationmap? If so, how would I go about that?

Thanks for your help.

Let me know of any logs you may be curious about.

P.S. Asterisk 13 w/ AEL Dialplan

Have you registered the caller’s number with your ITSP as being a number that you control? Responsible ITSPs will ignore attempts to set arbitrary caller IDs.

Does the ITSP support connected line update?

Have you enable sendrpid?

Can you reproduce the problem on a locally connected phone?