Przejdź do treści
Nowość: Node SDK dialpress. Routuj SIP jak w Express i postaw agenta na dowolnym połączeniu.Zacznij
DialPress
DialPress
Deweloperzy

Programuj sieć telefoniczną

Wszystko, co jest w panelu, jest też w API: połączenia, wiadomości, media, przepływy routingu, agenci i nagrania, z generowaną dokumentacją OpenAPI.

Pierwsze krokiterminal
$ 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

Zacznij

Od instalacji do pierwszego odebranego połączenia.

01

Zainstaluj

npm install dialpress. Typy TypeScript w zestawie.

02

Połącz

Połącz się z bramą za pomocą tokenu i przejmij ścieżki, które obsługuje Twoja aplikacja.

03

Odbierz

Napisz handler app.invite, zadzwoń na swój numer i zobacz, jak odbiera.

Pięć sposobów integracji

Użyj tego, który pasuje do Twojego stosu.

02

REST API

Inicjuj i odbieraj połączenia, wysyłaj wiadomości, zarządzaj agentami i przepływami routingu. Tokeny z zakresami, wyświetlane tylko raz.

04

Zdarzenia i webhooki

Stan połączeń, naciśnięcia klawiszy, rejestracje, wiadomości, nagrania i przebiegi routingu — na żywo lub odtwarzane od dowolnego offsetu.

Routing jak w Express

app.invite, app.register, app.message: każda metoda SIP to czasownik routera, z Router(), middleware, parametrami, asynchronicznymi handlerami i obsługą błędów jak w Express 5. Uwierzytelnianie Digest to jedno 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' })
Bot głosowy AIbot.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'] })

Bot głosowy AI to po prostu kolejna aplikacja

Bot przejmuje swoje ścieżki, odbiera i otwiera audio połączenia przez res.media(): PCM rozmówcy trafia do rozpoznawania mowy, Twoja synteza mowy wraca w czasie rzeczywistym, a clear() obsługuje wtrącenia. Na koniec res.handoff() przekazuje trwające połączenie człowiekowi wraz z podsumowaniem.

Co daje Ci SDK

Każda metoda SIP

invite, register, message, subscribe, refer i reszta, plus żądania wewnątrz dialogu na ścieżce połączenia.

Polecenia połączeń

dial, play, gather, queue, proxy, redirect i transfer: klocki, z których buduje się PBX lub IVR.

Aplikacje składasz po ścieżkach

Kilka aplikacji współdzieli jedną bramę. Połączenie przechodzi między nimi przez res.handoff() i zachowuje swoje ID.

Audio połączenia na żywo

res.media() strumieniuje 16-bitowe PCM w obie strony, ze znacznikami i obsługą wtrąceń.

Zdarzenia i CDR

Stan połączenia, DTMF i rekordy szczegółów połączeń jako zdarzenia, z app.hangup() po każdym połączeniu.

Lokalny symulator

Testuj trasy i boty na symulowanym serwerze SIP, zanim skierujesz je na produkcję.

Częste pytania

Jakich języków mogę używać?

SDK dialpress jest dla Node.js i TypeScript. REST API, strumienie mediów przez WebSocket, gRPC i MCP działają z dowolnego języka.

Czy mogę używać własnych modeli LLM i mowy?

Tak. Używaj OpenAI lub Gemini dla agentów oraz otwartych modeli mowy na swoich GPU albo chmurowego dostawcy mowy.

Czy mogę hostować DialPress samodzielnie?

Tak, na jednym serwerze z Linuxem, z Docker Compose lub na Kubernetes z Helm. Twoje aplikacje działają tak samo w naszej chmurze i w Twojej.

Czy to działa z moimi numerami telefonów?

Tak. Przenieś numery za darmo albo podłącz swoje trunki SIP i PBX.

Buduj na warstwie głosowej.

14 dni za darmo, 250 minut AI voice, pełny dostęp do API.