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


새로고침   새페이지 Lower page making 잠금해제 비교 복사 이름변경   대문 목록 검색 갱신내역 백업 리퍼러   도움말   갱신내역의 RSS
Last-modified: Thu, 20 Aug 2020 19:34:50 KST (1723d)