ATC Voice Resilience Lab
C++20 voice networking with asynchronous RTP transport, fault injection, and real-time observability
A C++20 voice networking system combining SIP/SDP call-state handling, bidirectional RTP transport, deterministic fault injection, and real-time telemetry.
- Role
- Software Engineer — C++ & Network Systems
- Year
- 2026
Technologies
Project media
Technical context
Voice communication systems depend on coordinated signaling, time-sensitive media delivery, and accurate operational state. Diagnosing communication failures requires visibility into both call-level transitions and packet-level behavior.
Problem
Design a modular networking system capable of handling voice-session signaling, transporting RTP media, and reproducing network failures while maintaining consistent state and measurable transport behavior.
Project overview
The C++20 architecture separates protocol handling, call-session management, RTP media transport, fault injection, and telemetry into dedicated components. SIP/SDP processing manages the call lifecycle, while a bidirectional UDP relay forwards synthetic G.711 PCMU media packets with source and payload validation.
A resilience engine executes reproducible network-failure scenarios using virtual-time and real-time scheduling. An HTTP/WebSocket gateway publishes structured events to a browser dashboard, providing visibility into signaling transitions, packet statistics, component health, and recovery behavior.
Technical approach
- Implement SIP/SDP message processing and explicit call-state transitions
- Build asynchronous bidirectional RTP transport using Boost.Asio
- Introduce deterministic packet loss, signaling faults, and timed media interruptions
- Expose structured system events through HTTP and WebSocket interfaces
- Validate protocol behavior, transport lifecycle, and failure recovery with automated tests
Technical focus
- Asynchronous network programming and UDP packet processing
- Protocol parsing, validation, and call-state management
- Deterministic fault injection and recovery behavior
- Event-driven telemetry and component lifecycle management
- Automated verification and modular C++ architecture
Architecture notes
- Modular C++20 components with separated protocol, media, transport, and telemetry responsibilities
- In-process SIP/SDP signaling with explicit session-state transitions
- Bidirectional RTP relay using asynchronous UDP sockets and validated PCMU packets
- Scenario engine supporting virtual-time and wall-clock scheduling
- Boost.Beast HTTP/WebSocket gateway connecting the networking core to the monitoring dashboard
Engineering highlights
- Bidirectional RTP media forwarding with packet validation and transport metrics
- Deterministic 30-second resilience scenario covering media interruption and recovery
- 1,500 RTP frames per direction with 250 controlled drops per direction
- 318 structured telemetry events captured during the resilience scenario
- 171 automated tests passing in the documented version 1.0.1 release verification
Outcome
Completed version 1.0.1 with functioning RTP transport, configurable resilience scenarios, a live monitoring dashboard, automated verification, and reproducible release packaging.