pip install callattendantСотрудник Call ( Callattantend ) является автосудие с интегрированным блокировщиком вызовов и системой обмена голосовыми сообщениями, работающей на Raspberry Pi. Это останавливает раздражающие робоколы и спамеров от прерывания вашей жизни. Позвольте вызову -служащим перехватывать и блокировать робокалеры и телемаркетеры перед первым кольцом на вашей стационарной линии.
Callattendend обеспечивает международную поддержку с настраиваемыми форматами номера телефона, с гибкими и редактируемыми списками блокировки и разрешенных номеров.
Если вас вообще заинтересованы в этом проекте, предоставьте некоторые отзывы, предоставив ему звезду или, даже лучше, примите участие в вопросах, присоединившись к форуму и/или отправив запросы на привлечение. Спасибо!
Сотрудничество вызовов ( Callattantend )-это автоматизированный аттестатор на базе Python, который работает на легкой Raspberry Pi или другой системе на основе Linux, в сочетании с USB-модемом USB USB США 5637.
Raspberry Pi и модем подключены к вашей домашней телефонной системе параллельно с телефоном вашего телефона. Когда получен входящий звонок, звонок идет как на ваш телефон, так и на Callattendend . В течение периода первого кольца Callattendend анализирует идентификатор вызывающего абонента, и на основе вашей конфигурации определяется, следует ли заблокировать или разрешен вызов. Заблокированные вызовы можно просто повесить или направить в систему голосовых сообщений. Разрешенные звонки будут просто звонить на ваш домашний телефон как обычно. Вызовы могут быть отправлены в интегрированную систему голосовой почты, если вы выберете. Механизмы фильтрации Callattendendendender включают в себя онлайн -сервис поиска, разрешенный список номеров, заблокированный список номеров и сопоставление шаблонов по номеру и/или имени вызывающего абонента.
Вы можете просмотреть историю вызовов, голосовые сообщения, разрешенные и заблокированные номера и выполнять управление вызывающим абонентом через веб -интерфейс Call Attlect. Вот пример домашней страницы с метриками и сознательного списка недавних звонков. Полное описание см. Руководство пользователя.

Проект Wiki на GitHub содержит документацию для сопровождения:
Callattendender использует следующее оборудование:

Вам понадобится Raspberry Pi, работающий Raspbian или лучше с доступом к Интернету для установки программного обеспечения, и в конечном итоге для онлайн -поиска Robocaller. Для проекта вам понадобится какой -то модем для работы с телефонией. USB -модем USB USB USR5637 56K 56K . Для некоторых установок это просто работает, конфигурация не требуется. Он появился как /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 Теперь вы работаете с виртуальным питоном. Чтобы проверить, выпустите which , и убедитесь, что вывод точки в вашей виртуальной среде; а также проверьте версию Python:
$ which python
/home/pi/venv/bin/python
$ python --version
Python 3.7.3 Позже, когда вы устанавливаете программное обеспечение Callattendend , оно будет размещено в папке виртуальной среды (в соответствии с 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 .
Пакет Callattendender включает в себя команду 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 в веб-браузере, чтобы проверить веб-интерфейс.
Нажмите ctrl-c , чтобы выключить систему
http://<pi-address>|<pi-hostname>:5000 Чтобы просмотреть веб -интерфейс, просто укажите свой веб -браузер на порт 5000 на Raspberry Pi. Например, в браузере вашего Raspberry Pi вы можете использовать:
http://localhost:5000/
См. Руководство пользователя для получения дополнительной информации.
Поведение сопровождающего можно контролировать с помощью файла конфигурации. Чтобы переопределить конфигурацию по умолчанию, откройте ~/.callattenant/app.cfg и отредактируйте ее содержимое.
nano ~ /.callattendant/app.cfgЗатем укажите файл конфигурации и путь в командной строке, например:
callattendant --config app.cfg
См. Раздел конфигурации в вики проекта для получения дополнительной информации.