Integration: Bandwidth Voice + Deepgram STT
Origin
Requested in #143: "Server-side Node.js using the Bandwidth Node SDK (@bandwidth/sdk). Bandwidth is a US carrier-grade CPaaS used by enterprises. Uses the Voice API to answer inbound calls and stream audio via Bandwidth's media streaming (WebSocket BXML verb) to a Node.js server, which forwards to Deepgram live WebSocket."
What this should show
- A Node.js server that answers inbound Bandwidth voice calls using BXML
- Uses Bandwidth's
<StreamUrl> BXML verb to open a WebSocket media stream from the call
- Receives raw audio frames over the Bandwidth WebSocket and forwards them to Deepgram's live STT WebSocket
- Logs real-time transcription results to the console
- Professional telephony path: Bandwidth BXML (stream verb) → WebSocket server → Deepgram STT
Credentials likely needed
BANDWIDTH_ACCOUNT_ID
BANDWIDTH_API_TOKEN
BANDWIDTH_API_SECRET
BANDWIDTH_PHONE_NUMBER
DEEPGRAM_API_KEY
Reference
Bandwidth Voice API docs: https://dev.bandwidth.com/apis/voice/
Bandwidth media streaming: https://dev.bandwidth.com/docs/voice/bxml/streamUrl/
Queued by PM from #143 on 2026-04-03
Integration: Bandwidth Voice + Deepgram STT
Origin
Requested in #143: "Server-side Node.js using the Bandwidth Node SDK (@bandwidth/sdk). Bandwidth is a US carrier-grade CPaaS used by enterprises. Uses the Voice API to answer inbound calls and stream audio via Bandwidth's media streaming (WebSocket BXML verb) to a Node.js server, which forwards to Deepgram live WebSocket."
What this should show
<StreamUrl>BXML verb to open a WebSocket media stream from the callCredentials likely needed
BANDWIDTH_ACCOUNT_IDBANDWIDTH_API_TOKENBANDWIDTH_API_SECRETBANDWIDTH_PHONE_NUMBERDEEPGRAM_API_KEYReference
Bandwidth Voice API docs: https://dev.bandwidth.com/apis/voice/
Bandwidth media streaming: https://dev.bandwidth.com/docs/voice/bxml/streamUrl/
Queued by PM from #143 on 2026-04-03