Démarrage rapide¶
Ce guide te fait passer de zéro à un sync fonctionnel contre ta ligne SIP OVH en ~10 minutes (plus ~13 min de bootstrap pour le premier sync).
Prérequis¶
- Une ligne VoIP/SIP OVH active accessible depuis le Manager OVH.
- Docker (recommandé) ou Python 3.12+ +
pip.
1. Générer un token OVH¶
Ouvre cette URL createToken préremplie — elle demande le minimum de permissions nécessaire.
- Connecte-toi avec ton compte OVH.
- Choisis la durée de validité (Illimitée pour usage perso permanent, ou 1 an avec rotation manuelle).
- Clique sur Créer les clefs.
- Récupère les trois valeurs :
Application Key,Application Secret,Consumer Key. Garde-les en sécurité.
Ne committe jamais ces valeurs
Traite les trois tokens comme des mots de passe. S'ils fuitent (chat, screenshot, commit), révoque-les immédiatement.
2. Découvrir ton billing account et ta ligne SIP¶
La sortie ressemble à :
Note le billing_account et le service_name à protéger.
3. Dry-run¶
Prévisualise ce que le sync ferait sans appliquer :
docker run --rm \
-e OVH_APPLICATION_KEY=... \
-e OVH_APPLICATION_SECRET=... \
-e OVH_CONSUMER_KEY=... \
-e OVH_BILLING_ACCOUNT=ab-12345-ovh \
-e OVH_SERVICE_NAME=0033xxxxxxxx \
ghcr.io/raedkit/ovh-voip-spam-filter:latest sync --dry-run
Tu verras le plan de réconciliation et la durée estimée.
4. Sync réel¶
Enlève --dry-run :
docker run --rm \
-e OVH_APPLICATION_KEY=... \
-e OVH_APPLICATION_SECRET=... \
-e OVH_CONSUMER_KEY=... \
-e OVH_BILLING_ACCOUNT=ab-12345-ovh \
-e OVH_SERVICE_NAME=0033xxxxxxxx \
ghcr.io/raedkit/ovh-voip-spam-filter:latest sync
Le bootstrap prend environ 13 minutes au throttle par défaut (1 req/s pour 643 entrées). Les runs suivants ne POSTent que les changements (quelques secondes en général).
5. Vérifier¶
Soit tu relances sync (doit être idempotent : 0 changement), soit tu te connectes au Manager OVH et tu vérifies la section "Filtrage des appels" de ta ligne SIP — la blocklist contient maintenant les préfixes.
Test fonctionnel : demande à quelqu'un d'appeler depuis un numéro commençant par un des préfixes bloqués (par exemple +33 2 70 xx xx xx). L'appel doit être rejeté.
Étapes suivantes¶
- Configuration — toutes les variables d'env et flags CLI.
- Sémantique de réconciliation — strict normal vs additif dégradé.
- Docker — détails de l'image et notes Kubernetes.
- Feuille de route — ce qui est prévu et comment contribuer.