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/options-cheatsheet.md

6.0 KiB

FreeDMR OPTIONS Cheat Sheet

OPTIONS lets a connected repeater/hotspot request session settings from a FreeDMR master. These settings last for the current client session. When the client disconnects or times out, FreeDMR resets the session back to the server configuration defaults.

Format

Use semicolon-separated KEY=VALUE fields:

KEY=secret;TS1=91,92;TS2=235;DEFAULT_DIAL_TS1=4400;DEFAULT_DIAL_TS2=2350;TIMER=15

Keep key names exact. Avoid spaces around key names. Commas inside TG lists may have simple whitespace.

Common Examples

Static TGs on both slots:

TS1=91,92;TS2=235

Default dial-a-TG on slot 2:

DEFAULT_DIAL_TS2=2350

Default dial-a-TG on both slots:

DEFAULT_DIAL_TS1=4400;DEFAULT_DIAL_TS2=2350

Set slot 2 to no default dial-a-TG connection:

DEFAULT_DIAL_TS2=0

or, using the legacy alias:

DIAL=

Disable dial-a-TG private-call control:

DIALTG=0

Disable automatic dynamic conventional TG routing:

DYNAMIC=0

Use a user API key:

KEY=my-secret-key

Supported Fields

Field Meaning
KEY User/session API key. If a key is already set for the session, later OPTIONS must include the same key.
TS1 Comma-separated static TG list for slot 1. Empty means no static TGs.
TS2 Comma-separated static TG list for slot 2. Empty means no static TGs.
DEFAULT_DIAL_TS1 Default dial-a-TG target for slot 1. 0 or empty means not connected to any default TG.
DEFAULT_DIAL_TS2 Default dial-a-TG target for slot 2. 0 or empty means not connected to any default TG.
TIMER Legacy/default user-activated timeout in minutes. 0 means effectively unlimited.
TG_TIMER Conventional TG dynamic/static timeout in minutes. Falls back to TIMER.
DIAL_TIMER Dial-a-TG timeout in minutes. Falls back to TIMER.
TS1_TIMER Slot 1 timeout in minutes. Overrides TG_TIMER/DIAL_TIMER for slot 1 unless a more specific timer is set.
TS2_TIMER Slot 2 timeout in minutes. Overrides TG_TIMER/DIAL_TIMER for slot 2 unless a more specific timer is set.
TS1_TG_TIMER Slot 1 conventional TG timeout in minutes.
TS2_TG_TIMER Slot 2 conventional TG timeout in minutes.
TS1_DIAL_TIMER Slot 1 dial-a-TG timeout in minutes.
TS2_DIAL_TIMER Slot 2 dial-a-TG timeout in minutes.
DIALTG Enable/disable dial-a-TG private-call control. Use 1 or 0.
DYNAMIC Enable/disable automatic dynamic conventional TG routing. Use 1 or 0.
VOICE Enable/disable voice ident. Use 1 or 0.
SINGLE Enable/disable single-TG mode. Use 1 or 0.
IDENTTG Override voice ident TG. Integer TG value.
VOICETG Alias for IDENTTG.
LANG Announcement language, if installed on the server. Example: en_GB.

Legacy Aliases

These are still accepted for compatibility:

Legacy field Current meaning
DIAL Alias for DEFAULT_DIAL_TS2. Empty means slot 2 is not connected to any default TG.
DEFAULT_REFLECTOR Alias for DEFAULT_DIAL_TS2. Deprecated.
StartRef DMR+ style alias for DEFAULT_DIAL_TS2.
RelinkTime DMR+ style alias for TIMER.
TGTimer DMR+ style alias for TG_TIMER.
DialTimer DMR+ style alias for DIAL_TIMER.
TS1Timer DMR+ style alias for TS1_TIMER.
TS2Timer DMR+ style alias for TS2_TIMER.
IDENT Alias for VOICE.
TS1_1 ... TS1_9 DMR+ style slot-1 static TG fields. Combined into TS1.
TS2_1 ... TS2_9 DMR+ style slot-2 static TG fields. Combined into TS2.
UserLink Accepted and ignored.

Dial-a-TG Notes

  • Dial-a-TG uses RF-visible TG9 on the relevant slot.
  • Slot 1 and slot 2 dial-a-TG state are independent.
  • Private-call control on slot 1 controls slot 1.
  • Private-call control on slot 2 controls slot 2.
  • Voice prompts for dial-a-TG are sent on TG9 on the controlling slot.
  • DEFAULT_REFLECTOR, DIAL, and StartRef only affect the slot-2 default. Use DEFAULT_DIAL_TS1 for slot 1.

Timer Precedence

Timer fields are in minutes. 0 means effectively unlimited.

For each active route, FreeDMR uses the most specific configured timer:

  1. TS1_TG_TIMER, TS2_TG_TIMER, TS1_DIAL_TIMER, or TS2_DIAL_TIMER
  2. TS1_TIMER or TS2_TIMER
  3. TG_TIMER or DIAL_TIMER
  4. TIMER

Examples:

  • TIMER=15 gives all user-activated TG and dial-a-TG routes a 15 minute timer.
  • TG_TIMER=10;DIAL_TIMER=30 gives conventional TGs 10 minutes and dial-a-TG routes 30 minutes.
  • TS1_DIAL_TIMER=5;TS2_DIAL_TIMER=30 gives slot 1 and slot 2 dial-a-TG independent timers.

Valid Dial-a-TG Values

  • 0 or empty: not connected to any default TG.
  • 1 to 999999: valid range, except reserved/control targets.
  • Reserved/control targets such as 6, 7, 8, and the control range 4001 to 4999 are not accepted as default dial-a-TG values.
  • 4000 is disconnect control, not a default link target.
  • 5000 is status control, not a default link target.

Practical Starter Strings

Simple hotspot, no static TGs, default dial-a-TG on TS2:

TS1=;TS2=;DEFAULT_DIAL_TS2=2350;TIMER=15

Repeater with static national TGs and dial-a-TG on both slots:

TS1=91,92;TS2=235;DEFAULT_DIAL_TS1=4400;DEFAULT_DIAL_TS2=2350;TIMER=15

Control-heavy setup with API key and no dynamic conventional TG routing:

KEY=my-secret-key;TS1=91;TS2=235;DIALTG=1;DYNAMIC=0;TIMER=15

Separate conventional TG and dial-a-TG timers:

TS1=91;TS2=235;DEFAULT_DIAL_TS1=4400;DEFAULT_DIAL_TS2=2350;TG_TIMER=10;DIAL_TIMER=30

Troubleshooting

  • Use 0 or an empty value when the slot should not connect to any default TG.
  • Use only 0 or 1 for boolean fields such as DIALTG, DYNAMIC, VOICE, and SINGLE.
  • Invalid fields are logged by the server. Valid fields in the same OPTIONS string may still be applied.
  • If settings do not appear to change, check that the correct KEY=... is being sent for the session.

Powered by TurnKey Linux.