Branofy Voice Platform โ Overview
The Branofy Voice Platform is a high-performance, real-time Voice AI architecture modeled after Ultravox. It allows workspaces to configure smart conversational AI agents that communicate with users over telephony networks (DID routing) and trigger custom automated workflow tools (function calling) in real time.
System Architecture
The Voice platform is structured as a collection of microservices and packages in our monorepo:
graph TD
A[Voice Dashboard Next.js] -->|Visual Control| B[Voice API NestJS]
B -->|SDK / REST| C[Voice Engine Service]
C -->|Realtime Audio streams| D[Telephony Providers DID]
B -->|Metadata & Calls DB| E[PostgreSQL db-voice]
C -->|Trigger Tool Use| F[Workspaces Tools HTTP]
Components
apps/voice(Voice Dashboard) Next.js dashboard powered by@branofy/uicomponents,@legendapp/stateobservability, andevilchartsmetrics visualization. This panel allows teams to configure Voice Agents, define Tool Actions, browse Outbound Schedules, review Call Logs/Transcripts, and manage DID Routing numbers.apps/voice-api(Voice API) NestJS gateway for all voice metadata, configuration, scheduling, and billing management. Exposed under/v1endpoints.packages/db-voice(PostgreSQL Database Schema) Provides direct mapping of tables (voice_agents,voice_calls,voice_tools,voice_dids,voice_api_keys,voice_schedules, etc.) shared across API and Engine runtimes.packages/voice-sdk-node&packages/voice-sdk-pythonClient libraries allowing developers to programmatically launch calls, register dynamic tools, configure voice agents, and read transcripts.
Core Concepts
1. Voice Agents
Voice Agents represent conversational AI personas. They are configured with:
- System Prompt: Defines the persona behavior, business context, and conversational boundaries.
- Model: Real-time language models (e.g.
gpt-4o-realtime-preview) that stream text/audio directly. - TTS Voice & Voice ID: Speech synthesis models (
ttsVoicelikeaf_heartandvoiceIdlikealloy) rendering natural voice outputs. - Tools: External actions the agent can trigger mid-call to fetch data or run side effects.
2. Tools (Function Calling)
Voice Agents can execute external actions dynamically. For example, if a customer asks to "cancel my booking", the agent makes an outbound HTTP webhook call to the tool's endpoint (httpEndpoint) with call parameters, parses the response, and uses the returned data in the conversation.
3. Outbound Schedules
Allows bulk dispatching of outbound calls. You can schedule batches of phone numbers to be called at a specific time (scheduledAt) using a pre-configured Voice Agent.
4. DID Routing (Direct Inward Dialing)
Direct Inward Dialing allows workspaces to associate incoming phone numbers with specific Voice Agents. Callers dialing the number are connected instantly to the configured AI agent.