Skip to content
shridarpatilPublic

About

Open-source, API-first voice CPaaS for browser + telecom + whatsapp calling.

Topics

Resources

Stars

17 stars

Watchers

0 watching

Forks

Repository files navigation

Zerodha Tech Badge

Tring

Open-source, API-first voice calling for any CRM. Bring your own SIP trunk.

Dashboard

Features

  • Browser calling Visitors and agents call over plain WebRTC with drop-in widgets. No SIP in the browser, no plugins.

  • Visual IVR builder Drag-and-drop flows with menus, input, HTTP callbacks and transfers, a live simulator, and text-to-speech prompts.

  • Agent routing Teams with ring-all, round-robin, sequential and longest-wait strategies, live presence and queue depth.

  • Bring your own trunk Airtel, Jio, Tata or any SIP carrier, with IP or registration auth and multi-trunk failover. Switching carriers is a config change.

  • WhatsApp calls Take WhatsApp Business calls over SIP into the same flows and agents.

  • Campaigns and voice blasts Schedule recipient lists with uploaded audio, local text-to-speech, or interactive IVR; control concurrency, retries, and per-recipient reporting.

  • Call control Hold, transfer and live supervision (monitor, whisper, barge).

  • Recording Stereo call recordings (agent and customer on separate channels), stored locally or on S3.

  • Call logs & webhooks One call log for every channel, a per-call timeline, and signed webhooks you pick per IVR step and flow.

  • Multi-tenant Isolated tenants with their own API keys, admin console and trunks.

Installation

Docker

Pre-built images are on Docker Hub (shridh0r/tring, shridh0r/tring-freeswitch).

# Download the installer, read it, then run it (creates ./tring)
curl -fsSLO https://raw.githubusercontent.com/shridarpatil/tring/main/install.sh
less install.sh
sh install.sh && cd tring

# Configure, then start (install.sh generated .env with random secrets)
$EDITOR .env            # network IPs, TZ
docker compose pull && docker compose up -d

Go to http://localhost:8085/login and log in with TRING_ADMIN_EMAIL / TRING_ADMIN_PASSWORD from .env.


Build from Source

git clone https://github.com/shridarpatil/tring.git
cd tring
make .env               # copies .env.example with random secrets
docker compose up -d --build

See the documentation for the quickstart, configuration, carrier and WhatsApp setup, the browser SDK and the full API reference. Its source is in docs/.

Developers

The backend is one Go binary, cmd/tring, with FreeSWITCH as the carrier edge. tring runs the api role (REST API, console) and the gateway role (call plane); tring --gateway runs only the call plane. The console is Vue 3.

docker compose up -d   # Postgres, Redis, FreeSWITCH
make run               # tring: REST API + console on :8085, call plane on :8087
make help              # all targets (sdk, images, test, …)

Read the architecture and code style guides before contributing.

License

Apache-2.0

About

Open-source, API-first voice CPaaS for browser + telecom + whatsapp calling.

Topics

Resources

Stars

17 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages