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/03-subscription-model.md

2.0 KiB

FreeDMR 2 Subscription Model

The subscription model is the centrepiece of FreeDMR 2.

Conceptually, each TG is a conference bridge. Client systems subscribe to conference TGs. FreeDMR routes traffic according to active subscriptions, not according to the legacy shape of the BRIDGES dict.

Definitions:

  • conference_tg: FreeDMR network/conference identity.
  • rf_tg: Client-facing RF presentation identity.

Examples:

Direct TG:

rf_tg == conference_tg

Dial-a-TG:

rf_tg == 9
conference_tg == selected reflector/TG

Alias/rewrite:

rf_tg may differ from conference_tg by policy/configuration

Example subscription:

TalkgroupSubscription(
    client_id=2345001,
    slot=2,
    rf_tg=9,
    conference_tg=4400,
    mode="dial",
    active=True,
)

Routing Invariant

Packet routing should not need to know whether a subscription came from static config, default reflector, dial-a-TG, API, SMS control, or a future UI action. Those are subscription sources, not routing modes.

Dial-a-TG Rationale

Dial-a-TG exists so terminal users can access arbitrary FreeDMR TGs without programming every TG into the terminal/codeplug. It is an amateur-radio usability feature and should be evaluated against that goal, not only against commercial DMR fleet assumptions.

Control of dial-a-TG from TS1 as well as TS2 is intentional. If TS2 is blocked by unwanted traffic, a user can transmit private-call control on TS1 to disconnect or change the TS2 reflector/TG state.

Voice prompts should remain RF-visible as TG9 slot 2 unless that policy is deliberately changed.

FreeDMR Routing Model

  • TGs are conference groups.
  • DMR IDs are like phone numbers.
  • Timeslots are access/capacity paths, more like phone lines.
  • FreeDMR is intended to be relatively timeslot agnostic.
  • TS1 control affecting TS2 reflector state is consistent with the FreeDMR PBX/line model.

This model also allows future arbitrary RF TG aliases, not only the traditional TG9 dial-a-TG rewrite.

Powered by TurnKey Linux.