pip install callattendantEl asistente de llamadas ( Callattendd ) es un asistente automático con un bloqueador de llamadas integrado y un sistema de mensajería de voz que se ejecuta en una Raspberry Pi. Deja que los molestos robocalls y spammers interrumpan tu vida. Deje que el asistente de llamada interfiera y bloquee a los robocallers y los telemarketers antes del primer anillo en su teléfono fijo.
El CallattENDIEND brinda soporte internacional formatos de número de teléfono configurables, con listas de número bloqueado flexible y editable y listas de números permitidos.
Si está interesado en este proyecto, proporcione algunos comentarios dándole una estrella , o incluso mejor, participar presentando problemas, unirse al foro y/o enviar solicitudes de extracción. ¡Gracias!
El asistente de llamadas ( Callattendd ) es un asistente de llamada automatizado basado en Python que se ejecuta en una Raspberry Pi livianas u otro sistema basado en Linux, junto con un módem USB Robotics 5637 USB de EE. UU.
La Raspberry Pi y el módem están conectados al sistema telefónico de su casa en paralelo con el auricular de su teléfono. Cuando se recibe una llamada entrante, la llamada va tanto a su teléfono como al Callattendd . Durante el período del primer anillo, el Callattendd analiza la identificación de la persona que llama, y según su configuración, determina si la llamada debe bloquearse o permitirse. Las llamadas bloqueadas se pueden colgar o enrutar al sistema de mensajes de voz. Las llamadas que están permitidas simplemente sonarán de su casa de costumbre como de costumbre. Las llamadas se pueden enviar al sistema integrado de correo de voz si lo desea. Los mecanismos de filtrado del Callattendd incluyen un servicio de búsqueda en línea, una lista de números permitido, una lista de números bloqueado y una coincidencia de patrones en el número y/o nombre de la persona que llama.
Puede revisar el historial de llamadas, los mensajes de voz, los números permitidos y bloqueados, y realizar la gestión de la persona que llama a través de la interfaz web del asistente de llamadas. Aquí hay un ejemplo de la página de inicio con métricas y una lista de llamadas recientes. Para obtener una descripción completa, consulte la guía del usuario.

El Proyecto Wiki en GitHub contiene la documentación para el asistente de llamadas:
El Callattendd usa el siguiente hardware:

Necesitará una Raspberry Pi que ejecute Raspbian o mejor con acceso a Internet para la instalación de software y, en última instancia, para las búsquedas Robocaller en línea. Para el proyecto, necesitará un módem de algún tipo para hacer las comunicaciones de telefonía. El módem USB USB de USR5637 USB de EE. UU. Ha demostrado ser efectivo. Para algunas instalaciones, simplemente funciona, no se necesita configuración. Apareció como /dev /ttyacm0.
La instalación requiere python3.x.
Las siguientes instrucciones crean y activan un entorno virtual llamado VenV dentro de la carpeta actual:
# Install virtualenv - if not installed
sudo apt install virtualenv
# Create the virtual environment
virtualenv venv --python=python3
# Activate it
source venv/bin/activate Ahora estás operando con una pitón virtual. Para verificar, emita el which y asegurar los puntos de salida a su entorno virtual; Y también revise la versión de Python:
$ which python
/home/pi/venv/bin/python
$ python --version
Python 3.7.3 Más tarde, cuando instale el software Callattended , se colocará dentro de la carpeta de entorno virtual (en lib/python3.x/site-packages para ser exactos). El entorno virtual, cuando se activa, altera su ruta para que el sistema busque Python y sus paquetes dentro de esta jerarquía de carpetas.
El software está disponible en PYPI. Instalar y actualizar con 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 Si no está utilizando el entorno virtual, es posible que deba reiniciar o iniciar sesión/iniciar sesión para actualizar la $PATH para su perfil para encontrar y usar el comando callattendant .
El paquete Callattendd incluye un comando callattendant para iniciar el sistema. Ejecute este comando la primera vez con la opción --create-folder para crear los datos y archivos iniciales en la carpeta de datos predeterminada: ~/.callattendant . Esta es una carpeta oculta de la raíz de su directorio de inicio. Puede anular esta ubicación con la opción --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/callattendantDebería ver la salida del formulario:
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
Haz algunas llamadas a ti mismo para probar el servicio. La salida estándar mostrará el progreso de las llamadas. Luego navegue a http://<pi-address>|<pi-hostname>:5000 en un navegador web para controlar la interfaz web.
Presione ctrl-c para apagar el sistema
http://<pi-address>|<pi-hostname>:5000 Para ver la interfaz web, simplemente apunte su navegador web al puerto 5000 en su Raspberry Pi. Por ejemplo, en el navegador de Raspberry Pi, puede usar:
http://localhost:5000/
Consulte la guía del usuario para obtener más información.
El comportamiento del asistente de llamadas se puede controlar mediante un archivo de configuración. Para anular la configuración predeterminada, abra el ~/.callattenant/app.cfg y edite su contenido.
nano ~ /.callattendant/app.cfgLuego especifique el archivo de configuración y la ruta en la línea de comando, por ejemplo:
callattendant --config app.cfg
Consulte la sección de configuración en el wiki del proyecto para obtener más información.