Aller au contenu
Nouveau : le SDK Node dialpress. Routez le SIP comme avec Express et placez un agent sur n’importe quel appel.Commencer
DialPress
DialPress
Développeurs

Programmez le réseau téléphonique

Tout ce qui est dans le tableau de bord est dans l’API : appels, messages, média, flux de routage, agents et enregistrements, avec une référence OpenAPI générée.

Premiers pasterminal
$ 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

Commencer

De l’installation à votre premier appel décroché.

01

Installer

npm install dialpress. Les types TypeScript sont inclus.

02

Connecter

Connectez-vous à la passerelle avec un jeton et revendiquez les chemins que sert votre app.

03

Répondre

Écrivez un handler app.invite, appelez votre numéro et regardez-le répondre.

Cinq points d’entrée

Utilisez celui qui convient à votre stack.

02

API REST

Passez et recevez des appels, envoyez des messages, gérez agents et flux de routage. Jetons à portée limitée, affichés une seule fois.

04

Événements et webhooks

État des appels, touches pressées, enregistrements SIP, messages, enregistrements audio et exécutions de routage, en direct ou rejoués depuis n’importe quel offset.

Un routage façon Express

app.invite, app.register, app.message : chaque méthode SIP est un verbe de routeur, avec Router(), middleware, paramètres, handlers asynchrones et gestion des erreurs comme dans Express 5. L’authentification Digest tient en un 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 vocal 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 vocal IA n’est qu’une app de plus

Un bot revendique ses chemins, répond et ouvre l’audio de l’appel avec res.media() : le PCM de l’appelant en entrée pour la reconnaissance vocale, votre synthèse vocale en sortie en temps réel, clear() pour l’interruption. Une fois terminé, res.handoff() transmet l’appel en direct à une personne, avec un résumé.

Ce que le SDK vous apporte

Toutes les méthodes SIP

invite, register, message, subscribe, refer et les autres, plus les requêtes en cours de dialogue sur le chemin de l’appel.

Verbes d’appel

dial, play, gather, queue, proxy, redirect et transfer : les briques d’un PBX ou d’un IVR.

Les apps se composent par chemin

Plusieurs apps partagent une passerelle. Un appel passe de l’une à l’autre avec res.handoff() et conserve son identifiant d’appel.

Audio des appels en direct

res.media() diffuse du PCM 16 bits dans les deux sens, avec marqueurs et interruption.

Événements et CDR

État des appels, DTMF et enregistrements détaillés des appels sous forme d’événements, avec app.hangup() après chaque appel.

Un simulateur local

Testez routes et bots sur un serveur SIP simulé avant de les pointer vers la production.

Questions fréquentes

Quelles langues puis-je utiliser ?

Le SDK dialpress est destiné à Node.js et TypeScript. L’API REST, les flux média WebSocket, gRPC et MCP fonctionnent depuis n’importe quel langage.

Puis-je utiliser mes propres modèles LLM et vocaux ?

Oui. Utilisez OpenAI ou Gemini pour les agents, et des modèles vocaux ouverts sur vos GPU ou un fournisseur vocal cloud.

Puis-je auto-héberger DialPress ?

Oui, sur un serveur Linux, avec Docker Compose ou sur Kubernetes avec Helm. Vos apps fonctionnent de la même façon dans notre cloud ou le vôtre.

Est-ce compatible avec mes numéros de téléphone ?

Oui. Portez vos numéros gratuitement, ou connectez vos trunks SIP et votre PBX.

Construisez sur la couche vocale.

Essai gratuit de 14 jours, 250 minutes de voix IA, accès complet à l’API.