We’re getting the error {"status":"Transfer call cannot be completed, the other side is busy.. Please inform the customer that the transfer did not go through and offer to try again or assist them directly."} (log: error: Error transferring call, SIP status code: 486 SIP error category: user_busy Error: twirp error unknown: INVITE failed: sip status: 486: User Busy) with Telnyx numbers when trying to do a warm transfer, we have everything setup correctly, what’s the issue here? (call IDs: call_e68261f49354cd8229e8231b2db, call_ef47842831b8f3be289afd0c39c).
That’s not the case, I’ve tried with different numbers on my end and seeing the same results for all of them. Twilio, however, works fine so it looks like Retell treats Telnyx differently?
Sure, Agent ID is `agent_ebebd897dd74fe863a23ddcfc6` and more call IDs:
call_fbe744cfb009f62cabdfdfa54f8
call_307b6b75b6f5c43150835a0c310
call_e68261f49354cd8229e8231b2db
call_ef47842831b8f3be289afd0c39c
call_a05b788105b14f63a236fa52f9f
call_7240aa90e9d1619dc6a3282827f
call_1c737e824a7d224bccc5337f4ee
call_08f1b467de132f5e6951d6351db
I’ve privately DM’d you our exact Telnyx config/setup to help
For more context: We’re trying to use Telnyx instead of Twilio because Telnyx explicitly supports Caller ID override which should allow us to do warm transfers with the original Caller ID
This is a custom number, and the errors returned are coming from your provider. From our side, everything is functioning correctly. The issue is that the transferred phone number is rejecting the Telnyx number for some reason (DND, provider is rejecting it …), so you will need to check with Telnyx support for this.
• On failed transfers, Telnyx sends the B-leg INVITE to sip.retellai.com (http://sip.retellai.com/) as expected. Retell responds with 180 Ringing, then 486 Rejected (Q.850 cause=17, USER_BUSY). The call never establishes on that leg.
• On successful calls to the same number, the same flow completes normally with 200 OK, and the call connects fine.
There is no inbound concurrent call limit configured on your Telnyx SIP connection that would cause this. The rejection is coming from the Retell side.
Since this works on Twilio but not Telnyx, the most likely explanation is one of the following:
Retell limits concurrent SIP sessions per agent/endpoint. During a warm transfer, the original call leg to Retell is still active when the second INVITE arrives. If Retell doesn’t support two simultaneous sessions to the same agent, it rejects the second one as busy. Twilio may handle this differently at the application layer.
SIP header differences. Twilio and Telnyx may send different headers on the transfer INVITE (e.g., Replaces, Referred-By, P-Asserted-Identity format). Retell could be keying off a header or format that differs between providers.
I’d recommend comparing the raw SIP INVITE from both Twilio and Telnyx for a transfer leg to identify any differences that Retell may be reacting to. Your Retell support team would be best positioned to check why their endpoint is returning 486 when a second session arrives while the first is still active.
Let me know if you need any additional details from the SIP traces.
Does Retell limits concurrent SIP sessions per agent/endpoint? Can you also check if there are SIP header differences that could be causing this?
These are all number owned by me and they are for a fact not busy when I try to test with them - it works fine on Twilio.
I just tried calling again trying to transfer to a different phone number I own but same results (call IDs: call_f36be75b60c77ac1125657f0b19, call_f1142f6a76ea4c0515bbbe39d61) getting error: Error transferring call, SIP status code: 486 SIP error category: user_busy Error: twirp error unknown: INVITE failed: sip status: 486: User Busy
Can you please try calling our Telnyx number yourself (it’s the number ending in 8884 in the call details) and check for yourself?
Cold transfers are working (test call: call_7f9cf572c71f72458480147d0ce) but warm are not.
Ok I setup a minimal warm call transfer test agent (agent ID: agent_d3a0c81833e7da1ad3cb764b39) and just made 2 calls with both Twilio and Telnyx with the exact setup and number to transfer (mine):
Twilio (call ID: call_fb6a4e71f75b26e05ac794c868d) - warm transfer SUCCESSFUL
Telnyx (call ID: call_18a0c178ffe132d7a4e5dc5272b) - warm transfer FAILED
Both calls were made with the exact same config.
Hopefully this helps you debug it better (compare the pcaps side-by-side).
However, the issue with the Caller ID override still persist - we’re seeing the following error when trying to set the warm transfer with the User's Number called ID:
error: Error transferring call, SIP status code: 403 SIP error category: telephony_provider_permission_denied Error: twirp error unknown: unexpected status from INVITE response: sip status: 403: Unverified origination number D51
Telnyx officially supports caller ID override but requires the Diversion header to be set from Retell’s end but you don’t give us the ability to set it. We can only set custom headers with the X prefix. Telnyx’s anti-spoofing firewall strictly looks for the standard SIP DiversionDiversion header on the outbound leg - can you please set that for us or give us the ability to set it? VAPI allows us to do this but we want to use Retell instead