IntelliReply
Repondeur intelligent modem 56K - Flask, filtrage, messages, pilote USR5637
Technologies
Documentation du projet
Répondeur intelligent – Architecture de base
Projet inspiré de emxsys/callattendant pour piloter un modem 56K (US Robotics 5637) et fournir un répondeur intelligent avec interface web, filtrage et enregistrement des messages.
Référence: emxsys/callattendant
Objectifs
- Démarrer un service Python qui écoute le modem (AT/pyserial).
- Gérer le flux d'appel (sonnerie, identification, accueil, décision, enregistrement).
- Exposer une interface web (Flask) de supervision.
- Persister les appels et messages (SQLite/SQLAlchemy).
Arborescence
.
├─ app/
│ ├─ init.py
│ ├─ main.py # Entrée Flask + wiring services
│ ├─ config.py # Config (env, chemins, options)
│ ├─ templates/
│ ├─ static/
│ └─ resources/ # Fichiers audio prompts
├─ core/
│ ├─ init.py
│ ├─ modem/
│ │ ├─ init.py
│ │ ├─ driver.py # Gestion du port série, commandes AT
│ │ ├─ atcommands.py # Constantes/phrases AT pour USR5637
│ │ └─ detector.py # Détection ring, caller ID
│ ├─ callflow/
│ │ ├─ init.py
│ │ ├─ engine.py # State machine du flux d'appel
│ │ ├─ prompts.py # Sélection des prompts/greetings
│ │ └─ actions.py # Actions (répondre, raccrocher, enregistrer)
│ ├─ screening/
│ │ ├─ init.py
│ │ ├─ rules.py # Listes blanche/noire, patterns
│ │ └─ services/
│ │ ├─ init.py
│ │ └─ nomorobo.py # Exemple d'intégration service externe
│ └─ storage/
│ ├─ init.py
│ ├─ db.py # Connexion SQLAlchemy
│ ├─ models.py # Modèles (Call, Message, Contact)
│ └─ migrations/ # Migrations (placeholder)
├─ tests/
│ ├─ unit/
│ ├─ integration/
│ └─ e2e/
├─ scripts/
│ ├─ initdata.py # Création de dossiers/DB de base
│ └─ rundev.ps1 # Démarrage local Windows (conda)
├─ .env.example # Variables d'environnement
└─ requirements.txt
Démarrage rapide (dev)
- conda activate intellireply
pip install -r requirements.txtpython -m app.mainNotes
- L'implémentation suit l'esprit de
callattendant(Flask, pyserial) mais modularisée pour évoluer (filtrage, TTS/ASR futures).
- Le pilote modem cible d'abord USR5637 (Conexant), mais isole les commandes pour faciliter le support d'autres chipsets.
Projets suggeres
ClientCRM
CRM simple pour PME: contacts, opportunites, suivi - Next.js React TypeScript
SpecialiseClipForge
Creation de shorts viraux en local (ingest, STT, TTS, montage, TikTok) - API NestJS, workers Python, dashboard Next.js
SpecialiseCryptoCluster
Plateforme distribuee de collecte et d'analyse de donnees crypto : RedisTimeSeries, InfluxDB, Dispy, CCXT. API FastAPI, ...
SpecialiseCryptoSpreadEdge
Trading crypto haute frequence avec IA - Docker Swarm, multi-plateformes, FastAPI Python