You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
RustPBX is a high-performance, secure software-defined PBX (Private Branch Exchange) system implemented in Rust, designed to support AI-powered communication pipelines and modern voice applications.
6
6
7
+
> **Note**: The Voice Agent functionality has been moved to a separate repository: [Active Call](https://github.com/restsend/active-call). This repository now focuses on the SIP Proxy and PBX features.
8
+
7
9
## 🚀 Key Features
8
10
9
11
### SIP PBX Core
@@ -14,19 +16,6 @@ RustPBX is a high-performance, secure software-defined PBX (Private Branch Excha
14
16
-**Call Recording**: Built-in call recording with multiple storage backends
15
17
-**User Management**: Flexible user authentication and registration system
1. Create a lightweight UA configuration (`config.ua.toml`) that exposes the WebRTC console and proxies LLM traffic:
115
-
116
-
```bash
117
-
cat > config.ua.toml <<'EOF'
118
-
http_addr = "0.0.0.0:8080"
119
-
log_level = "info"
120
-
[ua]
121
-
addr = "0.0.0.0"
122
-
udp_port = 13050
123
-
EOF
124
-
```
125
-
126
-
2. Start RustPBX in UA mode and serve the console assets:
127
-
128
-
```bash
129
-
cargo run --bin rustpbx -- --conf config.ua.toml
130
-
```
131
-
132
-
3. Open `http://localhost:8080` → **WebRTC Interface**. Under **LLM** select your model, toggle streaming if needed, and click **Start Session**. You can now hold a full duplex voice conversation with the LLM through your browser.
133
-
134
100
### PBX Quick Start (SQLite + console admin)
135
101
136
102
1. Create a PBX configuration (`config.pbx.toml`) pointing to SQLite and enabling call records:
@@ -143,17 +109,6 @@ log_level = "debug"
143
109
media_cache_path = "/tmp/mediacache"
144
110
database_url = "sqlite://rustpbx.sqlite3"
145
111
146
-
# external IP address for SIP signaling and media
147
-
# if server is behind NAT, set your public IP here (without port)
The SIP workflow demonstrates how external applications can initiate calls through RustPBX, leveraging the full SIP protocol stack for reliable voice communications.
262
-
263
-
#### WebRTC Workflow
264
-
265
-

266
-
267
-
The WebRTC workflow shows how web applications can establish direct peer-to-peer connections via RustPBX, enabling modern browser-based voice applications.
268
-
269
-
For detailed API documentation, see [API Documentation](./docs/api.md).
270
-
271
214
## 🔧 Configuration Features
272
215
273
216
### SIP Proxy
@@ -284,20 +227,6 @@ For detailed API documentation, see [API Documentation](./docs/api.md).
284
227
- Support for multiple codecs
285
228
- Real-time media relay
286
229
287
-
### AI Services
288
-
289
-
- Multiple ASR/TTS provider support
290
-
- Configurable LLM endpoints
291
-
- Voice activity detection
292
-
- Audio preprocessing and enhancement
293
-
294
-
## 📚 Documentation
295
-
296
-
-[API Reference](./docs/api.md) - Complete REST API documentation
297
-
-[Architecture Diagrams](docs/) - System architecture and workflows
298
-
-[VoiceAgent Integration with Telephony Networks](./docs/how%20webrtc%20work%20with%20sip(en).md)
0 commit comments