You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
FreeDMR/docs/freedmr-2/adr/0003-subscription-model-rep...

1.1 KiB

ADR 0003: Subscription Model Replaces BRIDGES

Status

Proposed

Context

The legacy BRIDGES dict mixes configuration, runtime state, reflector naming, routing, and export concerns. FreeDMR 2 models each TG as a conference bridge to which clients subscribe.

Decision

Use subscription-oriented internal state instead of legacy BRIDGES as the authoritative FreeDMR 2 model.

Rationale

Subscription state directly represents the FreeDMR user model: clients subscribe to TGs they want to hear. It supports direct TGs, dial-a-TG, default reflectors, API control, and future aliases without hard-coding routing modes.

Consequences

The packet path can use indexed subscription lookups. Existing dashboard/config expectations need compatibility export or migration.

Compatibility

BRIDGES and # reflector names may be generated as compatibility/export state where required, but routing should not depend on them.

Testing Requirements

Tests must assert subscription activation, expiry, direct TG routing, dial-a-TG mapping, default reflector behaviour, and absence of unintended recipients.

Powered by TurnKey Linux.