Le manuel complet

Installez-le, puis configurez-le pour acheminer des appels

Un guide en langage clair pour installer KatoCall sur un serveur et le mettre à facturer de vrais appels. Suivez les parties dans l'ordre — aucune expérience en télécoms requise.

Version 1.0.0Pour serveurs Debian 12~30–45 min jusqu'au premier appel

Commencez ici

Comment fonctionne KatoCall, en deux minutes

KatoCall est un standard téléphonique avec un moteur de facturation intégré. Vos clients passent des appels à travers lui ; il vérifie leur solde, choisit la route de sortie la moins chère, chronomètre l'appel et le facture — automatiquement.

Votre client passe un appel KatoCall vérifie le solde, choisit la route la moins chère, chronomètre et facture Votre opérateur (faisceau SIP) N'importe qui compose achemine Les appels entrants fonctionnent de la même façon à l'envers : un numéro (un DID) sonne et est renvoyé vers un client.
Chaque appel — entrant ou sortant — passe par KatoCall, où la facturation a lieu.

D'où vient votre marge

Vous achetez des minutes à un opérateur à un prix et les revendez aux clients plus cher. KatoCall enregistre les deux et conserve la différence sur chaque appel.

Vous payez l'opérateur
$0.0090
tarif fournisseur, par minute
Vous facturez le client
$0.0150
tarif client, par minute
Vous gardez
$0.0060
votre marge, automatiquement

Bon à savoir : KatoCall ne convertit pas les devises. Choisissez une devise dans Réglages (le dollar américain par défaut) et utilisez-la pour l'achat et la vente, afin que chaque marge soit une simple soustraction.

Partie 1

Installez-le sur un serveur

Cela se fait une seule fois, sur un serveur tout neuf. Si un technicien prépare le serveur pour vous, donnez-lui cette partie.

Ce qu'il vous faut d'abord

Un serveurDebian 12 (Bookworm), 64 bits — fraîchement installé. N'importe quel bon VPS convient (OVH, Hetzner, DigitalOcean, Vultr).
Taille2 cœurs CPU, 4 Go de RAM, 20 Go de disque. 2 Go de RAM est le minimum.
Une IP publiqueLe serveur a besoin de sa propre adresse sur internet — votre hébergeur vous la fournit.
Accès au serveurLe mot de passe root, ou un utilisateur avec sudo.
De votre opérateurUn faisceau SIP (son hôte, et une IP autorisée ou un identifiant/mot de passe), plus les numéros (DID) éventuels.
Un nom de domaine (optionnel)Seulement si vous voulez le cadenas https. Vous pouvez commencer sans et l'ajouter plus tard.

Faites l'installation

Copiez katocall-1.0.0.tar.gz sur le serveur et lancez ces commandes une par une. Chacune affiche ce qu'elle fait et s'arrête avec un message clair s'il manque quelque chose.

  1. Décompressez et vérifiez le serveur

    La première commande ne change rien — elle confirme que le serveur est prêt et signale ce qui manque.

    root@your-server
    # unpack the package
    tar -xzf katocall-1.0.0.tar.gz
    cd katocall-1.0.0
    
    # vérifie le serveur (sans risque — ne change rien)
    sudo bash install/00-preflight.sh
  2. Lancez les scripts d'installation dans l'ordre

    Lancez-les un par un. Le numéro 01 compile le moteur téléphonique et prend 10–20 minutes ; les autres sont rapides.

    root@your-server
    sudo bash install/01-install-asterisk.sh   # le moteur téléphonique (10–20 min)
    sudo bash install/02-install-base-stack.sh
    sudo bash install/03-setup-admin-panel.sh
    sudo bash install/04-configure-ami.sh
    sudo bash install/05-production-hardening.sh
    sudo bash install/06-configure-did-forwarding.sh
    sudo bash install/07-configure-fail2ban.sh
    sudo bash install/08-configure-nat.sh
    sudo bash install/09-configure-outbound.sh
    sudo bash install/11-configure-backups.sh
    sudo bash install/12-configure-dialer.sh   # seulement si vous voulez le composeur

    Du 01 au 09 sont obligatoires. L'étape 12 ne sert qu'au composeur — sautez-la et tout le reste fonctionne quand même.

  3. Confirmez que tout est sain

    Elle lance environ 65 vérifications — chaque service, le pare-feu, les sauvegardes, la sécurité — et indique quoi corriger pour ce qui échoue.

    root@your-server
    sudo bash install/verify.sh
    
    PASS 66   WARN 1   FAIL 0
  4. Connectez-vous pour la première fois

    Ouvrez l'adresse du serveur dans un navigateur et connectez-vous. Elle impose un nouveau mot de passe immédiatement — rien ne fonctionne tant que vous ne l'avez pas défini.

    • Adresse: http://your-server-address/
    • Identifiant: admin
    • Mot de passe (à changer tout de suite): Katocall

Avant les vrais appels : activez HTTPS. Tant que ce n'est pas fait, le panneau tourne en http non chiffré et votre connexion voyage sur internet sans protection. Une fois qu'un domaine pointe vers le serveur, lancez :

sudo bash install/10-configure-tls.sh panel.yourcompany.com you@yourcompany.com

Partie 2

Configurez-le pour acheminer des appels

Vous êtes maintenant dans le panneau. Créez ces six choses dans cet ordre — chacune utilise la précédente. Tout se trouve dans le menu de gauche.

1SuppliersÀ qui vous achetez des minutes
2Rate CardsVos prix d'achat et de vente
3TrunksLa ligne vers votre opérateur
4Routing GroupsQuelle ligne pour quel appel
5AccountsVos clients
6DIDsNuméros entrants
  1. Suppliers — à qui vous achetez des minutes

    Un fournisseur (Supplier) est un opérateur à qui vous achetez des minutes. Commencez ici car tout le reste y renvoie. Ouvrez Suppliers → New Supplier et donnez-lui un nom.

    Suppliers+ New Supplier
    e.g. IDT Gold
    USD — $ US Dollar
    Account manager, contract terms…
    Suppliers → New Supplier
  2. Rate Cards — vos prix d'achat et de vente

    Une grille tarifaire (Rate Card) est une liste de prix, une ligne par destination (un préfixe comme 1 pour les États-Unis ou 44 pour le Royaume-Uni). Créez-en deux types :

    • Provider Rates — ce que votre fournisseur vous facture.
    • Customer Rates — ce que vous facturez aux clients (plus élevé — cet écart est votre bénéfice).

    Ne tapez pas des centaines de préfixes : ouvrez la grille et cliquez sur Import CSV pour charger le fichier de prix de votre opérateur d'un coup.

    USA Wholesale — ProviderImport CSV
    DestinationPrefixPer min
    United States1$0.0090
    United Kingdom44$0.0110
    Mexico Mobile521$0.0180
    Rates → Import CSV

    Bon à savoir : Les tarifs sont enregistrés à 4 décimales ; un fichier à 5 décimales est arrondi à l'import.

  3. Trunks — la vraie ligne vers votre opérateur

    Un faisceau (Trunk) est la connexion en direct vers un fournisseur. Ouvrez Trunks → New Trunk. Deux choses comptent :

    • Direction — Outbound (sortant), Inbound (entrant) ou Both (les deux).
    • Authentication — IP-based (ils font confiance à l'adresse de votre serveur) ou Username/Password (ils vous ont donné des identifiants SIP).

    Après l'enregistrement, utilisez Test Call pour vérifier qu'il compose avant d'y diriger des clients.

    New TrunkSave
    IDT-GOLD
    Outbound
    IP-based
    sip.idtgold.com
    30
    Trunks → New Trunk

    Un nom de faisceau ne peut pas contenir d'espaces — utilisez IDT-GOLD, pas IDT GOLD.

  4. Routing Groups — quelle ligne pour quel appel

    Un groupe de routage dit : pour ce type de numéro, essaie ces faisceaux, dans cet ordre. Deux réglages :

    • Priority — le plus bas est essayé en premier. Mettez votre opérateur le moins cher en priorité 1.
    • Weight — répartit le trafic entre les faisceaux de même priorité.

    Si le premier faisceau est occupé ou échoue, KatoCall passe au suivant. Utilisez Preview pour saisir un numéro et voir quel faisceau serait utilisé.

    Standard LCR+ Add Route
    TrunkPriorityWeight
    IDT-GOLD1 first100
    Backup-Carrier2100
    Routing Groups → Add Route
  5. Accounts — vos clients

    Un compte (Account) est un client. Ouvrez Accounts → New Account. Les choix importants :

    • Billing Type — Prepaid (ils chargent un solde ; les appels s'arrêtent à zéro) ou Postpaid (facturé plus tard).
    • Rate Card — la grille de prix client de l'étape 2.
    • Routing Group — comment leurs appels sortent, de l'étape 4.
    • Comment ils se connectent — une IP autorisée, ou un identifiant et mot de passe pour leur téléphone/PBX.
    New AccountSave
    Acme Telecom
    Prepaid
    $250.00
    USA Retail
    Standard LCR
    Accounts → New Account

    Bon à savoir : Tout compte qui passe des appels sortants a besoin d'une Rate Card client couvrant les préfixes que vous vendez — sinon ces appels sont refusés (jamais facturés à zéro).

  6. DIDs — les numéros qui sonnent en entrée

    Un DID est un numéro que les gens appellent pour joindre l'un de vos clients. Ouvrez le compte, allez dans DIDs → Add DID, saisissez le numéro et sa destination de renvoi. (Enregistrez d'abord le compte.)

    Acme Telecom · DIDs+ Add DID
    DID NumberForwards To
    +1 305 555 0100Acme main lineactive
    Accounts → DIDs → Add DID

Chaque champ du panneau a un petit ? à côté qui explique son rôle, dans les dix langues. Settings → Network envoie votre configuration au moteur téléphonique après de gros changements.

Partie 3

Lancez une campagne d'appels

Le composeur appelle une liste de numéros, diffuse un message enregistré et laisse les gens appuyer sur une touche pour être mis en relation, être rappelés ou se désinscrire. L'étape 12 de l'installation doit être faite au préalable.

Sachez ce que c'est : c'est un composeur de puissance (power dialer), pas prédictif. Pas de détection de répondeur (une messagerie compte comme répondue) et pas de rythme automatique — vous fixez un nombre fixe d'appels simultanés. Il tourne sur un seul serveur à la fois.

  1. Créez la campagne

    Ouvrez Dialer Campaigns → New Campaign. Choisissez le compte facturé, nommez-la, réglez le rythme : Max Concurrent Calls, Max Attempts et le Retry gap.

    New CampaignSave
    Acme Telecom
    10
    3
    Upload a .wav / .mp3…
    Dialer Campaigns → New Campaign
  2. Ajoutez votre message et le menu

    Téléversez le Prerecorded Message diffusé à la réponse. Puis construisez le IVR Menu — ce que fait chaque touche :

    • Appuyer sur 1 → transférer à un agent
    • Appuyer sur 2 → demander un rappel
    • Appuyer sur 9 → ajouter à Do-Not-Call (plus jamais appelé)
  3. Téléversez vos contacts

    Dans la section Contacts de la campagne, cliquez sur Upload CSV — un simple fichier de numéros de téléphone.

  4. Appuyez sur Start — et lisez les résultats

    Appuyez sur Start et le composeur démarre en quelques secondes ; Pause l'arrête tout aussi vite. À la fin, Download Results donne un fichier indiquant ce qui est arrivé à chaque numéro.

    Spring PromoStart
    Phone NumberAttemptsResult
    +1 305 555 00001answered
    +1 305 555 00012no answer
    +1 305 555 00021transferred
    La campagne remplit un résultat pour chaque numéro.

Partie 4

Exploitation au quotidien

Quatre commandes couvrent presque tout ce que vous ferez sur le serveur.

root@your-server
sudo bash install/verify.sh            # tout est sain ?
sudo /usr/local/sbin/katocall-backup    # faire une sauvegarde maintenant
sudo bash install/upgrade.sh           # appliquer une version plus récente
sudo bash install/uninstall.sh         # le retirer (conserve vos données)

Vos sauvegardes sont sur le même disque qu'elles protègent. Copiez-les ailleurs régulièrement, sinon une panne de disque emporte les données et leur unique sauvegarde ensemble.

Avant de vous fier à un rapport de revenus, vous pouvez prouver que les comptes tombent juste au centime près :

sudo -u softswitch admin/backend/venv/bin/python admin/backend/manage.py verify_ledger

Partie 5

En cas de problème

« Impossible de joindre le serveur » à la connexion.
Un service redémarre peut-être. Attendez et rechargez. Si cela persiste, lancez install/verify.sh — il désigne le service exact qui est en panne.
Un appel n'aboutit pas.
Vérifiez trois choses dans l'ordre : le Account a un solde et une Rate Card ; le Routing Group a un faisceau pour cette destination (utilisez Preview) ; le Test Call du faisceau fonctionne.
J'ai été bloqué après avoir mal saisi mon mot de passe.
KatoCall bloque une adresse après plusieurs échecs, exprès. Attendez l'expiration du blocage, ou retirez-le depuis la page IP Bans depuis un autre appareil.
Mon composeur affiche « Running » mais ne compose rien.
L'étape 12 de l'installation a sans doute été sautée. Lancez install/12-configure-dialer.sh, puis install/verify.sh.
La colonne de marge est vide.
La devise du client et celle du faisceau diffèrent. KatoCall ne convertit pas les devises — achetez et vendez dans une seule devise et la marge apparaît.

Quel que soit le problème, sudo bash install/verify.sh est la première chose à lancer. Il vérifie ~65 points et indique le script à relancer.