IoT

IntelliReply

2026 loupix57 Actif
IntelliReply

Repondeur intelligent modem 56K - Flask, filtrage, messages, pilote USR5637

Technologies

PythonFlask

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)

  • Créer un environnement conda et l'activer (Windows PowerShell):
  • - conda activate intellireply

  • Installer les dépendances: pip install -r requirements.txt
  • Lancer l'app web: python -m app.main
  • Notes

    • 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.

    Code source

    Projet open source hébergé sur GitHub.

    • 0 étoiles
    • 0 forks
    • Python
    Voir le dépôt GitHub

    Projets suggeres