Integration method: Custom Telephony / “Connect to your number via SIP trunking”
Number: imported via easybell, already bound to an agent (both inbound and outbound agent fields set)
What’s working:
Inbound calls work correctly. Configured via easybell’s “Trusted IPs” setting, using IP-based authentication for incoming calls. Calls reach the Retell agent as expected, no issues.
What’s failing:
Outbound calls fail every time, whether triggered manually via “Make an outbound call” in the dashboard or otherwise. Exact error from the call log:
Starting call: call_218a1aa940e3a0813f417c9480b
error: Error dialing to user, SIP status code: undefined SIP error category: unknown Error: twirp error unknown: max auth retry attempts reached for SIP invite
Ending call: call_218a1aa940e3a0813f417c9480b
Troubleshooting already done:
Confirmed easybell’s outbound SIP credentials work correctly outside Retell. Set up a softphone (Zoiper) using easybell’s SIP username/password for outbound calling. Registered successfully and placed a working outbound test call. This rules out an easybell account-side issue (balance, permissions, credential validity).
Tried IP-based auth for outbound on easybell’s side (matching what works for inbound) — no success. Also noticed easybell’s own UI states: “FQDN is only available for incoming calls” under Trusted IPs — implying IP-based auth is not actually supported for outbound on their platform, only for inbound.
Tried entering SIP credentials in Retell’s “Custom SIP Headers” field — understand now this is the wrong field (that’s for arbitrary metadata headers like X- prefixed keys, not authentication), so this was not expected to work and didn’t.
Attempted to create a separate outbound-specific number entry via “Connect to your number via SIP trunking” — Retell rejected this with an error stating the number is already in use (it’s already imported as a single number entity, currently used for inbound).
Re-entered credentials directly on the existing number’s edit page (the same number already used for inbound) — still getting the identical auth error on outbound.
Confirmed active registration in easybell’s portal shows only the inbound registration — no outbound registration/device shown, regardless of which auth mode is selected for outgoing calls.
Question:
Given inbound is fully functional and the SIP credentials are independently verified to work for outbound calling outside of Retell, what is the correct way to configure outbound SIP trunk authentication for an already-imported custom telephony number in Retell? Specifically:
Where exactly should the outbound Termination URI, username, and password be entered for a number that’s already imported (since creating a new entry is blocked as duplicate)?
Is there a known compatibility issue between Retell and easybell’s SIP implementation specifically?
Could someone look at call ID call_218a1aa940e3a0813f417c9480b on the backend to see exactly what credentials/URI Retell attempted to use, and why the auth retries failed?
Happy to provide additional call IDs, screenshots of my current number configuration, or any other details needed.
You need username/password auth for outbound, not IP-based. Easybell only does IP auth for inbound. In Retell’s custom SIP trunk settings, make sure you’re entering the SIP credentials (username and password) in the authentication fields — not the Custom SIP Headers. That’s where basic auth happens for outbound calls. The fact that Zoiper works with those creds confirms easybell’s setup is fine, so it’s definitely how you’re passing auth to Retell. Let me know if this helps?
Hello @mohd.awais944 Team pulled the PCAP for call_218a1aa940e3a0813f417c9480b and traced the full SIP exchange with easybell. What we see on the wire:
easybell replies 407 Proxy Authentication Required with a Digest challenge (realm sip.easybell.de, MD5).
We respond with a correctly-formed Proxy-Authorization using your username K4058760T1 and the stored SIP password.
easybell rejects that response with another 407 — four times in a row — at which point we give up. That is the “max auth retry attempts reached” message.
That exact pattern (well-formed digest response, fresh nonce each round, still 407) only reproduces when the password value doesn’t match what easybell has server-side. IP reachability, routing, our termination URI, and the extra Custom SIP Headers you added are all fine — none of them are causing this. There’s no known Retell/easybell incompatibility.
A few points to unblock you:
You are editing the right place. For an already-imported number, the outbound Termination URI + SIP username + SIP password on that same phone number’s edit page are the outbound trunk credentials. There is no separate outbound entity — the “number already in use” error when you tried to import it again is expected.
Your Zoiper test doesn’t prove the outbound-trunk password. Zoiper registered as a SIP extension (REGISTER + INVITE). Retell does trunking-style outbound (INVITE-only with inline digest), and Sipwise NGCP setups (easybell’s platform) very commonly issue a distinct SIP secret for the outbound trunk product vs the extension login. If those two secrets differ, Zoiper works while Retell 407-loops — which is exactly what’s happening.
The empty “outbound registration” view in easybell is expected, not a symptom. We don’t REGISTER outbound, so no device will ever show up there.
Recommended next steps:
In the easybell portal, confirm the account for K4058760T1 is provisioned as a SIP trunk (not just an extension). If easybell exposes a separate outbound-trunk SIP secret, that value — not the Zoiper login password — is what Retell needs.
Reset that outbound-trunk SIP password to a known value with no punctuation that copy-paste tends to mangle.
Paste the new password into the Retell phone-number’s SIP password field and save, making sure there is no leading/trailing whitespace.