We’re seeing a warm transfer failure with LiveKit SIP and I think the problem is happening in the SIP server layer, not the app.
Setup:
- provider: Africa’s Talking
- transport: UDP
- deployment: EC2
- livekit/sip version from logs: v2.11.4-0.20251016050252-63f7c8381817
Flow:
- inbound PSTN/SIP call comes into LiveKit SIP
- during the active call, we create an outbound consult leg with CreateSIPParticipant into a consultation room
What I expected:
- one outbound INVITE for the consult leg
- then either answer / reject / timeout from the provider
What is actually happening:
- LiveKit SIP sends the first outbound INVITE
- then sends CANCEL for that INVITE
- provider responds 487 Request Terminated
- LiveKit SIP then sends a second INVITE
- provider responds 482 Request merged
From pcap:
- 08:42:33.998765 first outbound INVITE
- 08:42:36.411865 CANCEL from our side
- 08:42:36.536778 487 Request Terminated
- 08:42:36.723757 second outbound INVITE
- 08:42:36.848409 482 Request merged
From SIP server logs:
SIP invite failed ... error: "canceled"
- then another
Creating SIP participant
- then
SIP invite failed ... error: "unexpected status from INVITE response: sip status: 482: Request merged"
I don’t see this second attempt being intentionally triggered from app logic, so I’m trying to understand:
- what causes the first outbound INVITE to get canceled?
- why does a second INVITE get sent immediately after?
- is this expected behavior in livekit/sip warm transfer / CreateSIPParticipant flow?
Happy to attach the pcap and full logs if useful.
We’re seeing a warm transfer failure with LiveKit SIP and I think the problem is happening in the SIP server layer, not the app.
Setup:
Flow:
What I expected:
What is actually happening:
From pcap:
From SIP server logs:
SIP invite failed ... error: "canceled"Creating SIP participantSIP invite failed ... error: "unexpected status from INVITE response: sip status: 482: Request merged"I don’t see this second attempt being intentionally triggered from app logic, so I’m trying to understand:
Happy to attach the pcap and full logs if useful.