Skip to content
New: the dialpress Node SDK. Route SIP like Express and put an agent on any call.Get started
DialPress
DialPress
Infrastructure for AI voice

The infrastructure layer that makes AI voice communication possible.

Phone numbers, live call audio, speech, and agents as building blocks you program. Route calls like an Express app. Run it in our cloud, or on your own servers.

pbx.js
const dialpress = require('dialpress') const app = dialpress() app.register('/internal/:ext', auth, (req, res) => res.status(200).set('Contact', req.get('Contact')).end()) app.invite('/internal/:ext', async (req, res) => { const { outcome } = await res.dial(`user:${req.params.ext}`, { timeout: 20 }) if (outcome === 'busy') return res.sendStatus(486) res.end() }) app.invite('/inbound/:did', (req, res) => res.handoff('/ai/front-desk')) app.connect({ address: 'agi.dialpress.ai' })
$ node pbx.js
connection READY · gateway agi.dialpress.ai
claimed /internal /inbound · methods INVITE REGISTER
INVITE /inbound/15550100 → handoff /ai/front-desk

Works with the models and infrastructure you already run

  • Gemini Live
  • OpenAI Realtime
  • ElevenLabs
  • Deepgram
  • Twilio
  • WhatsApp
  • Telegram
  • Cartesia
  • AssemblyAI
  • Speechmatics
  • Google Cloud
  • Azure
  • Amazon
  • xAI
  • Whisper
  • WebRTC
  • Kubernetes
  • Docker
  • PostgreSQL
  • Amazon S3

01 — Build your voice stack

Not just a phone API.

DialPress is a complete voice backend. The gateway, the media path, speech, agents, and messaging run as one system, so a call never leaves the stack between the carrier and your model.

02 — Program it like a web app

Calls are requests. Your code answers them.

Your app connects to the gateway over gRPC and receives every SIP request at a path from the dial plan. If you can write an Express app, you can run a phone system.

Three ideas behind the SDK

They are the ideas of a web framework, applied to calls.

Routes, not state machines

app.invite, app.register, app.message. Middleware, params, and async handlers work as they do in Express 5.

Audio in your code

res.media() streams the caller’s audio to your speech recognition and plays your text to speech back, with barge-in.

Handoffs keep the call

res.handoff() moves a live call between a bot and a person. Same call ID, no transfer, no dropped audio.

A PBX and an AI bot on one gateway

Each app claims its own paths. The PBX hands a caller to the bot; the bot hands the same call back with a summary when the caller asks for a person.

Routes like Expresspbx.js
const dialpress = require('dialpress') const app = dialpress() app.register('/internal/:ext', auth, (req, res) => res.status(200).set('Contact', req.get('Contact')).end()) app.message('/internal/:ext', (req, res) => res.proxy(`user:${req.params.ext}`)) app.invite('/internal/:ext', async (req, res) => { const { outcome } = await res.dial(`user:${req.params.ext}`, { timeout: 20 }) if (outcome === 'busy') return res.sendStatus(486) res.end() }) app.invite('/inbound/:did', (req, res) => res.handoff('/ai/front-desk')) app.connect({ address: 'agi.dialpress.ai' })

03 — Run it anywhere

From one laptop to a fleet of GPUs.

The same apps and routes run in DialPress cloud, on one Linux server, with Docker Compose, or on Kubernetes. Each module scales on its own.

Pricing that follows your team, not your lines

Per-user plans with no per-line or regulatory fees.

Free to try

14 days of the full platform, with 250 AI voice minutes. No credit card.

No surprise fees

10DLC, STIR/SHAKEN, and E911 are bundled. Porting is free.

Self-hosted, quoted

Run DialPress on your own servers on an enterprise agreement.

Put an agent on the phone.

npm install dialpress, connect to the gateway, and answer your first call in code.