pip install callattendantコールアテンダント( CallAttendant )は、Raspberry Piで実行されている統合コールブロッカーと音声メッセージングシステムを備えた自動アテンダントです。それは、迷惑なロボコールやスパマーがあなたの人生を中断するのを止めます。あなたの固定電話の最初のリングの前に、アテンダントがロボカラーとテレマーケティングをブロックし、ブロックしてください。
CallAttendantは、柔軟で編集可能なブロック数と許可された番号リストを備えた、構成可能な電話番号形式で国際的なサポートを提供します。
このプロジェクトに全く興味がある場合は、スターを提供するか、さらに良いフィードバックを提供して、問題を提出したり、フォーラムに参加したり、プルリクエストを提出したりすることで関与してください。ありがとう!
コールアテンダント( CallAttendant )は、Pythonベースの自動化されたコールアテンダントであり、軽量のRaspberry Piまたは他のLinuxベースのシステムで実行され、US Robotics 5637 USB Modemと組み合わされています。
Raspberry PiとModemは、電話携帯電話と並行して自宅の電話システムに接続されています。着信が受信されると、電話は電話とCallAttendantの両方に送信されます。最初のリングの期間中、 CallAttendantは発信者IDを分析し、構成に基づいて、呼び出しをブロックまたは許可するかどうかを判断します。ブロックされた呼び出しは、単純にハングアップしたり、音声メッセージシステムにルーティングすることもできます。許可されている通話は、通常のように自宅の電話を鳴らします。選択した場合、通話は統合されたボイスメールシステムに送信できます。 CallAttendantのフィルタリングメカニズムには、オンラインルックアップサービス、許可された番号リスト、ブロックされた数値リスト、および発信者の番号や名前のパターンマッチングが含まれます。
コールアテンダントのWebインターフェイスを介して、通話履歴、音声メッセージ、許可およびブロックされた数字、および発信者管理の実行を確認できます。メトリックを備えたホームページの例と、最近の呼び出しの説得力のあるリストを以下に示します。完全な説明については、ユーザーガイドを参照してください。

GitHubのプロジェクトWikiには、コールアテンダントのドキュメントが含まれています。
CallAttendantは次のハードウェアを使用します。

Raspberry PiがRaspbianを実行しているか、ソフトウェアのインストールのためにインターネットにアクセスして、最終的にはオンラインのロボカラー検索のために必要です。プロジェクトには、テレフォニー通信を行うには、ある種のモデムが必要です。米国のロボットUSR5637 56K USBモデムが効果的であることが証明されています。一部のインストールでは、機能するだけで、構成は必要ありません。 As /dev /ttyacm0として現れました。
インストールでは、python3.xが必要です。
次の手順は、現在のフォルダー内にVenvという名前の仮想環境を作成およびアクティブにします。
# Install virtualenv - if not installed
sudo apt install virtualenv
# Create the virtual environment
virtualenv venv --python=python3
# Activate it
source venv/bin/activateこれで、仮想Pythonで動作しています。確認するには、 whichコマンドを発行し、出力が仮想環境を指していることを確認します。また、Pythonバージョンを確認してください。
$ which python
/home/pi/venv/bin/python
$ python --version
Python 3.7.3後で、 CallAttendantソフトウェアをインストールすると、仮想環境フォルダー内に配置されます(正確にはlib/python3.x/site-packagesの下)。仮想環境は、アクティブ化されるとパスを変化させ、システムがこのフォルダー階層内のPythonとそのパッケージを探すようにします。
ソフトウェアはPypiで利用できます。 pipを使用してインストールして更新します:
# Using the virtual environment you use "pip" to install the software
pip install callattendant
# You must use "pip3" on the Pi if your not using a virtual environment
pip3 install callattendant仮想環境を使用していない場合は、 callattendantコマンドを見つけて使用するために、プロファイルの$PATHを再起動またはログオフ/ログインする必要がある場合があります。
CallAttendantパッケージには、システムを開始するcallattendantコマンドが含まれています。このコマンドを初めて実行して、デフォルトのデータフォルダーで初期データとファイルを作成して、 --create-folderオプションを作成します。〜 ~/.callattendant 。これは、ホームディレクトリのルートから隠されたフォルダーです。この場所を--data-pathオプションでオーバーライドできます。
Usage: callattendant --config [FILE] --data-path [FOLDER]
Options:
-c, --config [FILE] load a python configuration file
-d, --data-path [FOLDER] path to data and configuration files
-f, --create-folder create the data-path folder if it does not exist
-h, --help displays this help text
# Creating the default data folder with the default configuration
callattendant --create-folder
# Using the default configuration
callattendant
# Using a customized config file in an alternate, existing location
callattendant --config myapp.cfg --data-path /var/lib/callattendantフォームの出力が表示されます。
Command line options:
--config=app.cfg
--data-path=None
--create-folder=False
[Configuration]
BLOCKED_ACTIONS = ('greeting', 'voice_mail')
BLOCKED_GREETING_FILE = /home/pi/.local/lib/python3.7/site-packages/callattendant/resources/blocked_greeting.wav
BLOCKED_RINGS_BEFORE_ANSWER = 0
BLOCK_ENABLED = True
BLOCK_NAME_PATTERNS = {'V[0-9]{15}': 'Telemarketer Caller ID'}
BLOCK_NUMBER_PATTERNS = {}
BLOCK_SERVICE = NOMOROBO
CONFIG_FILE = app.cfg
DATABASE = callattendant.db
DATA_PATH = /home/pi/.callattendant
DB_FILE = /home/pi/.callattendant/callattendant.db
DEBUG = False
ENV = production
PERMITTED_ACTIONS = ('greeting', 'record_message')
PERMITTED_GREETING_FILE = /home/pi/.local/lib/python3.7/site-packages/callattendant/resources/general_greeting.wav
PERMITTED_RINGS_BEFORE_ANSWER = 6
PERMIT_NAME_PATTERNS = {}
PERMIT_NUMBER_PATTERNS = {}
PHONE_DISPLAY_FORMAT = ###-###-####
PHONE_DISPLAY_SEPARATOR = -
ROOT_PATH = /home/pi/.local/lib/python3.7/site-packages/callattendant
SCREENED_ACTIONS = ('greeting', 'record_message')
SCREENED_GREETING_FILE = /home/pi/.local/lib/python3.7/site-packages/callattendant/resources/general_greeting.wav
SCREENED_RINGS_BEFORE_ANSWER = 0
SCREENING_MODE = ('whitelist', 'blacklist')
TESTING = False
VERSION = 1.1.0
VOICE_MAIL_GOODBYE_FILE = /home/pi/.local/lib/python3.7/site-packages/callattendant/resources/goodbye.wav
VOICE_MAIL_GREETING_FILE = /home/pi/.local/lib/python3.7/site-packages/callattendant/resources/general_greeting.wav
VOICE_MAIL_INVALID_RESPONSE_FILE = /home/pi/.local/lib/python3.7/site-packages/callattendant/resources/invalid_response.wav
VOICE_MAIL_LEAVE_MESSAGE_FILE = /home/pi/.local/lib/python3.7/site-packages/callattendant/resources/please_leave_message.wav
VOICE_MAIL_MENU_FILE = /home/pi/.local/lib/python3.7/site-packages/callattendant/resources/voice_mail_menu.wav
VOICE_MAIL_MESSAGE_FOLDER = /home/pi/.callattendant/messages
Initializing Modem
Opening serial port
Looking for modem on /dev/ttyACM0
******* Conextant-based modem detected **********
Serial port opened on /dev/ttyACM0
Modem initialized
{MSG LED OFF}
Starting the Flask webapp
Running the Flask server
Waiting for call...
* Serving Flask app "userinterface.webapp" (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
サービスをテストするために、自分自身にいくつかの電話をかけます。標準出力は、呼び出しの進行を示します。次に、 http://<pi-address>|<pi-hostname>:5000に移動して、Webインターフェイスをチェックアウトします。
ctrl-cを押してシステムをシャットダウンします
http://<pi-address>|<pi-hostname>:5000 Webインターフェイスを表示するには、Raspberry PiにWebブラウザをポート5000に向けるだけです。たとえば、Raspberry Piのブラウザでは、次のことを使用できます。
http://localhost:5000/
詳細については、ユーザーガイドを参照してください。
コールアテンダントの動作は、構成ファイルによって制御できます。デフォルトの構成をオーバーライドするには、 ~/.callattenant/app.cfgを開き、その内容を編集します。
nano ~ /.callattendant/app.cfg次に、コマンドラインの構成ファイルとパスを指定します。
callattendant --config app.cfg
詳細については、プロジェクトのWikiの構成セクションを参照してください。