迷惑電話を切断

ここ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
       


リロード   新規 下位ページ作成 凍結解除 差分 コピー 名前変更   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS