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...

23 lines
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.