Customer Number Not Displayed During SIP REFER Call Transfer - Plivo Provider

Hi Team,

We are facing an issue with SIP REFER-based call transfers and we are using Plivo.

Current behavior:
When a call is transferred to a third person using SIP REFER, the third person sees the Plivo number as the caller ID.

Expected behavior:
The third person should see the original customer’s number instead of the Plivo number during the transferred call.

We are using livekit framework. here is the sample code

await job_ctx.api.sip.transfer_sip_participant(
api.TransferSIPParticipantRequest(
room_name=job_ctx.room.name,
participant_identity=sip_participant.identity,
transfer_to=transfer_uri,
play_dialtone=True,
)
)

Thanks & Regards,

Anil Mohite

I don’t think that is quite right.

Umm, I think this is also not quite right. You should double check that ticket again. It is closed because it is already implemented.

Should be something like this:

await job_ctx.api.sip.transfer_sip_participant(
    api.TransferSIPParticipantRequest(
        room_name=job_ctx.room.name,
        participant_identity=sip_participant.identity,
        transfer_to=transfer_uri,
        play_dialtone=True,
        headers={
            "Diversion": "<sip:+1CUSTOMER@plivo>",        # or
            "P-Asserted-Identity": "<sip:+1CUSTOMER@plivo>",
        },
    )
)

LiveKit does let you attach Diversion/P-Asserted-Identity to the REFER via the headers field. Try that first; whether the customer’s number actually displays depends on what Plivo permits. Many SIP providers block setting an arbitrary identity but you will need to check with them for what they allow.

Thanks @CWilson, I’ll check.