VEXYL AI

Vexyl AI Voice Gateway: Overview

This chapter explains what the gateway does, how a call moves through it, and the three ways to run it. Read it first, then follow the link at the end for your setup.

What the gateway does

The Vexyl AI Voice Gateway answers phone calls and browser voice sessions with an AI agent. It accepts audio from an Asterisk PBX (AudioSocket), directly from a SIP trunk (a built-in SIP/RTP bridge, no PBX needed) or from a browser widget. It turns the caller's speech into text, passes the text to a language model, turns the reply back into speech and plays it to the caller. While the bot is talking, the caller can interrupt it (barge-in). The gateway also handles call transfer to a human, outbound calls, signed lifecycle webhooks and per-call cost records. Every stage uses a pluggable provider: the gateway ships with 7 speech-to-text and 10 text-to-speech options, and the AI brain is either a LiteBot bot or your own HTTP endpoint; you can mix them freely. You can also hand the whole conversation to a realtime model (Gemini Live or LiteBot Live) instead of the three-stage pipeline.

How a call flows

1. Caller dials in         -> PBX or carrier trunk, or a browser page
2. Audio reaches gateway   -> AudioSocket, SIP bridge or browser WebSocket
3. Speech recognition      -> caller's speech becomes text
4. AI                      -> the language model writes the reply
5. Speech synthesis        -> the reply is spoken, sentence by sentence
6. Audio back to caller    -> or a realtime model handles steps 3-5 in one live session

Three ways to run it

Self-hosted binary Docker Hosted
What you install The vexyl-gateway bundle (binary, node_modules/ and sounds/) under a process manager Pull the image vexyl/vexyl-voice-gateway Nothing. Vexyl runs the gateway
What you configure Your own .env file The same settings through an env_file You receive a SIP trunk, an API key, a webhook URL and a browser WebSocket endpoint
Who runs updates You You, by pulling new image tags Vexyl

Hosted customers do not get server access or a .env file.

What to have ready

  • A licence for the gateway. It sets the cap on concurrent calls.
  • Accounts and API keys for the providers you will use (speech recognition, speech synthesis, language model).
  • A way to bring calls in: an Asterisk PBX, a carrier SIP trunk, or a web page that embeds the browser SDK (aivg-sdk.js).
  • For the binary and Docker options, a small Linux x86-64 VM. Plan one gateway instance per CPU core.
  • Hosted customers need only the PBX, trunk or web page and a place to receive webhooks.

Languages

Sarvam streaming recognition covers 22 Indian languages. The gateway also supports 100+ international languages through the other providers. Which languages you get on a given call depends on the recognition and voice providers you choose.

Where to go next