Call Attendant : Un bloqueur d’appels indésirables pour votre ligne fixe avec un Raspberry Pi
{« title »: »Call Attendant : Un bloqueur d’appels indésirables pour votre ligne fixe avec un Raspberry Pi », »content »: »\n\n
Vous en avez assez des appels commerciaux, des arnaques et des robots qui perturbent votre tranquillité ? Découvrez Call Attendant, une solution open source basée sur Python et un Raspberry Pi pour filtrer et bloquer les appels indésirables sur votre ligne fixe. Simple à installer et économique, cette solution DIY transforme votre appareil en un véritable standardiste intelligent, capable de reconnaître les numéros suspects et de rediriger les appels légitimes. Plongeons dans son fonctionnement et son installation.
\n\n
Présentation de Call Attendant : Un standardiste automatique pour votre ligne fixe
\n\n
Call Attendant est un projet open source conçu pour fonctionner sur un Raspberry Pi 3B+ ou supérieur, couplé à un modem USB dédié comme le US Robotics 5637. Son objectif ? Agir comme un standardiste automatique pour votre ligne fixe, capable de filtrer les appels entrants en fonction de listes prédéfinies (numéros bloqués, numéros autorisés, etc.).
\n\n
Contrairement aux solutions matérielles coûteuses ou aux applications logicielles limitées, Call Attendant offre une approche autonome et personnalisable. Il peut :
\n\n
- \n
- Bloquer les appels indésirables (robocalls, spam, arnaques) en temps réel.
- Répondre automatiquement aux appels avec un message personnalisé.
- Rediriger les appels légitimes vers votre téléphone fixe ou mobile.
- Générer des rapports des appels reçus et filtrés pour une analyse ultérieure.
\n
\n
\n
\n
\n\n
Cette solution est particulièrement adaptée aux utilisateurs soucieux de leur vie privée ou vivant dans des zones où les appels indésirables sont fréquents. Elle ne nécessite pas de dépendre d’un opérateur ou d’un service tiers, ce qui en fait une alternative éthique et transparente.
\n\n\n
Matériel requis : Le duo Raspberry Pi + Modem USR5637
\n\n
Pour déployer Call Attendant, vous aurez besoin des composants suivants :
\n\n
- \n
- Un Raspberry Pi 3B+ ou supérieur : Ce micro-ordinateur low-cost servira de cerveau à votre système. Assurez-vous qu’il dispose d’une connexion réseau (Wi-Fi ou Ethernet) et d’un port USB libre pour le modem.
- Un modem USB US Robotics 5637 : Ce modem est spécialement conçu pour les lignes téléphoniques analogiques (RJ11). Il permet de connecter votre ligne fixe au Raspberry Pi et de gérer les appels entrants/sortants.
- Accessoires supplémentaires :\n
- \n
- Un câble USB pour connecter le modem au Raspberry Pi.
- Un câble RJ11 pour relier le modem à votre ligne fixe (ou à un répartiteur si vous partagez la ligne avec un téléphone).
- Une alimentation pour le Raspberry Pi et, si nécessaire, un hub USB alimenté pour le modem.
\n
\n
\n
\n
\n\n
\n\n
\n
\n\n
Schéma de connexion :
\n\n
1. Branchez le modem USR5637 au Raspberry Pi via USB.\br>2. Connectez le modem à votre ligne fixe via le port RJ11 (directement sur une prise murale ou via un répartiteur).\br>3. Assurez-vous que le Raspberry Pi est connecté à votre réseau local (Wi-Fi ou Ethernet).
\n\n
Une fois le matériel assemblé, vous pouvez passer à l’installation du logiciel.
\n\n\n
Installation du logiciel : Python et environnement virtuel
\n\n
Call Attendant est écrit en Python et nécessite une version récente (Python 3.X). L’installation peut se faire dans un environnement virtuel pour isoler les dépendances, ou directement sur le système si le Raspberry Pi est dédié à cette tâche.
\n\n\n
Étape 1 : Préparer l’environnement Python
\n\n
Si vous souhaitez utiliser un environnement virtuel (recommandé pour éviter les conflits avec d’autres logiciels), suivez ces commandes :
\n\n
# Installer virtualenv (si nécessaire)\nsudo apt install virtualenv\n\n# Créer un environnement virtuel nommé 'venv'\nvirtualenv venv --python=python3\n\n# Activer l’environnement\nsource venv/bin/activate\n\n# Vérifier l’activation\nwhich python # Doit pointer vers venv/bin/python\npython --version # Doit afficher Python 3.7.3 ou supérieur\n
\n\n
Une fois l’environnement activé, tous les packages Python installés via pip seront isolés dans le dossier venv.
\n\n\n
Étape 2 : Installer Call Attendant via PyPI
\n\n
Le projet est disponible sur PyPI (Python Package Index). Installez-le avec la commande suivante :
\n\n
pip install callattendant\n
\n\n
Cette commande installe le package et toutes ses dépendances dans votre environnement virtuel. Si vous avez activé l’environnement, le binaire callattendant sera accessible directement depuis la ligne de commande.
\n\n\n
Configuration et mise en route : Personnalisez votre standardiste
\n\n
Une fois l’installation terminée, vous devez configurer Call Attendant pour qu’il réponde à vos besoins spécifiques. La configuration se fait via un fichier YAML ou JSON, où vous définissez :
\n\n
- \n
- Les numéros bloqués : Une liste de numéros à bloquer automatiquement (ex : +1234567890).
- Les numéros autorisés : Une liste de numéros de confiance (ex : famille, amis).
- Les messages de réponse : Un message personnalisé pour les appels bloqués ou non reconnus.
- Les règles de redirection : Vers quel numéro rediriger les appels légitimes (votre téléphone fixe ou mobile).
- Les logs et rapports : Où enregistrer les appels reçus et filtrés.
\n
\n
\n
\n
\n
\n\n
Un exemple de configuration minimaliste :
\n\n
# config.yaml\nblocked_numbers:\n - \"+1234567890\"\n - \"+0987654321\"\nallowed_numbers:\n - \"+1122334455\"\nresponse_message: \"Désolé, cet appel est bloqué.\"\nredirect_number: \"+33123456789\"\nlog_file: \"/var/log/callattendant.log\"\n
\n\n
Une fois le fichier de configuration créé, lancez Call Attendant avec la commande :
\n\n
callattendant --config /chemin/vers/config.yaml\n
\n\n
Pour une exécution en arrière-plan (recommandé), utilisez un gestionnaire de processus comme systemd ou supervisord. Voici un exemple de fichier systemd pour automatiser le démarrage au boot :
\n\n
[Unit]\nDescription=Call Attendant - Bloqueur d'appels indésirables\nAfter=network.target\n\n[Service]\nExecStart=/home/pi/venv/bin/callattendant --config /home/pi/config.yaml\nWorkingDirectory=/home/pi\nUser=pi\nRestart=always\n\n[Install]\nWantedBy=multi-user.target\n
\n\n
Enregistrez ce fichier dans /etc/systemd/system/callattendant.service, puis activez-le avec :
\n\n
sudo systemctl daemon-reload\nsudo systemctl enable callattendant\nsudo systemctl start callattendant\n
\n\n\n
Fonctionnalités avancées et personnalisation
\n\n
Call Attendant ne se limite pas au blocage d’appels. Voici quelques fonctionnalités avancées que vous pouvez exploiter :
\n\n
- \n
- Intégration avec des APIs de détection de spam : Vous pouvez connecter Call Attendant à des services comme Twilio Lookup ou NumVerify pour enrichir les données des numéros entrants (opérateur, pays, type d’appel).
- Notifications en temps réel : Envoyez des alertes (email, SMS, notification push) lorsque Call Attendant bloque un appel ou en reçoit un nouveau. Utilisez des outils comme n8n ou IFTTT pour automatiser ces notifications.
- Gestion des appels sortants : Bien que conçu pour les appels entrants, Call Attendant peut aussi gérer les appels sortants via des règles personnalisées (ex : bloquer les appels internationaux coûteux).
- Interface web : Pour une gestion plus intuitive, vous pouvez développer une interface web (avec Flask ou Django) pour visualiser les logs, modifier les règles et consulter les statistiques.
\n\n
\n\n
\n\n
\n
\n\n
Le projet est open source, ce qui signifie que vous pouvez contribuer au code, ajouter de nouvelles fonctionnalités ou adapter le logiciel à vos besoins spécifiques. Le wiki GitHub regorge d’exemples et de tutoriels pour vous guider.
\n\n\n