rustpbx  by restsend

AI-powered PBX enabling intelligent voice communication

Created 11 months ago
434 stars

Top 68.5% on SourcePulse

GitHubView on GitHub
Project Summary

Summary

RustPBX is a high-performance, secure, software-defined Private Branch Exchange (PBX) system built in Rust. It targets developers and power users seeking to integrate AI-driven communication pipelines and modern voice applications, offering a robust foundation for advanced telephony solutions.

How It Works

The system features a complete SIP stack, acting as a proxy with registration, authentication, and call routing. Its advanced media proxy handles RTP/RTCP with NAT traversal across UDP, TCP, and WebSocket transports. Novelty lies in its deep AI integration, supporting real-time Speech-to-Text (ASR), Text-to-Speech (TTS), LLM integration via an OpenAI-compatible proxy, Voice Activity Detection (VAD), and noise suppression for intelligent voice agents. WebRTC support enables direct browser-based communications.

Quick Start & Requirements

Requires Rust 1.75+ and Cargo. Linux installations need libasound2-dev and libopus-dev; macOS requires opus via Homebrew. Build from source via cargo build --release after cloning the repository. Configuration is managed via config.toml. Docker deployment is available, requiring environment variables for cloud services (e.g., Tencent Cloud ASR/TTS) and volume mounts for configuration and recordings. Key ports include 8080 (Web UI/API), 15060 (SIP), 13050 (User Agent), and a UDP range (20000-30000) for media. Official API documentation is available.

Highlighted Details

  • AI Voice Agent Services: Real-time ASR/TTS, LLM proxy, VAD, and noise suppression enable intelligent conversational agents.
  • Multi-Transport SIP: Supports UDP, TCP, and WebSocket for flexible client connectivity.
  • Comprehensive API: RESTful endpoints and WebSocket commands provide granular control over call management.
  • WebRTC Integration: Native support for direct peer-to-peer browser communication.

Maintenance & Community

The project is actively under development, welcoming community contributions and feedback. Specific community channels or detailed contributor information are not detailed in the provided README.

Licensing & Compatibility

Distributed under the MIT License, which is permissive for commercial use and integration into closed-source projects.

Limitations & Caveats

Currently marked as "Work in Progress," the system is primarily suitable for development and testing environments as core functionality is actively refined.

Health Check
Last Commit

1 day ago

Responsiveness

Inactive

Pull Requests (30d)
19
Issues (30d)
3
Star History
45 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.