***ASL3からガイダンス送信-その1[#qb1fcb8e] ASL3(v.3.6.3) をTGIFとリンクさせてTGIFにカーチャンクした局時に、案内の音声をそのTG内に流すことを試したので ASL3(v.3.6.3) をTGIFとリンクさせてTGIFにカーチャンクした局に、案内の音声をそのTG内に流すことを試したので ( ..)φメモメモ 文中の&color(Blue){''52984''}; はJH1BLT Node です。実際のご自分のノードに置き換えて解釈願います。 【動作環境】 +OS: Bookworm(Debian12) ;Raspberry pi に限らず、PCやノートでもOK。 +ASL3(今回最新のVersion 3.6.3に限る); 3.4.2 以降は、その前よりパラメータや機能が大幅に変化しているため。 +DVSwitch (V.1.6.0-20221023-8) + Analog_Reflector ;バージョン表示するには # apt list <package_name> 【手順・概略】 +TGIFにカーチャンクしてきたら/var/log/mssages.log にその情報が表示されるようにする。 ++# asterisk -rvvv でCLI> モードにしてから ++ 次のコマンドでモニター用にparrot node &color(Aqua){''40894''}; にlink しておく。;&color(Aqua){''40894''}; は評価をしてくれるParrotです。 node&color(Blue){''52984''};*CLI> rpt fun &color(Blue){''52984''}; *340894 >node52984*CLI> rpt fun 52984 *721 ←コールサインIDをCWで内部・外部へ送信する。 {内部:ノード内 外部:ネット側)送信して、外部へも送られていれば、Parrot から返りがありOKですが ノード内だけの場合は、[[rpt.conf のパラメータの調整>各種パラメータの調整]]が必要となって、その分手間がかかります。 < ++ 同時に /var/log/asterisk/messages.log を以下の通り監視しておく。 ># tail -f /var/log/asterisk/messages.log ・・・・ < ++ASL3+DVSwitch でDMR(TGIF44125)<==>AllStaarLink 通信ができるようにしておく。[[hUCの使い方>hUCの使い方]]参照 ++他のClient でTGIF44125に接続して短いカーチャンクをする。 その時にiii.のログをみていて、 "app_rpt.c: Text Message From 52984:CN|J" の文字列があったか? 無ければ、 > # nano /etc/asterisk/logger.conf で編集する。 messages.log => notice,warning,error,dtmf,''&color(Olive){verbose}; ''←verbose を追加してみる。 < +カーチャンク時の文字列が検出できたら、これをトリガーにして[[音声ファイル>音声ファイルの作り方]](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}" < &color(Red){''<工事中>''}; #clear ---- #comment #navi(日記) |