Saltar al contenido
Nuevo: el SDK de Node dialpress. Enruta SIP como en Express y pon un agente en cualquier llamada.Get started
DialPress
DialPress
Desarrolladores

Programa la red telefónica

Todo lo que hay en el panel está en la API: llamadas, mensajes, medios, flujos de enrutamiento, agentes y grabaciones, con una referencia OpenAPI generada.

Primeros pasosterminal
$ npm install dialpress added 1 package, TypeScript types included $ export DIALPRESS_TOKEN=sk_live_… $ node pbx.js ✓ connection READY · gateway agi.dialpress.ai ✓ claimed /internal /inbound · methods INVITE REGISTER MESSAGE INVITE /inbound/15550100 → handoff /ai/front-desk

Get started

De la instalación a tu primera llamada contestada.

01

Instalar

npm install dialpress. Los tipos de TypeScript están incluidos.

02

Conectar

Conéctate al gateway con un token y reclama las rutas que sirve tu app.

03

Contestar

Escribe un handler de app.invite, llama a tu número y míralo contestar.

Cinco formas de empezar

Usa el que encaje con tu stack.

02

API REST

Realiza y contesta llamadas, envía mensajes y gestiona agentes y flujos de enrutamiento. Tokens acotados, mostrados una sola vez.

04

Eventos y webhooks

Estado de llamadas, pulsaciones, registros, mensajes, grabaciones y ejecuciones de enrutamiento, en vivo o reproducidos desde cualquier offset.

Rutas como en Express

app.invite, app.register, app.message: cada método SIP es un verbo del router, con Router(), middleware, parámetros, handlers async y gestión de errores como en Express 5. La autenticación digest es un solo middleware.

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.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' })
Un bot de voz con IAbot.js
const dialpress = require('dialpress') const bot = dialpress() bot.invite('/ai/:name', async (req, res) => { await res.answer() const media = await res.media({ sampleRate: 16000 }) media.on('audio', (pcm) => stt.write(pcm)) // caller voice llm.on('reply', async (t) => media.play(await tts(t))) vad.on('speech', () => media.clear()) // barge-in res.on('dtmf', (d) => d === '0' && res.handoff('/internal/0', { summary: llm.summary() })) }) bot.connect({ address: 'agi.dialpress.ai', pathPrefixes: ['/ai'] })

Un bot de voz con IA es solo otra app

Un bot reclama sus rutas, contesta y abre el audio de la llamada con res.media(): el PCM del llamante entra para el reconocimiento de voz, tu texto a voz sale en tiempo real y clear() gestiona el barge-in. Cuando termina, res.handoff() pasa la llamada en vivo a una persona con un resumen.

Lo que te da el SDK

Todos los métodos SIP

invite, register, message, subscribe, refer y el resto, además de las solicitudes dentro del diálogo en la ruta de la llamada.

Verbos de llamada

dial, play, gather, queue, proxy, redirect y transfer: las piezas de una PBX o un IVR.

Las apps se componen por ruta

Varias apps comparten un gateway. Una llamada pasa de una a otra con res.handoff() y conserva su ID de llamada.

Audio de la llamada en vivo

res.media() envía PCM de 16 bits en ambos sentidos, con marcadores y barge-in.

Eventos y CDRs

Estado de la llamada, DTMF y registros de detalle de llamadas como eventos, con app.hangup() después de cada llamada.

Un simulador local

Prueba rutas y bots contra un servidor SIP simulado antes de llevarlos a producción.

Preguntas frecuentes

¿Qué lenguajes puedo usar?

El SDK dialpress es para Node.js y TypeScript. La API REST, los streams de medios por WebSocket, gRPC y MCP funcionan desde cualquier lenguaje.

¿Puedo usar mis propios modelos de LLM y de voz?

Sí. Usa OpenAI o Gemini para los agentes, y modelos de voz abiertos en tus GPUs o un proveedor de voz en la nube.

¿Puedo autoalojar DialPress?

Sí, en un servidor Linux, con Docker Compose o en Kubernetes con Helm. Tus apps funcionan igual en nuestra nube o en la tuya.

¿Funciona con mis números de teléfono?

Sí. Porta tus números gratis, o conecta tus troncales SIP y tu PBX.

Construye sobre la capa de voz.

Prueba gratuita de 14 días, 250 minutos de voz con IA y acceso completo a la API.