DMR: Gateway Rules by Al AF4FA

DMR Gateway will only pass traffic to the different networks if it’s referenced in a rewrite rule in the .ini file.

TGRewrite

TGRewrite allows you to translate one talk group ID to another, and to alter the time slot.

TGRewrite can also be used to route a talk group and slot combination to a particular network.

‘from’ applies to DMR frames entering the Gateway via MMDVMHost (RF), and ‘to’ is where they are routed on the network side (Net). The rules apply to DMR frames traversing the gateway in both directions.

Syntax
TGRewrite=fromSlot,fromTG,toSlot,toTG,range

Examples
The rule below will translate a group call to talk group talk group 8 to talk group 9 on DMR Network 1.

[DMR Network 1]
# Reflector TG on to slot 2 TG8
TGRewrite=2,8,2,9,1

The rules below will route a group call to 9990 on time slot 1 to DMR Network 1, and a group call to 9990 on time slot 2 to DMR Network 2.

[DMR Network 1]
# Echo on slot 1 TG9990
TGRewrite=1,9990,2,9990,1
[DMR Network 2]
# Echo on slot 2 TG9990
TGRewrite=2,9990,2,9990,1

PCRewrite

This is almost identical to the TGRewrite except it only operates on private calls. PCRewrite can be used to add a prefix on a private call to a reflector to ‘steer’ them to a particular network. The prefix will then be removed before being routed to the DMR network. ~~The rules apply to DMR frames traversing the gateway in both directions.~~~ This rule only works on DMR frames apassing from the RF side to the network.

Typically used to remap reflector control calls to a different local range to avoid clashes, and for permitting GPS position reports and private calls to a particular network.

Syntax
PCRewrite=fromSlot,fromId,toSlot,toId,range

Examples
The rules below will route any private calls on time slot 2 in the range 94000 – 95000 to 4000 –
5000 on DMR Network 1, and the range 84000 – 85000 to 4000 – 5000 on DMR Network 2.

[DMR Network 1]
# Reflector control command slot 2 94000->4000 to 95000->5000
PCRewrite=2,94000,2,4000,1001

[DMR Network 2]
# Reflector control command slot 2 84000->4000 to 85000->5000
PCRewrite=2,84000,2,4000,1001

SrcRewrite

SrcRewrite will rewrite the source/from Talk Group ID to another ID.

Syntax
SrcRewrite=fromSlot,fromId,toSlot,toTG,range

Examples
The rule below will rewrite calls from 4000-5000 on DMR Network 1, to talk group 9 on slot 2. This is useful for ensuring reflector announcements are heard on talk group 9. This rule only works on DMR frames passing from the network side to the RF side.

[DMR Network 1]
# Reflector status returns
SrcRewrite=2,4000,2,9,1001

TypeRewrite

TypeRewrite maps a group call to a private call. This rule only works on DMR frames passing from the RF side to the network side.

Syntax
TypeRewrite==fromSlot,fromId,toSlot,toId

Example
The rules below translate a group call to 9990 on slot 1, to a private call on DMR Network 1. The SrcRewrite rule then allows the reply to traverse the gateway. This could be used for converting Brandmeister’s private call echo service to a group call method like DMR+, to make the usage more uniform across the networks.

[DMR Network 1]
# Echo on RF slot 1 TG9990 to network slot 1 9990
TypeRewrite=1,9990,1,9990
SrcRewrite=1,9990,1,9990,1

PassAllTG

Passes all talk groups without specific matching rules, and can only be used on a single DMR network. The rules apply to DMR frames traversing the gateway in both directions.

Syntax
PassAllTG=Slot

Example
The rules below allow group calls to traverse from DMR network 2 to either time slot on the RF side.

[DMR Network 2]
# Pass all of the other talk group traffic on slot 1 and slot 2
PassAllTG=1
PassAllTG=2

PassAllPC

Passes all private calls without specific rules, and can only be used on a single DMR network. The rules apply to DMR frames traversing the gateway in both directions.

Syntax
PassAllPC=Slot

Example
The rules below allow private calls to traverse from DMR network 2 to either time slot on the RF side.

[DMR Network 2]
# Pass all of the other private traffic on slot 1 and slot 2
PassAllPC=1
PassAllPC=2