Correlate queue answer events to transfer legs on an exact single match
When a bot transfers into a hosted call queue such as Zoom Phone over LiveKit and Telnyx, no shared call ID survives the path. Custom SIP X-headers are stripped once the call leaves the carrier, Telnyx client_state only returns in Telnyx callbacks, and the queue's answer webhook carries only its own call ID, callee, caller number and answer time. Snapshot each attempt before dialing: caller number, destination queue and dial time. On a signed answer event, require the same account and queue, a caller number equal to the original ANI, and an answer time inside the leg's active window. Bind only when exactly one candidate fits in both directions, refuse legs that used a shared fallback caller ID, and dedupe on the platform call ID. Persist the join key at intake, because a receiver that drops it can never match later.
Applies when: joining a third-party phone platform's webhooks to your own SIP transfer legs. Keywords: Zoom Phone webhook correlation callee_answered Telnyx LiveKit SIP X-header client_state ANI caller number call queue transfer leg