From f7cf66f8de4e9f7471a8eb0c2107e00b5156a7ee Mon Sep 17 00:00:00 2001 From: Him188 Date: Thu, 1 Oct 2026 01:42:50 +0900 Subject: [PATCH 1/3] docs(agents): BYO SIP cold transfers need PSTN transfers enabled on the trunk Twilio rejects a REFER to a phone number when the trunk only allows SIP transfers. Say so in the Twilio walkthrough and the transfer prerequisites, and point the transfer limitation at the prerequisites instead of claiming only purchased numbers can transfer. Co-Authored-By: Claude Opus 5.5 --- agents/telephony/byo-sip.mdx | 4 +++- agents/telephony/transfers.mdx | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/agents/telephony/byo-sip.mdx b/agents/telephony/byo-sip.mdx index 5b36249..de996e0 100644 --- a/agents/telephony/byo-sip.mdx +++ b/agents/telephony/byo-sip.mdx @@ -122,7 +122,9 @@ Set both when your carrier supports it. For [cold transfers](/agents/telephony/transfers), enable **Call Transfer - (SIP REFER)** in the trunk's settings so Twilio honors the handoff. + (SIP REFER)** in the trunk's settings and also allow transfers to the PSTN. + If transfers are limited to SIP destinations, Twilio rejects every transfer + to a phone number, and the caller stays with the agent. diff --git a/agents/telephony/transfers.mdx b/agents/telephony/transfers.mdx index 00bf2bd..308005a 100644 --- a/agents/telephony/transfers.mdx +++ b/agents/telephony/transfers.mdx @@ -17,7 +17,7 @@ Two modes decide what the handoff feels like: ## Prerequisites - A phone number bound to your agent, answering inbound calls. See [Inbound calls](/agents/telephony/inbound-calls). -- The number must support transfers. Numbers purchased from the platform inventory (`provider: "twilio"`) do; see [Phone numbers](/agents/telephony/phone-numbers). [Imported SIP numbers](/agents/telephony/byo-sip) support cold transfers when the carrier honors SIP REFER, and warm transfers when a termination is configured. +- The number must support transfers. Numbers purchased from the platform inventory (`provider: "twilio"`) do; see [Phone numbers](/agents/telephony/phone-numbers). [Imported SIP numbers](/agents/telephony/byo-sip) support cold transfers when the carrier honors SIP REFER to the destination (on Twilio, enable Call Transfer and allow PSTN transfers on the trunk), and warm transfers when a termination is configured. ## Configure destinations @@ -185,7 +185,7 @@ curl --request PATCH "https://api.fish.audio/v1/agent/agents/$AGENT_ID/config" \ ## Limitations - **Phone calls only**: web and SDK sessions have no phone leg to hand off, so the `transfer_call` tool never ships for them. -- **Transfer-capable numbers**: the number the caller dialed must be a `twilio`-provider number. +- **Transfer-capable numbers**: the number on the call must support transfers, as described in [Prerequisites](#prerequisites). - **Supported countries**: destination numbers are limited to an allowlist of country codes. ## Billing From 7e93e97a0833c683ac62dd06ec275767f5a1e539 Mon Sep 17 00:00:00 2001 From: Him188 Date: Thu, 1 Oct 2026 01:49:43 +0900 Subject: [PATCH 2/3] docs(agents): say plainly that phone-number transfers fail on a SIP-only trunk Co-Authored-By: Claude Opus 5.5 --- agents/telephony/byo-sip.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agents/telephony/byo-sip.mdx b/agents/telephony/byo-sip.mdx index de996e0..2d8c3f6 100644 --- a/agents/telephony/byo-sip.mdx +++ b/agents/telephony/byo-sip.mdx @@ -124,7 +124,7 @@ Set both when your carrier supports it. For [cold transfers](/agents/telephony/transfers), enable **Call Transfer (SIP REFER)** in the trunk's settings and also allow transfers to the PSTN. If transfers are limited to SIP destinations, Twilio rejects every transfer - to a phone number, and the caller stays with the agent. + to a phone number, so transfers to phone numbers won't work. From 84377ec38c407cf4b414897459c79d8eebdfd072 Mon Sep 17 00:00:00 2001 From: Him188 Date: Thu, 1 Oct 2026 01:50:14 +0900 Subject: [PATCH 3/3] docs(agents): drop the transfer-capable numbers limitation, prerequisites already cover it Co-Authored-By: Claude Opus 5.5 --- agents/telephony/transfers.mdx | 1 - 1 file changed, 1 deletion(-) diff --git a/agents/telephony/transfers.mdx b/agents/telephony/transfers.mdx index 308005a..2da432e 100644 --- a/agents/telephony/transfers.mdx +++ b/agents/telephony/transfers.mdx @@ -185,7 +185,6 @@ curl --request PATCH "https://api.fish.audio/v1/agent/agents/$AGENT_ID/config" \ ## Limitations - **Phone calls only**: web and SDK sessions have no phone leg to hand off, so the `transfer_call` tool never ships for them. -- **Transfer-capable numbers**: the number on the call must support transfers, as described in [Prerequisites](#prerequisites). - **Supported countries**: destination numbers are limited to an allowlist of country codes. ## Billing