WAV Bridge

Teler WAV Bridge

Stream a pre-recorded WAV file to a live phone call, and capture the caller's responses - no AI agent required.

Category

Overview

A reference implementation demonstrating how to stream a pre-recorded WAV file to a live phone call using Teler’s Media Streaming Bridge over WebSockets, while recording and collecting the caller’s responses.

This project demonstrates a simple but powerful voice workflow: initiate an outbound phone call, stream a pre-recorded WAV file to the callee over WebSockets, capture the callee’s responses in real time, and store the call recording for later review and analysis.

Unlike AI voice agents, there’s no real-time speech generation or conversational AI involved. The caller hears a pre-recorded audio message, and their responses are recorded and made available after the call. This makes the integration lightweight, predictable, and ideal for one-way announcements, surveys, campaigns, and response collection workflows.

Who is this for? Teams that want to automate voice outreach without deploying AI agents.

Key Features

  • Pre-recorded audio, no AI pipeline — Stream a WAV file directly into a live call over WebSockets, with no STT, LLM, or TTS involved.
  • Captures caller responses — Records whatever the caller says back, available for review after the call.
  • Dockerized deployment — Clone the repo and run it with a single Docker Compose command.
  • Recordings accessible two ways — View and manage recordings from the FreJun Teler Dashboard, or retrieve them programmatically through the Recording API.

Common Use Cases

Appointment reminders

Play a pre-recorded reminder and collect customer confirmations or responses.

Recruitment and candidate screening

Play screening questions and collect recorded candidate answers.

Customer feedback campaigns

Gather voice feedback without requiring a live agent or AI assistant.

How to Integrate

Prerequisites

  • Node.js 18+
  • Docker and Docker Compose
  • A Teler API key (get one at platform.frejun.ai)
  • An ngrok account and auth token

Step 1: Clone and configure

git clone https://github.com/frejun-tech/teler-wav-bridge.git
cd teler-wav-bridge

cp .env.example .env

Update the .env file with your credentials.

Step 2: Run with Docker

docker compose up -d --build

Environment variables

Variable Description Default
TELER_SAMPLE_RATE Audio sample rate used for streaming 8k
TELER_API_KEY Your Teler API key Required
NGROK_AUTHTOKEN Your ngrok auth token Required

Audio requirements

For best results, audio files should be:

  • WAV format
  • PCM S16LE
  • Mono
  • 8000 Hz sample rate

This format aligns with standard telephony audio and ensures optimal playback quality during calls.

API endpoints

Health & Status

  • GET / – Health check and server information
  • GET /health – Service status
  • GET /ngrok-status – Current ngrok status and public URL

Calls

  • POST /api/v1/calls/initiate-call – Initiate an outbound call
  • POST /api/v1/calls/flow – Retrieve call flow configuration

Media Streaming

  • WebSocket /api/v1/calls/media-stream – Streams pre-recorded WAV audio to the call and receives caller audio events.

Webhooks

  • POST /api/v1/webhooks/receiver – Receives call status and media events from Teler.

Call initiation example

curl -X POST "https://your_ngrok_domain/api/v1/calls/initiate-call" \
  -H "Content-Type: application/json" \
  -d '{
    "fromNumber": "+918064xxx",
    "toNumber": "+919967xxx"
  }'

Integration at a Glance

Requirements Node.js 18+, Docker and Docker Compose, a Teler API key, an ngrok account and auth token
Setup type Self-hosted bridge – clone the repo, configure .env, and run via Docker Compose; not dashboard-configured
Support support@frejun.com, or file an issue directly on the GitHub repo for bridge-specific bugs

Frequently Asked Questions

Have more questions?

Reach out to us at support@frejun.com.

Does this involve any AI at all?

No - there's no real-time speech generation or conversational AI. The caller hears a pre-recorded WAV file, and their response is simply recorded.

WAV, PCM S16LE, mono, 8000 Hz sample rate - this aligns with standard telephony audio for the best playback quality.

Through the FreJun Teler Dashboard, or programmatically via the Recording API.

Yes - the bridge is deployed via Docker Compose; the setup clones the repo and builds the containers with a single command.

One-way announcements, surveys, campaigns, and response collection - appointment reminders, candidate screening questions, and customer feedback calls are common examples.

Get started with Teler today

Real-time voice APIs tor Al agents. WebSocket streaming.
SIP trunking, globalnumbers. Ship voice applications in hours.