What is Sonore Phone Agent?
Sonore Phone Agent is a production-ready, AI-powered phone system that handles business calls using OpenAI’s Realtime API. Built on FastAPI and Python 3.12+, it provides a complete solution for managing voice interactions with real-time AI capabilities, multi-tenant support, and enterprise-grade reliability. The system processes incoming phone calls, engages callers with natural conversations, executes custom tools (like call transfers), and provides detailed transcripts and analytics for every interaction.Quick Start
Get your first phone agent running in under 5 minutes
Architecture
Understand the system design and data flow
Call Lifecycle
Learn how calls are processed from webhook to completion
Multi-Tenancy
Configure isolated environments for different clients
Key Features
Sonore Phone Agent delivers enterprise-grade voice AI capabilities:OpenAI Realtime API Integration
OpenAI Realtime API Integration
Native integration with OpenAI’s Realtime API for low-latency voice interactions. Supports WebSocket-based bidirectional audio streaming with automatic speech recognition and text-to-speech synthesis.
Multi-Tenant Architecture
Multi-Tenant Architecture
Complete isolation between tenants with dedicated configurations, prompts, and tools. Each tenant gets their own phone number routing, capacity limits, and customization options.
Dynamic Capacity Management
Dynamic Capacity Management
Intelligent call routing with configurable limits at both global and per-tenant levels. The system automatically rejects calls when capacity is reached and tracks pending vs. active sessions.
Custom Tool Execution
Custom Tool Execution
Extensible framework for executing actions during calls. Built-in support for call transfers with a pluggable architecture for adding custom tools.
Real-Time Session Management
Real-Time Session Management
WebSocket-based call sessions with comprehensive state tracking. Each session manages its own lifecycle, tool invocations, and transcript collection.
Post-Call Processing
Post-Call Processing
Automatic transcript generation and post-call webhook processing. Every completed call triggers a processing pipeline for summarization and analytics.
MongoDB Persistence
MongoDB Persistence
Scalable storage for call registries, transcripts, tenant configurations, and system prompts. Uses async MongoDB client for non-blocking database operations.
Webhook Event Handling
Webhook Event Handling
Secure webhook verification with built-in deduplication and capacity gating. Handles OpenAI SIP call events including incoming calls, hangups, and call completion.
Use Cases
Sonore Phone Agent is designed for businesses that need intelligent phone automation:- Customer Support: Handle common inquiries with natural conversations
- Appointment Scheduling: Book meetings and send confirmations
- Lead Qualification: Screen and route high-value prospects
- Call Routing: Transfer calls to appropriate departments or specialists
- After-Hours Service: Provide 24/7 availability for customer needs
- Survey Collection: Gather feedback with conversational interviews
Technology Stack
FastAPI
High-performance async web framework
OpenAI Realtime API
Real-time voice AI capabilities
MongoDB
Scalable document database
Python 3.12+
Modern Python with async/await
WebSockets
Bidirectional streaming connections
Pydantic
Data validation and settings
Getting Started
Ready to dive deeper? Continue to the Quickstart Guide for a complete walkthrough, or explore the Architecture to understand how everything works together.
Support and Resources
Configuration Guide
Set up environment variables and system settings
API Reference
Explore webhook endpoints and admin APIs
Deployment Guide
Deploy with Docker and production best practices
Troubleshooting
Common issues and how to resolve them