Skip to content

JoeCreating/voipbin-monorepo

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VoIPbin Monorepo

Welcome to the VoIPBin monorepo — the unified backend codebase that powers all VoIPBin services.

VoIPBin is a cloud-native, scalable CPaaS platform designed for modern voice communication. This repository provides all the backend components for managing users, routing calls, handling media, running chatbots, and more — all in a single place.

This repository is a monorepo for all VoIPbin backend services. It provides a unified development environment for managing the services that power the VoIPbin platform.

🧱 Why a Monorepo?

VoIPBin uses a monorepo to manage all backend services in a single codebase. This approach is intentional and comes with many advantages:

✅ Benefits

  • Single source of truth: All services live in one place, ensuring consistency and traceability.
  • Easier refactoring: Shared logic and APIs can be updated across services without versioning headaches.
  • Shared tooling: Common CI/CD pipelines, Go versioning, linting, and codegen setup apply to all modules.
  • Simplified onboarding: New developers only need to clone one repo to access the entire system.
  • Better visibility: Understanding the system as a whole becomes easier when everything is in one place.

🔍 What is VoIPbin?

VoIPbin is a VoIP backend platform designed to help teams quickly deploy and operate communication workflows — from simple call routing to AI-assisted conversation flows.

Think of it as Twilio meets self-hosting, with a focus on flexibility, modularity, and full control over your stack.

Use cases include:

  • Building programmable call flows
  • Running AI-powered callbots or IVRs
  • Handling mass outbound call campaigns
  • Creating scalable conferencing tools
  • Integrating SMS, Email, and Webhooks
  • Recording, transcribing, and summarizing calls
  • Managing VoIP customers, agents, and usage

🚀 What You Can Do with VoIPbin

  • Agent Interfaces: Let your agents receive calls and interact via a simple web interface.
  • Admin Console: Manage flows, routing, agents, campaigns, and more.
  • Programmable Flows: Define rich call behaviors via flow JSON or API.
  • AI Assistants: Inject AI into your call flows with VoIPbin's chatbot integration.
  • Conferencing: Set up rooms with recording, moderator controls, and breakout support.
  • Multichannel Support: Mix voice, SMS, email, and more.
  • Modular Services: Pick only the features you need — everything runs independently.
  • Self-hosting and Cloud-friendly: Deploy on GCP (or any Kubernetes setup) with full customization.

🌐 Helpful Links


🧭 Directory Overview

The monorepo includes many backend services under separate directories:

Directory Purpose
bin-api-manager External API gateway for VoIPbin
bin-agent-manager Manages agent presence and actions
bin-ai-manager AI chatbot integrations
bin-billing-manager Billing and subscription tracking
bin-call-manager Inbound/outbound call routing and control
bin-campaign-manager Outbound dialing campaigns
bin-chat-manager Web chat and live chat integration
bin-conference-manager Audio conferencing features
bin-customer-manager Customer accounts and relationships
bin-dbscheme-bin-manager Database schemas and migrations
bin-email-manager Email sending and inbox parsing
bin-flow-manager Flow execution engine
bin-hook-manager Webhook receivers
bin-message-manager SMS and messaging
bin-number-manager DID and number provisioning
bin-openapi-manager Shared OpenAPI specs
bin-outdial-manager Outbound call dialer
bin-queue-manager Call queueing and routing logic
bin-registrar-manager SIP registrar (UDP/TCP/WebRTC)
bin-route-manager Routing logic and policies
bin-storage-manager File storage backend
bin-tag-manager Labeling and tagging
bin-transfer-manager Call transfer logic
bin-transcribe-manager Audio transcription
bin-tts-manager Text-to-Speech integration
bin-webhook-manager Webhook sender
voip-asterisk-proxy Integration proxy for Asterisk
bin-common-handler Shared logic across services

🛠️ How to Get Started

⚠️ VoIPbin is not a plug-and-play application.

It's a platform composed of multiple microservices, SIP/media infrastructure (e.g., Asterisk, RTPEngine), Kubernetes-based deployments, and cloud integrations (e.g., Twilio, OpenAI). You don't just "run it" — you assemble and deploy it based on your architecture.

This monorepo handles only part of voipbin services.

VoIPBin Architecture

That said, here's how to begin:

Understand the Architecture

VoIPbin is composed of multiple services that run independently and communicate over HTTP, gRPC, SIP, and WebRTC. You’ll need:

  • A Kubernetes environment (we recommend GCP GKE)
  • Compute engine with static public IP Address
  • A public domain with TLS (e.g., via Cloudflare)
  • A media path (RTPEngine or equivalent)
  • Optionally, Asterisk instances for call bridging, conferencing, and SIP registration

We recommend reading the platform architecture guide (coming soon) before setup.

Clone the Repo

   $ git clone https://github.com/your-org/voipbin.git
   $ cd voipbin

Configure Your Secrets

export CC_AUTHTOKEN_OPENAI=xxx
export CC_TWILIO_TOKEN=xxx
export CC_SSL_CERT_API_BASE64=xxx
...

Check each service’s README (or environment loader) for what it needs.

Deploy to Kubernetes

You'll need a Kubernetes manifest or Helm chart per service. For now, these are maintained privately or in internal repositories — contact us if you'd like access to deployment blueprints.

📫 Questions or Feedback?

We’re here to help. Visit voipbin.net or reach out to the team via the contact link on the site.

📞 Need Help?

If you're exploring VoIPBin for your own product, team, or integration — feel free to reach out. We're building it to empower engineers like you.

About

voipbin backend monorepo

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 59.1%
  • HTML 38.5%
  • Python 2.1%
  • JavaScript 0.2%
  • CSS 0.1%
  • Dockerfile 0.0%