v4.0.6: Your Employees Answer on Any Phone Provider, Choose Their Own Voice, and Finally Sound Like HD

Share
v4.0.6: Your Employees Answer on Any Phone Provider, Choose Their Own Voice, and Finally Sound Like HD

Until this release, giving an AI employee a phone number meant giving it a Twilio account. That worked, and it still works. But plenty of businesses already have a phone system: a SIP trunk, a provider they negotiated rates with, a number their customers have been calling for fifteen years. Asking them to move all of that onto Twilio just so an AI employee could pick up was a bigger request than it looked.

v4.0.6 drops that request. It is the largest release we have shipped on the voice side, and it changes three things at once: where calls come from, what your employee sounds like, and how good the audio actually is.

Any SIP provider, with your own account

Settings > Connectors now has a SIP / VoIP section. You add your provider's account the way you would anywhere else: server, port, transport (UDP, TCP or TLS), username, password, number. The advanced panel covers domain, authentication username, outbound proxy, DTMF mode, codecs, registration and SRTP for the setups that need them.

Each line shows its live registration state, connected, connecting or failed, and there is a "Test the connection" button that waits for the provider's real answer rather than guessing.

Once a line registers, an employee on it answers incoming calls and places outgoing ones with the same voice AI as on Twilio: the same tools, the same memory, the same transcript, the same call history. A SIP line is not a second-class line.

If you self-host, there is no new port to open on an existing instance. TLS runs on 5060/tcp, and plain TCP only uses connections the instance opens itself.

Recording came along too. With "Record calls" on, a SIP call is recorded (both voices, 16 kHz) and saved as an MP3 beside its transcript. The call card in the chat offers it for download, exactly as it does for Twilio.

Calls and voice, on one screen instead of three

In the employee's chat, "Voice calls" and "Video calls" are gone. In their place is a single "Calls & voice" entry with four tabs:

Line. The employee's phone line, picked from one list of every line on the instance, Twilio numbers and SIP lines together with their current state, or removed. Admins only. Changing the line keeps the call settings.

Voice. The voice engine, one call voice used across browser, video and phone calls, the language of phone calls (saved the moment you change it), plus shortcuts to the avatar video voice and the voice that reads messages aloud.

Rules. Greeting, custom instructions, call recording, capabilities and the fine speech settings.

Call. Start a browser voice or video call, see the number to reach by phone, and read the browser, phone and video histories.

Connectors, meanwhile, become what they should always have been: account management. SIP handles provider accounts. Twilio handles credentials, balance, and buying or releasing numbers. Each line shows which employee holds it, read only. Everything about how a given employee talks now lives in that employee's own screen.

Three voice engines

Settings > API keys now accepts an ElevenLabs key, verified when you save it, with a step by step guide including exactly which permissions to tick. With a key in place, Calls & voice > Voice offers three engines. Without one, the screen is unchanged.

Gemini Live stays the default and is unchanged. One improvement: phone calls now accept all 30 Gemini Live voices, where they previously accepted 8.

ElevenLabs. Gemini Live still listens, thinks and calls the tools. An ElevenLabs voice (Eleven v4 Turbo, streamed sentence by sentence) does the speaking. Gemini can add expressive audio tags, laughs, sighs, whispers, pauses, which the voice performs and which never show up in the transcript. If ElevenLabs drops mid call, the Gemini voice takes over rather than the call dying.

Eleven Realtime (test). ElevenLabs runs the entire call: it listens, answers in its own voice and calls the employee's tools, with the caller's words transcribed in the call language. No Gemini involved at all. Web search routes through the instance's OpenRouter key, and the call is not counted against Gemini usage.

Whatever you choose applies everywhere the employee speaks: Twilio calls, SIP calls, browser voice calls and video calls, where the avatar moves its lips on the ElevenLabs voice. Tags show you where a voice is in use. The screen shown before a browser voice or video call offers the same choice and remembers it for that employee.

The voice library

With an ElevenLabs key on a paid plan, Calls & voice > Voice opens the ElevenLabs voice library directly. Search by words, by language (defaulting to the call language) and by gender, listen to candidates, and "Use" adds the voice to your ElevenLabs account and assigns it to the employee. On the free plan, a note explains that only your account's own voices are available.

Admins get an ElevenLabs usage overview once a key is set: the plan, credits used this billing cycle against the limit, the reset date, voice slots and the next invoice. Then, for today, 7 days, 30 days or a custom range, credits spent per day, per engine and per voice, with the employees using each voice. Those figures come from ElevenLabs' own usage statistics, not from our estimate.

The part you hear first

SIP calls are now wideband end to end at 16 kHz, with no mu-law in the path. A provider running G.722 keeps HD voice all the way up to the AI and back down.

For every phone call, Twilio and SIP alike, the sample rate conversion is now a proper anti-aliasing filter that keeps its state between audio chunks. In plain terms: the metallic edge is gone, and so are the tiny clicks where chunks used to meet. Measured, a 9 kHz tone converted from 24 kHz down to 16 kHz drops from -8 dB to -73 dB.

Two turn taking changes landed on Eleven Realtime calls. The employee now follows your "Interrupt" rule properly, so line noise or echo can no longer cut it off or trigger a stray answer, while you can still interrupt whenever you like (it stops once you have actually been talking for about half a second). And on outbound calls, the greeting waits for the other person's "hello?" instead of being cut by it and starting over. Answers are kept short on the phone, where they should be.

White label now reaches the employee itself

Branding used to stop at the interface. On a white labelled instance, what the employee itself reads, its own profile and every piece of skill documentation, now names your brand instead of the platform, with a rule telling it never to name the platform, its vendor or the AI provider.

It holds in the places it used to leak. The brand is applied when the employee starts, when the website widget or a phone call reads its profile, and across every agent folder when you save the brand. Idle employees restart on the new profile, busy ones pick it up at their next start. Template syncs can no longer quietly reintroduce the platform name, and renaming or removing a brand rewrites whatever the previous one had replaced. URLs, domains, emails and identifiers are never touched.

Also fixed

  • The employee card showed a Twilio badge for any phone line. It now shows a Twilio badge for Twilio and a SIP badge for SIP.
  • SMS were attempted from SIP numbers. SMS go through Twilio only, since a SIP line has none.
  • The voice settings opened from the chat did not warn about a conflicting SMS route on the number. That warning now appears in both places.
  • The employee was told "Twilio" for every phone call. The end of call message names the real kind of line, and the call card shows the matching icon.
  • SIP calls were filed as Twilio calls. Their transcripts and recordings now carry their own naming and title, and history, call cards, recording downloads and the file explorer all read both kinds.
  • A SIP end of call message appeared as raw text in the chat while it arrived. It now shows as the call card, as Twilio does.
  • The other party on a call was always named after the owner in the transcript. It is now the contact matched at call start, the owner when the number is theirs, and otherwise the phone number.
  • Call history now puts the employee on the left and the other party on the right, matching the chat.
  • SIP audio could stutter when a voice engine produced speech faster than real time. Audio is now released to the line at playback speed.
  • An admin could see another user's employee MCP servers but not change them. Adding, editing, removing and toggling now accept the owner or an admin, as listing already did.
  • The Gemini usage overview splits phone calls into Twilio and SIP.

Why this one matters

An AI employee with a phone number was already unusual. An AI employee that answers on the line you already own, in a voice you picked from a library, at audio quality the caller does not have to forgive, is a different proposition entirely. The phone stops being the channel you apologise for.

If you run a white labelled instance, this is also the release where your brand finally goes all the way down, to the employee's own understanding of who it works for.

Try it at geta.team

Read more