デジピーター運用のための DMRGateway 設定ガイド ― TGRewrite と PassAllTG の正しい使い方
Pi-Star / WPSD でデジピーターを運用する際、DMRGateway の設定ファイルにある TGRewrite と PassAllTG の役割を正しく理解することが、安定した運用の鍵になります。この 2 つは似て非なるものであり、組み合わせ方によって「どの TG を通すか」「どの TG に変換するか」の動作が大きく変わります。

📖 TGRewrite とは
TGRewrite は、特定の TG 番号を別の TG 番号に変換(リライト)してネットワークへ送り出すルールです。書式は以下の通りです。
TGRewrite0=スロット, 入力TG, スロット, 出力TG, 変換数
たとえば、
TGRewrite0=1,6,1,44833,1
はスロット 1 で TG6 を受信したとき、TG44833 として TGIF ネットワークへ送り出す、という意味です。無線機のダイヤルでは TG6 に合わせたまま運用できます。
📖 PassAllTG とは
PassAllTG は、TGRewrite に一致しない TG もすべてそのまま通過させる設定です。Pi-Star / WPSD のデフォルト設定では多くの場合これが有効になっています。
書式は PassAllTGN=スロット番号 です。末尾の N(0, 1, 2…)はルールのインデックス番号であり、スロット番号ではありません。スロット番号は値(右辺の数字)で指定します。
PassAllTG0=1 # ルール 0 番:値=1 → スロット 1 のすべての TG を通過させる PassAllTG1=2 # ルール 1 番:値=2 → スロット 2 のすべての TG を通過させる
この設定があると、ユーザーが無線機のダイヤルで任意の TG を呼び出した際、TGRewrite に一致しない TG でも DMRGateway は素通りさせます。これが「ダイナミック TG」(無線機ダイヤルによる自由な TG 接続)を可能にしている根拠です。
📖 Dynamic TG Control との違い
[Dynamic TG Control] は PassAllTG とは別物です。PassAllTG 単体で機能します。
[Dynamic TG Control] Enabled=1 Port=3769
このセクションは、外部ツールが UDP ポート経由で DMRGateway に直接 TG 切り替え命令を送るためのインターフェースを開くものです。ただし、TGIFChanger は TGIF のネットワーク API を直接操作して TG を切り替えるため、このセクションは不要です。[Dynamic TG Control] は、MMDVMHost のコマンドポートなど、DMRGateway 経由でTGを操作する他のツールを使う場合に有効にします。PassAllTG 自体の有効・無効とは無関係です。
| 設定 | 役割 | Dynamic TG Control との関係 |
|---|---|---|
TGRewrite | 特定 TG を別 TG に変換 | 無関係 |
PassAllTG | 変換ルール外の TG をすべて通過 | 無関係(独立して動作) |
[Dynamic TG Control] | UDP ポート経由で DMRGateway に TG 切り替え命令を送る外部ツール用のインターフェース | TGIFChanger には不要(TGIFChanger は TGIF API を直接操作するため) |
🔧 設定パターン別の動作比較
パターン① ダイナミック TG を許可する(デフォルト)
ユーザーが無線機のダイヤルで自由に TG を変えられる、もっとも一般的な構成です。PassAllPC(プライベートコール)も同様に、変換ルール外の PC をすべて通過させます。
TGRewrite0=1,6,1,44833,1 # TG6 → TG44833(ホーム TG)に変換 TGRewrite1=2,6,2,44833,1 PassAllTG0=1 # スロット 1:上記以外の TG もすべて通過 PassAllTG1=2 # スロット 2:上記以外の TG もすべて通過
この構成では、ユーザーが TG245 などに切り替えると DMRGateway はそのまま TG245 を TGIF へ送ります。TGIFChanger と組み合わせることで、一定時間後にホーム TG(TG44833)へ自動復帰させることができます。
パターン② TG を完全固定する(ダイナミック TG を禁止)
ホーム TG 以外への接続を一切許可しない、厳格な構成です。PassAllTG を書かず、TGRewrite のみ記述します。
TGRewrite0=1,6,1,44833,1 # TG6 → TG44833 のみ変換・通過 TGRewrite1=2,6,2,44833,1 # PassAllTG は書かない → TGRewrite に一致しない TG はドロップされる
この構成では、ユーザーが TG245 などを呼び出しても DMRGateway がドロップするため、TGIF の接続先は変わりません。デジピーターを常にホーム TG だけで運用したい場合に適しています。
| 構成 | TGRewrite | PassAllTG | 動作 |
|---|---|---|---|
| ダイナミック TG 許可 | あり | あり | ホーム TG 変換+その他 TG も通過 |
| TG 完全固定 | あり | なし | ホーム TG のみ通過、他はドロップ |
| すべて素通り | なし | あり | すべての TG がそのまま通過 |
📋 実際の設定例(JJ2YYK)
以下は当局(JJ2YYK)の TGIF 接続設定です。ホーム TG は TG44833 で、ローカルスロットでは TG6 として待ち受けています。
[DMR Network 4] Enabled=1 Address=tgif.network Port=62031 Name=TGIF_Network Id=440251955 Password="passw0rd" TGRewrite0=1,6,1,44833,1 # スロット 1:ローカル TG6 → TGIF TG44833 TGRewrite1=2,6,2,44833,1 # スロット 2:ローカル TG6 → TGIF TG44833 PCRewrite0=2,94000,2,4000,1001 TypeRewrite0=2,9990,2,9990 SrcRewrite0=2,4000,2,9,1001 PassAllPC0=1 # ルール 0 番:値=1 → スロット 1 のすべての PC(プライベートコール)を通過 PassAllTG0=1 # ルール 0 番:値=1 → スロット 1 のすべての TG を通過(ダイナミック TG 許可) PassAllTG1=2 # ルール 1 番:値=2 → スロット 2 のすべての TG を通過(ダイナミック TG 許可) [Dynamic TG Control] Enabled=1 Port=3769 # 外部ツールから DMRGateway へ TG 切り替え命令を送るポート(TGIFChanger には不要)
この設定により、利用者は無線機のダイヤルで任意の TG へ一時的に接続でき、TGIFChanger が通信終了後にホーム TG(TG44833)へ自動復帰させます。