Top > calendar - 日記

2026年 02月 の 日記

<< 2026.2 >>
[日記]
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28

20
February, 2026Edit

ASL3からガイダンス送信-その2

ASL3からガイダンス送信-その1よりできるだけ構築をやさしくできるように
 ( ..)φメモメモ 文中の52984 はJH1BLT Node です。実際のご自分のノードに置き換えて解釈願います。

【動作環境】

  1. OS: Bookworm(Debian12) ;Raspberry pi に限らず、PCやノートでもOK。
  2. ASL3(今回最新のVersion 3.6.3に限る); 3.4.2 以降は、その前よりパラメータや機能が大幅に変化しているため。
  3. DVSwitch (V.1.6.0-20221023-8) + Analog_Reflector ;バージョン表示するには # apt list <package_name>

【手順・概略】

  1. ASL3+DVSwitch でDMR(TGIF44125)<==>AllStaarLink 通信ができるようにしておく。hUCの使い方参照
     
  2. TGIFにカーチャンクした時にその様子が見えるように端末を開いて、次のコマンドで待機している。
  $ tail -f  /var/log/mmdvm/MMDVM_Bridge-$(date -u +%Y-%m-%d.log)|cut -c14-
  06:25:40.381 DMR Slot 2, received network voice header from JH1BLT to TG 44125
  06:25:40.405 DMR Slot 2, received network end of voice transmission, 0.5 seconds, 0% packet loss, BER: 0.0%

  上記データが見えたらOK。このデータを利用することになるので、留意してください。
 

  1. カーチャンク時だけ応答音声をTFIF 44125 に送信する原理。
    1. カーチャンクしてきた局(exp...JH1BLT)
    2. 送信に掛かった時間(received network end of voice transmission, 0.5 seconds)
    3. 上記情報を条件にして
      <誰>=> コールサインを検知・取り込む・・・A
      <何秒送信したか>=> voice transmission, 0.5 secondsの0.5を取り込む・・・B
         if JH1BLT の場合: then
         コールサインの音声を<Welcome>を含めて作成・・・C
         fi
         if TIMEは2秒以下か?: then
          asterisk -rx "rpt playback 52984 <C>"  # Cの音声ファイルをネット側に送信する
         fi

 基本的には上記のみ。このshell scripts ➡ dmr_monitor6.sh
 
以下工事中


URL B I U SIZE Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White

07
February, 2026Edit

ASL3からガイダンス送信-その1

ASL3(v.3.6.3) をTGIFとリンクさせてTGIFにカーチャンクした局に、案内の音声をそのTG内に流すことを試したので
 ( ..)φメモメモ 文中の52984 はJH1BLT Node です。実際のご自分のノードに置き換えて解釈願います。

【動作環境】

  1. OS: Bookworm(Debian12) ;Raspberry pi に限らず、PCやノートでもOK。
  2. ASL3(今回最新のVersion 3.6.3に限る); 3.4.2 以降は、その前よりパラメータや機能が大幅に変化しているため。
  3. DVSwitch (V.1.6.0-20221023-8) + Analog_Reflector ;バージョン表示するには # apt list <package_name>

【手順・概略】

  1. TGIFにカーチャンクしてきたら/var/log/mssages.log にその情報が表示されるようにする。
    1. # asterisk -rvvv でCLI> モードにしてから
    2.  次のコマンドでモニター用にparrot node 40894 にlink しておく。;40894 は評価をしてくれるParrotです。
        node52984*CLI> rpt fun 52984 *340894

      node52984*CLI> rpt fun 52984 *721 ←コールサインIDをCWで内部・外部へ送信する。
      {内部:ノード内 外部:ネット側)送信して、外部へも送られていれば、Parrot から返りがありOKですが
       ノード内だけの場合は、rpt.conf のパラメータの調整が必要となって、その分手間がかかります。

    3.  同時に /var/log/asterisk/messages.log を以下の通り監視しておく。

      # tail -f /var/log/asterisk/messages.log
      ・・・・

    4. ASL3+DVSwitch でDMR(TGIF44125)<==>AllStaarLink 通信ができるようにしておく。hUCの使い方参照
    5. 他のClient でTGIF44125に接続して短いカーチャンクをする。
      その時にiii.のログをみていて、 "app_rpt.c: Text Message From 52984:CN|J" の文字列があったか?
      無ければ、

       # nano /etc/asterisk/logger.conf で編集する。
      messages.log => notice,warning,error,dtmf,verbose ←verbose を追加してみる。

  2. カーチャンク時の文字列が検出できたら、これをトリガーにして音声ファイル?(my-id.ulaw)をTGIFへ送信する
    scripts say_01.sh を /etc/asterisk/scripts/ に作成する。

    # nano /etc/asterisk/scripts/say_01.sh

    -----------------
    #!/bin/bash
    tail -Fn0 /var/log/asterisk/messages.log | while read -r line ; do  # ログを監視
    if echo "$line" | grep -q "Text Message From 52984"; then          # 特定のメッセージを検知
      echo "$line"
      #ダンマリ用ロックファイルを生成する 
      ID_HASH=$(echo "$line" | cut -d' ' -f2)
      echo "$ID_HASH"
      LOCK_FILE="/tmp/cw_lock_${ID_HASH}"
    
      if [ ! -f "$LOCK_FILE" ]; then
         /usr/sbin/asterisk -rx "rpt playback 52984 my-id" # my-id(Voice)の送信
        # このロックファイルを作成し、300秒後に削除(5分間内のカーチャンクには反応しない)
             touch "$LOCK_FILE"
             (sleep 300 && rm -f "$LOCK_FILE") &
       fi
    fi
    done
     say_01.sh に実行権を与えるのを忘れないように。 # chmod 755 /etc/asterisk/scripts/say_01.sh
     また、say_01.sh を単独で起動させてテストもできるが、カーチャンクによりすぐロックファイルを作り
     300秒ダンマリ状態となり反応しなくなるので、一時的に以下コメントアウトしておくと良い。
    # ID_HASH=$(echo "$line" | cut -d' ' -f2)
    # echo "$ID_HASH"
    # LOCK_FILE="/tmp/cw_lock_${ID_HASH}"
     
    <工事中>





    ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS