G
YouTube TikTok Games
Skip to content

[FEATURE] Add Re-Affiliation Timeout Handling for Stale Affiliations #122

Open

Description

@DevRanger

Component

dvmhost

If "Other", specify component

No response

Problem / use case

Currently, host only clears stale affiliations after the 12-hour timeout expires. If a peer disconnects or dies unexpectedly, any active affiliations from that peer remain visible until the timer runs out. This causes stale affiliations to appear in SysView and other monitoring tools. It may also create issues where a stale affiliation prevents the same RID from re-affiliating after the peer reconnects, or from affiliating on another site.

Proposed solution

Instead of relying on the existing stale-affiliation timeout, I propose adding a re-affiliation check timer. At a configurable interval, or after a defined period of RID inactivity, host would send a query to confirm whether the RID is still present. If the RID responds, the affiliation remains active and the timer resets. If the RID does not respond, the affiliation should be considered stale and removed. Optionally, host could also treat the RID as de-registered at that point, since the radio is no longer confirmed to be present on the system.

Alternatives considered

No response

Implementation notes

This logic should be scoped so it does not affect DVRS or conventional.

Additional context

No response

Activity

  1. gatekeep commented on May 22, 2026

    @gatekeep
    Member

    In r05a06_dev, commit 06df86e we handle this now similarly to unit registration to clear stale affiliations.

  2. gatekeep commented on May 22, 2026

    @gatekeep
    Member

    To add I will point out, this just implements clearing stale affiliations so that DVM doesn't report stale affiliations, it does not implement support for GRP_AFF_Q on P25 for example (other protocols may or may not have similar packets to ping a radio).

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions