rustpbx  by restsend

AI-powered PBX enabling intelligent voice communication

Created 8 months ago
297 stars

Top 89.3% 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

19 hours ago

Responsiveness

Inactive

Pull Requests (30d)
7
Issues (30d)
2
Star History
42 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.