Skip to content

SIP transfer fails against a multi-hop proxy (Avaya SM) — REFER's Route header points back at LiveKit-SIP itself #771

Description

@amr-imad

What we're seeing

When an inbound call arrives through a proxy that inserts multiple Record-Route entries (Avaya Session Manager, in our case), a subsequent TransferSipParticipant call fails every time. The REFER LiveKit-SIP sends out carries a Route header pointing back at LiveKit-SIP's own address instead of the proxy's. The proxy dutifully routes the request back to us, we don't recognize it as a valid inbound request, and reject it with 405 Method Not Allowed — so the transfer never completes.

Transfers work fine against a direct SIP peer with no proxy in the signaling path.

Example

# INVITE Record-Route (from the proxy, PROXY_IP = Avaya Session Manager)
Record-Route: <sip:PROXY_IP;transport=tcp;lr>

# Our outgoing REFER — should route back through PROXY_IP, but instead:
Route: <sip:LIVEKIT_SIP_IP;transport=tcp;lr>

What we've tried

Same failure in every combination we tested:

Version add_record_route Result
Older production build default Fails, same Route bug
v1.8.0 default Fails, same Route bug
v1.8.0 true Fails, same Route bug

Happy to help

We have full sanitized SIP captures (INVITE/REFER/logs) from a real production reproduction if that's useful for tracking this down.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions