Skip to main content

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

C++20
Boost.Asio
RTP/UDP
SIP/SDP
Boost.Beast
G.711 PCMU
GoogleTest
CMake
JavaScript
Docker
Conan 2

Project media

avrl-live-resilience-recovered-dashboard-1

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.