Skip to content

rtcp: bound per-SSRC MOS history without losing lifetime aggregates (#2174) - #2203

Closed
darwvin-dev wants to merge 9 commits into
sipwise:masterfrom
darwvin-dev:fix/bounded-rtcp-ssrc-history-2174
Closed

darwvin-dev wants to merge 9 commits into
sipwise:masterfrom
darwvin-dev:fix/bounded-rtcp-ssrc-history-2174

Conversation

@darwvin-dev

Copy link
Copy Markdown
Contributor

Fork-local draft for upstream #2174.

Changes

  • Cap per-SSRC RTCP history at 512 samples.
  • Preserve lifetime MOS average/count and independent extrema snapshots when the history is trimmed.
  • Extract thread-safe ssrc_stats_record() so the same production path is unit-testable.
  • Add a deterministic 700-report test to t/test-stats.c that verifies queue size, lifetime MOS/jitter totals, discarded duplicate timestamp handling, and extrema timestamps from entries already evicted.
  • Keep NG query/delete stats and teardown logs on lifetime counts.
  • Clarify that detailed MOS progression only describes recent samples.

Validation / upstream readiness

  • Review upstream implementation and commit changes on a separate fork branch.
  • Add deterministic >512-sample unit coverage (t/test-stats.c).
  • Add RTCP output-shape assertions (t/auto-daemon-tests-rtcp.pl).
  • Run make asan-check; GitHub Actions are currently not running on this fork.
  • Run full daemon RTCP suite and benchmark RAM on realistic long calls.
  • Check any consumer requiring full-lifetime MOS progression.

No test execution claimed. Keep as Draft until build/ASAN passes.


Upstream submission notes

This is a draft, carried from contributor fork PR darwvin-dev/rtpengine#2.
Unfinished validation: Please refer to the outstanding build, runtime, regression and/or integration tests above. No claim is made that these checks passed. Review for compatibility and completeness before marking ready.
The source branch is behind current upstream master and may require reconciliation before merging.

@rfuchs

rfuchs commented Oct 13, 2026

Copy link
Copy Markdown
Member

FTR this is already pending upstream: 6bd002e

@darwvin-dev

Copy link
Copy Markdown
Contributor Author

Thanks for pointing this out! I'll close my draft to avoid duplication Happy to contribute regression tests if useful.

@darwvin-dev

Copy link
Copy Markdown
Contributor Author

Closing in favor of upstream 6bd002e.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants