Top > 日記 > 2018-07-30

迷惑電話を切断

ここhttps://s.webry.info/sp/vogel.at.webry.info/201801/article_4.htmlを参考にして構築。
注意点のみ記載する。

  1. make時
    ここhttps://vogel.at.webry.info/201711/article_3.htmlを参考にしてインストールする際、
    http://www.creytiv.com/pub/の最新をwgetすること。
    Paortaudio関連でエラーが出たら、
    # apt-get install portaudio19-dev
  2. 電話番号の取得
    ここの
    baresip 2>&1| sed -n "s/^.\+from: \(.\+\) sip.\+/\1/gp"
    はうまくいかないので、後述のLog掃き出しとそれを利用するスプリクトで行う。
  3. perlスクリプトの代わりに
    準備のhangup.plもこのままではうまくいかない。
    理由:
    netcat 127.0.0.1 5555 -N < ab.txt 2>&1 > /dev/null
    の-Nがoptionになく叱られる。また、netcatで5555を使うのだが、今回のRasPi2では、VPNで
    5555は既に使用されているので、module cons.c で5555 → 5556 に変えてmakeした。
    しかし、もしかしたら、=/baresip/configの設定でcons Listen portだけ変更すればいいのかも
    しれない。
    ----- ~/hangup.sh -----
    #!/bin/bash
    
    NUMX="Connection"
    DATX="1234"
    while :
    do
    NUM0=`tail -1 /var/log/messages | cut -d":" -f7 | cut -c 2-12`
    DAT0=`tail -1 /var/log/messages | cut -d" " -f1-3`
    #echo "$DAT0: $NUM0"
    if test "$DAT0" != "$DATX" && test "$DATX" != "1234" ; then
      if echo "$NUM0" | grep '^0120\|^0800' >/dev/null; then
        echo "迷惑電話着信?あり"
        cat /home/pi/ab.txt | netcat -u 127.0.0.1 5556 &
      else
        echo "$DAT0: $NUM0"
      fi
    fi
    DATX="$DAT0"
    sleep 2
    done
    ※改良版 hangupb.sh
    #!/bin/bash
    
    NUMX="Connection"
    DATX="1234"
    while :
    do
    NUM0=`tail -1 /var/log/syslog | grep -oP '(?<=from: ).+(?= sip)'`
    DAT0=`tail -1 /var/log/syslog | cut -d" " -f1-4`
    #echo "$DAT0: $NUM0"
    if test "$DAT0" != "$DATX" ; then
      if echo "$NUM0" | grep -f /home/pi/rjectno.txt >/dev/null; then
         echo "迷惑電話着信?あり"
         echo "$DAT0: $NUM0" >> meiwaku.txt
         cat /home/pi/ab.txt | netcat -u 127.0.0.1 5556 &
         echo "$DAT0: $NUM0"
    #        pkill hangup.sh
      fi
    fi
    DATX="$DAT0"
    sleep 2
    done
  1. コマンドファイル
    ab.txtはこのままではコマンドとして受け付けてくれないので、以下に変更。
    ----- =/ab.txt ------
    /accept
    /hangup
  2. 今後
    1. 拒否番号は別ファイルにする。
    2. 迷惑電話番号リストとの照合を行ってから切断する。
      if echo "$NUM0" | grep -f /home/pi/rjectno.txt >/dev/null; then
       

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


リロード   新規 下位ページ作成 凍結解除 差分 コピー 名前変更   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: Thu, 20 Aug 2020 19:34:50 JST (1337d)