aloof-petabyte-74641
12/25/2025, 5:12 AMtall-airline-16756
12/25/2025, 5:12 AMtall-airline-16756
12/25/2025, 5:12 AMaloof-petabyte-74641
12/25/2025, 5:16 AMtall-airline-16756
12/25/2025, 5:16 AMX-Transfer-From: <original-id>), use that header to identify the handoff and ensure your app only removes the AI after seeing that header or the extension’s connected event.
• Implement a short overlap window to ensure media continuity.
◦ When extension joins, keep AI in the room for 1–2 seconds (or until you detect stable RTP flow) and then disconnect the AI. This avoids perceptible interruptions when Yeastar issues a new INVITE.
• Use a SIP Re-INVITE or update flow if possible from your side.
◦ If you can modify the INVITE you create to reuse the original identifiers (not always possible), that can simulate a transfer. If not, follow the join-then-remove flow above.
If you want, share one of the following and I’ll give a concrete code/sequence example:
• The REST SDK call you use to create the extension participant (request body, headers you set).
• How you currently detect participants joining (events/logs).
• Any SIP headers you can set on the INVITE.
Which of those can you share?