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.
2.2 KiB
2.2 KiB
Codex Notes
Network Direct Dial
Findings:
- HBP
RPTOoptions are variable-length in DMRGateway and null-padded options are already trimmed in FreeDMR. - DMRGateway bounds normal Homebrew
DMRDpackets to fixed length and uses a 300-byte stack buffer for outboundRPTO; a 255-byte receive limit in FreeDMR is conservative and compatible. - FreeDMR can implement repeater-ID network direct dial without a new packet
forwarding path by activating an existing
#<tg>dial route and reusing the current TG9 rewrite logic. - FreeDMR1 still treats HBP
SLOTSas repeater-advertised metadata from the RPTC config packet or legacy PEER config. It is not currently a master-side routing policy knob for dynamic/dial behavior.
Assumptions:
NETWORK_DIRECT_DIAL_SLOT=0means disabled;1presents TG9 TS1;2presents TG9 TS2 for DMO/simplex clients.- Network direct dial is client/session-overridable through
OPTIONS; the compact alias isNDD_SLOT. - RF-originated traffic must not activate network direct dial.
- Invalid
NETWORK_DIRECT_DIAL_SLOTvalues in config should fall back to0and log a warning; invalid OPTIONS values should leave the current session value unchanged.
Unresolved questions:
- Whether to add a later local CW
Nnotification for blocked network direct dial attempts. - Whether a broader HBP bounds-validation pass should reject all non-exact
DMRDlengths rather than only guarding short packets. - Whether FreeDMR2 should promote HBP
SLOTS/DMO capability into an explicit access-session capability model. FreeDMR1 should not infer this for network direct dial.
Protocol-sensitive areas:
- Network direct dial is a narrow exception to the normal rule that network audio does not change local RF-facing dial state.
- It must not override active or hangtime user-selected dial-a-TG state.
- It must preserve existing packet rewrite boundaries by using the established TG9 reflector bridge path.
Inferred invariants:
- General private voice routing remains disabled.
- Repeater/client-directed group-call access is allowed only when explicitly configured and the selected RF slot is idle.
- Overlength
OPTIONSshould be acknowledged but ignored to avoid client reconnect loops while protecting parser state.