← Back to all sparks
H

HOMER

MEETINGS
Velocity5.0

Open source VoIP and RTC packet capture and monitoring

A tight patch train is still paying off HOMER's move to a DuckLake storage engine.

ducklake-storagesip-correlationdata-retentionpatch-cadencevoip-observability
Current state
HOMER 11 is shipping point releases every few days, and nearly all of them touch the DuckLake-backed storage layer it now runs on: partition hygiene, snapshot expiry, tiered-volume reclaim, corrupt metadata detection. The capture and correlation side is getting real work too, most notably transitive B2B call-leg resolution. This is a project stabilizing a storage migration in public rather than adding surface.
Where it's heading
The pattern across these releases is a backend that works but hasn't yet been made operationally boring. Storage bugs keep arriving from the field — future-dated partitions from bad RTPengine timestamps, obsolete files never physically deleted, corrupt table ids — which is what a young lakehouse layer under real VoIP capture volume looks like. Correlation and the coordinator API are where the actual feature work is landing, aimed at operators running multi-B2BUA chains and GitOps-managed deployments.
Prediction
Expect the patch cadence to continue on storage correctness and retention until field reports thin out; the aliases CRUD API documented in 11.0.301 suggests config-as-code deployment is the next area to get real attention.

Recent moves

  1. 1d ago

    Sanitizes bad HEP timestamps that created future-dated partitions

    Bad RTPengine HEP timestamps (NTP-as-Unix or invalid microseconds) were creating future-dated partitions in the DuckLake store; the decoder now sanitizes them. Another entry in the run of storage-integrity fixes that has defined this release train.

    View source ↗
  2. 2d ago

    Call-IDs with SQL keywords no longer blocked by the query guard

    The SQL-injection guard was rejecting legitimate Call-IDs that happened to contain reserved keywords, breaking searches for real calls. A narrow fix, but it sits on the path operators use most.

    View source ↗
  3. 2d ago

    Dashboard layout persists across resize; PostCSS bump

    A dashboard layout that failed to persist across window resizes, plus a PostCSS bump. Housekeeping in the middle of the storage-hardening run.

    View source ↗
  4. 3d ago

    DuckDB 1.5.5 and dependency bumps

    DuckDB moves to 1.5.5 alongside a dev-dependency bump. Worth noting only because the DuckDB version is the substrate every storage fix in this train depends on.

    View source ↗
  5. 4d ago

    Validates event_type identifiers and detects corrupt DuckLake table ids

    Two integrity fixes: table identifiers in LP event_type are now validated (a published advisory), and corrupt ducklake_data_file.table_id values are detected rather than propagated. Both are the storage layer learning to distrust its own inputs.

    View source ↗
  6. 6d ago

    Transitive B2B leg correlation resolves multi-B2BUA call chains

    Call correlation now expands B2B legs transitively up to five rounds instead of stopping at one hop, so a multi-B2BUA chain resolves into a full call no matter which leg the operator opens. The bundled sip_call.lua auto-upgrades via a seed hash, so existing installs get it without editing scripts.

    View source ↗