RTC Project Roadmap
Architecture: Sans-I/O WebRTC Implementation in Rust
Last Updated: January 2026
Project Vision
Build a production-ready, runtime-independent WebRTC stack in pure Rust using the sans-I/O architecture pattern,
providing developers with complete control over networking, threading, and async runtime integration while maintaining
full WebRTC specification compliance.
Current Status
✅ Completed Features
Core Protocol Stack
- ✅ ICE (Interactive Connectivity Establishment) with STUN/TURN support
- ✅ ICE Restart support
- ✅ DTLS (Datagram Transport Layer Security) v1.2
- ✅ SCTP (Stream Control Transmission Protocol)
- ✅ RTP/RTCP (Real-time Transport Protocol)
- ✅ SRTP with AEAD AES-GCM support (RFC 7714)
- ✅ SDP (Session Description Protocol) with offer/answer
- ✅ Unified Plan SDP (modern API)
- ✅ BUNDLE support
- ✅ mDNS (Multicast DNS) for local network discovery
- ✅ ICE TCP candidates (passive/active)
WebRTC Features
- ✅ Data Channels (reliable & unreliable, configurable)
- ✅ Media Tracks (audio/video)
- ✅ Simulcast (send & receive)
- ✅ SVC (Scalable Video Coding)
- ✅ Add/Remove tracks at runtime
- ✅ Insertable Streams
- ✅ Trickle ICE
- ✅ Statistics API
Interceptors & Media Processing
- ✅ Interceptor framework for RTP/RTCP manipulation
- ✅ NACK (Negative Acknowledgment) interceptor
- ✅ TWCC (Transport Wide Congestion Control) interceptor
- ✅ Sender/Receiver Report interceptors
Codec Support
- ✅ VP8/VP9 packetizers and depacketizers
- ✅ H.264/H.265 packetizers and depacketizers
- ✅ AV1 support
- ✅ Opus audio
- ✅ PCM audio
- ✅ IVF reader/writer for disk I/O
Architecture
- ✅ Sans-I/O design with
poll_* and handle_* APIs
- ✅ Runtime-independent (works with tokio, async-std, smol, blocking I/O)
- ✅ Modular crate structure (15 composable crates)
- ✅ Zero-copy packet processing where possible
Development & Quality
- ✅ 30+ comprehensive examples (data channels, media streaming, simulcast, broadcast, etc.)
- ✅ Integration tests with WebRTC (browser) interoperability
- ✅ API documentation on docs.rs
- ✅ CI/CD pipeline with automated testing
🚧 In Progress / Partially Complete
🔴 Missing Features
- ❌ Jitter Buffer interceptor
- ❌ FEC (Forward Error Correction) interceptor
- ❌ Full Congestion Control (Google Congestion Control / BBR)
- ❌ Complete DTLS Restart support
- ❌ PeerConnection serialization/deserialization
- ❌ Automated performance/allocation testing in CI
- ❌ Automated fuzzing (oss-fuzz integration)
- ❌ Auto changelog generation
- ❌ Embedded/IoT support
- ❌ FFI C API
- ❌ TCP TURN support
Roadmap
Phase 1: Stability & Polish (Q1 2026)
Goal: Make production-ready with excellent developer experience
1.1 Bug Fixes & Stability
1.2 Documentation & Examples
1.3 Testing & Quality
Phase 2: Performance & Optimization (Q2 2026)
Goal: Optimize for production workloads and high-performance scenarios
2.1 Performance Optimization
2.2 Benchmarking & Testing
2.3 Memory Efficiency
Phase 3: Advanced Features (Q3 2026)
Goal: Add advanced WebRTC features and expand ecosystem
3.1 Media Quality & Resilience
3.2 Protocol Extensions
3.3 Codec Support
Phase 4: Language Bindings & Ecosystem (Q4 2026)
Goal: Make RTC accessible from other languages and build ecosystem
4.1 FFI & Language Bindings
4.2 Integration Libraries
4.3 Higher-Level APIs
Phase 5: Production Features (2027+)
Goal: Enterprise-ready features for production deployments
5.1 Scalability & Infrastructure
5.2 Observability & Monitoring
5.3 Security & Hardening
5.4 Compliance & Standards
5.5 Developer Experience
Future Exploration (Beyond 2027)
Emerging Technologies
Embedded & IoT
Ecosystem Growth
Developer Experience
Contributing to the Roadmap
This roadmap is a living document and we welcome community input:
- Feature Requests: Open an issue with the
enhancement label
- Prioritization: Join discussions on Discord or GitHub
- Implementation: Check items you're interested in implementing
- Sponsorship: Priority can be influenced by sponsors' needs
Priority Levels
- 🔴 Critical: Blocks production use or causes data loss
- 🟠 High: Important for production deployments
- 🟡 Medium: Nice to have, improves user experience
- 🟢 Low: Future enhancements, non-urgent
Production-Ready Criteria for 1.0
Comparison with Pion WebRTC
This roadmap incorporates learnings from Pion WebRTC's roadmap. Here's how we
compare:
Feature Comparison of Pion vs RTC
| Feature |
Pion Version |
RTC Status |
Priority |
| Core Protocol Stack |
|
|
|
| ICE (Full) |
1.1.0 |
✅ Complete |
- |
| DTLS (Native) |
1.2.0 |
✅ Pure Rust |
- |
| STUN |
1.1.0 |
✅ Complete |
- |
| TURN |
2.1.0 |
✅ Complete |
- |
| TCP TURN |
2.2.0 |
✅ Complete |
- |
| mDNS Candidates |
2.1.0 |
✅ Complete |
- |
| SCTP |
1.0.0 |
✅ Complete |
- |
| WebRTC Features |
|
|
|
| Data Channels |
1.1.0 |
✅ Complete |
- |
| Configurable Reliability |
2.0.0 |
✅ Complete |
- |
| Trickle ICE |
2.1.0 |
✅ Complete |
- |
| Add/Remove Tracks |
2.2.0 |
✅ Complete |
- |
| Unified Plan |
2.0.0 |
✅ Complete |
- |
| Bundling |
1.1.0 |
✅ Complete |
- |
| ICE Restart |
3.0.0 |
✅ Complete |
- |
| ICE TCP (Passive) |
3.0.0 |
✅ Complete |
- |
| ICE TCP (Active) |
4.0.0 |
✅ Complete |
- |
| ICE Regular Nomination |
2.0.0 |
✅ Complete |
- |
| Media & Codecs |
|
|
|
| VP8/VP9 |
1.0.0 |
✅ Complete |
- |
| H.264/H.265 |
Various |
✅ Packetizers |
- |
| AV1 |
3.2.0 |
✅ Complete |
- |
| Opus |
Various |
✅ Complete |
- |
| PCM |
2.2.0 |
✅ Complete |
- |
| Advanced Features |
|
|
|
| Simulcast |
3.0.0 |
✅ Send & Receive |
- |
| Sender/Receiver Reports |
3.1.0 |
✅ Complete |
- |
| TWCC |
3.1.0 |
✅ Complete |
- |
| Congestion Control |
3.2.0 |
🚧 TWCC only |
🔴 Critical |
| Jitter Buffer |
4.0.0 |
❌ Missing |
🔴 Critical |
| SRTP AEAD-GCM |
3.0.0 |
✅ Complete |
- |
| Interceptor API |
3.0.0 |
✅ Complete |
- |
| NACK Interceptor |
3.0.0 |
✅ Complete |
- |
| Stats Interceptor |
3.2.0 |
✅ Complete |
- |
| H.264 Interceptor |
Roadmap |
❌ Missing |
🟢 Low |
| FEC Interceptor |
Planned |
❌ Missing |
🟡 Medium |
| DTLS Restart |
Planned |
🚧 Partial |
🟡 Medium |
| Development Infrastructure |
|
|
|
| Automated Fuzzing |
Production |
❌ Missing |
🔴 Critical |
| Performance CI |
Production |
❌ Missing |
🔴 High |
| Allocation Tracking |
Production |
❌ Missing |
🟠 High |
| Auto Changelog |
Production |
❌ Missing |
🟡 Medium |
| API Features |
|
|
|
| PeerConnection Serialize |
Roadmap |
❌ Missing |
🟠 Medium |
| WASM Support |
2.0.0 |
🚧 Partial |
🟡 Medium |
| Mobile Support |
1.2.0 |
✅ Rust works |
- |
| Embedded/IoT (TinyGo) |
Roadmap |
❌ no_std |
🟡 Future |
✅ Features We Have (Pion Parity)
- ✅ Complete protocol stack (ICE, DTLS, SCTP, RTP/RTCP, SRTP, SDP)
- ✅ STUN and TURN support (including TCP TURN)
- ✅ Trickle ICE and mDNS
- ✅ Data Channels with configurable reliability
- ✅ Simulcast (send & receive)
- ✅ Interceptor API (NACK, TWCC, Sender/Receiver Reports, Stats)
- ✅ Unified Plan SDP
- ✅ BUNDLE support
- ✅ Add/Remove tracks at runtime
- ✅ ICE Restart
- ✅ AV1, H.264, H.265, VP8, VP9 support
- ✅ UDPMux capability (single port for multiple connections)
- ✅ SRTP AEAD AES-GCM
- ✅ ICE TCP (active/passive candidates)
- ✅ Insertable Streams API
🚧 Features We're Missing (Need Implementation)
- 🔴 Jitter Buffer - Critical for smooth media playback (Pion 4.0.0)
- 🔴 Full Congestion Control - GCC/BBR implementation (Pion 3.2.0)
- 🔴 Automated Fuzzing - oss-fuzz integration (Pion has this)
- 🟠 H.264 Interceptor - Bitstream fixing for common issues (Pion roadmap)
- 🟠 DTLS Restart - Complete implementation (Pion roadmap)
- 🟠 PeerConnection Serialization - Save/restore connection state (Pion roadmap)
- 🟡 FEC Interceptor - Forward Error Correction (planned)
- 🟡 Embedded/IoT Support - Equivalent to TinyGo support (future exploration)
🎯 Our Unique Advantages
- Sans-I/O Architecture - Complete control over I/O, threading, and runtime
- Pure Rust - Memory safety, no CGO overhead, no OpenSSL dependency
- Runtime Independence - Works with any async runtime or blocking I/O
- Modular Design - 15 independent crates for flexible composition
- Zero-Copy Design - Efficient packet processing where possible
📊 Development Infrastructure Comparison
| Feature |
Pion |
RTC |
Priority |
| Automated fuzzing (oss-fuzz) |
✅ |
❌ |
🔴 Critical |
| Performance regression testing |
✅ |
❌ |
🔴 High |
| Allocation tracking in CI |
✅ |
❌ |
🟠 High |
| Auto changelog generation |
✅ |
❌ |
🟡 Medium |
| Comprehensive examples |
✅ |
✅ (30+) |
✅ Done |
| Browser interop tests |
✅ |
✅ |
✅ Done |
Communication
- GitHub Issues: Bug reports and feature requests
- Discord: Real-time discussions and support
- GitHub Discussions: Long-form technical discussions
- Blog: Major announcements and technical deep-dives
- Roadmap Updates: Quarterly reviews and adjustments
Questions or suggestions? Open an issue or join us on Discord!
RTC Project Roadmap
Architecture: Sans-I/O WebRTC Implementation in Rust
Last Updated: January 2026
Project Vision
Build a production-ready, runtime-independent WebRTC stack in pure Rust using the sans-I/O architecture pattern,
providing developers with complete control over networking, threading, and async runtime integration while maintaining
full WebRTC specification compliance.
Current Status
✅ Completed Features
Core Protocol Stack
WebRTC Features
Interceptors & Media Processing
Codec Support
Architecture
poll_*andhandle_*APIsDevelopment & Quality
🚧 In Progress / Partially Complete
🔴 Missing Features
Roadmap
Phase 1: Stability & Polish (Q1 2026)
Goal: Make production-ready with excellent developer experience
1.1 Bug Fixes & Stability
1.2 Documentation & Examples
1.3 Testing & Quality
Phase 2: Performance & Optimization (Q2 2026)
Goal: Optimize for production workloads and high-performance scenarios
2.1 Performance Optimization
2.2 Benchmarking & Testing
2.3 Memory Efficiency
Phase 3: Advanced Features (Q3 2026)
Goal: Add advanced WebRTC features and expand ecosystem
3.1 Media Quality & Resilience
3.2 Protocol Extensions
3.3 Codec Support
Phase 4: Language Bindings & Ecosystem (Q4 2026)
Goal: Make RTC accessible from other languages and build ecosystem
4.1 FFI & Language Bindings
ffibranch)4.2 Integration Libraries
4.3 Higher-Level APIs
Phase 5: Production Features (2027+)
Goal: Enterprise-ready features for production deployments
5.1 Scalability & Infrastructure
5.2 Observability & Monitoring
5.3 Security & Hardening
5.4 Compliance & Standards
5.5 Developer Experience
Future Exploration (Beyond 2027)
Emerging Technologies
Embedded & IoT
Ecosystem Growth
Developer Experience
Contributing to the Roadmap
This roadmap is a living document and we welcome community input:
enhancementlabelPriority Levels
Production-Ready Criteria for 1.0
Comparison with Pion WebRTC
This roadmap incorporates learnings from Pion WebRTC's roadmap. Here's how we
compare:
Feature Comparison of Pion vs RTC
✅ Features We Have (Pion Parity)
🚧 Features We're Missing (Need Implementation)
🎯 Our Unique Advantages
📊 Development Infrastructure Comparison
Communication
Questions or suggestions? Open an issue or join us on Discord!