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
Wasif Ullah:
This is a known limitation with LiveKit SIP REFER transfers
I don’t think that is quite right.
Wasif Ullah:
There’s an open feature request for custom SIP headers on REFER livekit/sip #237
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.