***迷惑電話を切断 [#k88ca82f] ここhttps://s.webry.info/sp/vogel.at.webry.info/201801/article_4.htmlを参考にして構築。 注意点のみ記載する。 +make時 ここhttps://vogel.at.webry.info/201711/article_3.htmlを参考にしてインストールする際、 http://www.creytiv.com/pub/の最新をwgetすること。 Paortaudio関連でエラーが出たら、 # apt-get install portaudio19-dev +電話番号の取得 ここの baresip 2>&1| sed -n "s/^.\+from: \(.\+\) sip.\+/\1/gp" はうまくいかないので、後述のLog掃き出しとそれを利用するスプリクトで行う。 +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 +コマンドファイル ab.txtはこのままではコマンドとして受け付けてくれないので、以下に変更。 ----- =/ab.txt ------ /accept /hangup +今後 ++拒否番号は別ファイルにする。 ++迷惑電話番号リストとの照合を行ってから切断する。 if echo "$NUM0" | grep -f /home/pi/rjectno.txt >/dev/null; then #navi(日記) |