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中的配置部分。