How to preserve caller ID during SIP warm transfer with Twilio

This question originally came up in our Slack community and the thread has been consolidated here for long-term reference.

When my agent performs a warm transfer to a transfer target, I want the original caller’s phone number to be shown on the transfer target’s device.

I’m getting this Twilio error:

Caller ID is unauthorized. A Valid Caller ID is either a DID you have purchased from Twilio or a verified Caller ID.

Code snippet:

response = await self._ctx.api.sip.create_sip_participant(
    CreateSIPParticipantRequest(
        sip_number=self.phoneNumber,  # customer's phone no.
        sip_trunk_id=sip_trunk_id,
        sip_call_to=phone_number,
        room_name=room_name,
        participant_identity=identity,
        participant_name="Human Agent",
        krisp_enabled=True,
        play_dialtone=False
    )
)

How can I preserve the original caller ID during the transfer?

See this documentation on preserving caller ID during SIP transfers: