pip install callattendant呼叫服務員( Callattendant )是一名自動服務員,其集成的呼叫阻滯劑和語音消息系統在Raspberry Pi上運行。它阻止了令人討厭的機器人和垃圾郵件發送者打斷您的生活。在您的座機上的第一個戒指之前,讓呼叫隨訪者攔截並阻止機器人和電話銷售者。
Callattendant提供了可配置的電話號碼格式的國際支持,並具有靈活且可編輯的封鎖和允許的數字列表。
如果您對該項目有興趣,請通過給出明星,甚至更好地參與提交問題,加入論壇和/或提交拉的請求來提供一些反饋。謝謝!
呼叫服務員( Callattendant )是位於Python的自動呼叫服務員,可在輕巧的Raspberry Pi或其他基於Linux的系統上運行,並加上US Robotics 5637 USB調製解調器。
Raspberry Pi和調製解調器與手機手機並聯連接到家庭電話系統。接收到來電時,電話均發送給您的電話和卡爾滕德。在第一個環的期間, Callattendant分析了呼叫者ID,並根據您的配置確定是否應阻止或允許呼叫。可以簡單地掛在語音消息系統上,也可以將阻塞的呼叫掛在上面。被允許的電話只會像平常一樣響起您的家庭手機。如果您選擇,可以將呼叫發送到集成的語音郵件系統。 Callattendant的過濾機制包括在線查找服務,允許的號碼列表,阻止的數字列表以及呼叫者號碼和/或名稱上的模式匹配。
您可以通過呼叫服務員的Web界面來查看呼叫歷史記錄,語音消息,允許和阻止數字以及執行呼叫者管理。這是帶有指標的主頁的示例和最近通話的可信賴列表。有關完整說明,請參見用戶指南。

GitHub上的Wiki項目包含呼叫服務員的文檔:
Callattendant使用以下硬件:

您將需要一個運行Raspbian的Raspberry Pi,或者在互聯網上訪問軟件安裝,最終需要在線Robocaller查找中。對於該項目,您將需要某種調製解調器來進行電話通信。美國機器人7637 56K USB調製解調器已被證明有效。對於某些安裝,它只是有效的,無需配置。它顯示為 /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如果您不使用虛擬環境,則可能需要重新啟動或登錄/登錄以更新個人資料的$PATH ,以查找和使用callattendant命令。
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瀏覽器中查看Web接口。
按ctrl-c關閉系統
http://<pi-address>|<pi-hostname>:5000要查看Web界面,只需將Web瀏覽器指向Raspberry Pi上的端口5000即可。例如,在Raspberry Pi的瀏覽器中,您可以使用:
http://localhost:5000/
有關更多信息,請參見《用戶指南》。
呼叫服務員的行為可以通過配置文件控制。要覆蓋默認配置,請打開~/.callattenant/app.cfg並編輯其內容。
nano ~ /.callattendant/app.cfg然後在命令行上指定配置文件和路徑,例如:
callattendant --config app.cfg
有關更多信息,請參見項目Wiki中的配置部分。