Aller au contenu principal

Routage

Comment la passerelle choisit le téléphone et la SIM qui portent chaque message, les trois modes automatiques, et les règles par préfixe qui envoient certains numéros depuis la SIM de votre choix.

Le routage est le choix, pour chaque message sortant, du téléphone et de la SIM qui le portent. Avec un seul téléphone et une seule SIM, il n'y a rien à choisir. Dès que vous avez plusieurs SIM, le choix compte : il répartit la charge, maintient chaque SIM sous son quota, et peut faire économiser quand un message reste sur le réseau d'un même opérateur.

Par défaut, la passerelle choisit seule. L'écran Routage, juste sous Appareils dans le menu latéral, vous permet d'ajouter des règles par préfixe : « les numéros commençant par +26134 partent de la SIM 1 du téléphone de l'accueil ».

Comment une SIM est choisie

Pour chaque message, la passerelle parcourt cette liste et s'arrête à la première réponse :

  1. Un téléphone désigné dans l'envoi. Quand vous choisissez un Appareil émetteur dans l'envoi rapide ou dans une conversation, ou passez deviceId à l'API, ce téléphone porte le message, ou personne. Les règles ne sont pas consultées.
  2. La SIM de la conversation. Une réponse dans une conversation part de la SIM que le correspondant connaît déjà, tant que cette SIM peut envoyer. Votre client voit toujours le même numéro.
  3. Les règles par préfixe. Si une règle couvre le numéro, ses SIM sont essayées dans l'ordre que vous avez fixé.
  4. Le routage automatique, sur tous les téléphones.

Une SIM peut envoyer quand son téléphone est en ligne et dans le pool de routage, que la SIM est en service, que ni son quota du jour ni sa limite par minute ne sont atteints, et qu'elle a attendu son intervalle minimal depuis son dernier SMS. Une SIM qui ne peut pas envoyer est simplement sautée.

Le routage automatique

Le routage automatique s'applique à tous les numéros qu'aucune règle ne couvre. Son mode se choisit à l'installation de la passerelle, avec la variable GATEWAY_ROUTING_MODE du fichier .env, suivie de sms-gateway restart (voir le guide d'installation) :

Mode Ce qu'il privilégie Adapté à
round_robin (par défaut) Chaque SIM à tour de rôle, pour répartir le trafic également Des SIM semblables, aux forfaits semblables
quota La SIM à qui il reste le plus de quota du jour. Une SIM sans plafond journalier passe toujours en premier Des SIM aux quotas différents : le parc tient plus longtemps
carrier La SIM dont l'opérateur dessert le numéro du destinataire, un message qui reste sur un même réseau coûtant souvent moins cher. Quand aucune SIM ne correspond à l'opérateur du destinataire, il se replie sur le mode quota Plusieurs opérateurs, tarifs internes au réseau plus bas

Le mode carrier a besoin de la table des préfixes de chaque opérateur, fournie dans GATEWAY_CARRIER_PREFIXES (par exemple Telma:+26134,+26138;Orange:+26132). Écrivez chaque nom d'opérateur exactement comme le téléphone le déclare, tel qu'il apparaît dans la colonne SIM d'Appareils : un nom orthographié autrement ne correspond à aucune SIM. Sans cette table, la passerelle refuse de démarrer plutôt que de router en silence sans tenir compte des opérateurs.

Changer de mode demande de modifier la variable et de redémarrer la passerelle. Les règles par préfixe, elles, se modifient à chaud depuis le tableau de bord.

Les règles par préfixe

Une règle dit : « les messages vers les numéros commençant par ces préfixes partent de ces SIM, dans cet ordre ». Usages typiques :

  • Une SIM avec un forfait avantageux vers un opérateur : lui confier les numéros de cet opérateur.
  • Un téléphone par pays : les numéros commençant par +33 partent de la SIM française, ceux en +261 de la SIM malgache.
  • Un numéro dédié à un segment de clientèle, pour qu'il voie toujours le même expéditeur.

Créer une règle

Dans Routage, cliquez sur Nouvelle règle (Superadministrateur). La fenêtre demande :

Champ Ce qu'il faut saisir
Nom Un nom que vous reconnaissez, de 1 à 80 caractères
Préfixes de numéro Un préfixe par ligne, ou séparés par des virgules, au format international : + suivi de chiffres, par exemple +26134. De 1 à 50 préfixes
SIM qui envoient Cochez les SIM dans l'ordre où elles doivent être essayées, puis ajustez l'ordre avec les flèches. De 1 à 20 SIM
Attendre ces SIM Ce qui se passe quand aucune de ces SIM ne peut envoyer. Voir plus bas
Règle active Désactivé, la règle est conservée mais ignorée

La règle s'applique dès le message suivant, sans rien redémarrer.

Quelle règle l'emporte

Quand plusieurs règles couvrent un numéro, le préfixe le plus long l'emporte : +26134 l'emporte sur +261 pour +261341234567. Vous pouvez ainsi écrire une règle générale et des exceptions plus précises. Entre deux préfixes de même longueur, la règle placée plus haut dans la liste l'emporte.

À l'intérieur d'une règle, la première SIM de la liste qui peut envoyer porte le message. Les suivantes sont là pour prendre le relais quand la première est hors ligne, à court de quota ou hors service.

Quand aucune SIM de la règle ne peut envoyer

C'est ce que décide Attendre ces SIM :

Attendre ces SIM Ce qui se passe
Désactivé (par défaut) Le message part d'une autre SIM par le routage automatique. Il part à l'heure, mais d'un autre numéro
Activé Le message ne part jamais d'une autre SIM. Il attend l'une des SIM de la règle, voir ci-dessous

Avec Attendre ces SIM activé, l'attente dépend de la raison pour laquelle les SIM ne peuvent pas envoyer :

  • leur quota du jour est atteint : le message passe en Quota atteint et part dès qu'un quota est relevé, ou à minuit UTC ;
  • leur limite par minute est atteinte, ou elles n'ont pas attendu leur intervalle minimal : le message reste En file et part dès que l'une d'elles est libre ;
  • leur téléphone est hors ligne, hors du pool de routage, ou les SIM sont hors service : le message reste En file et la passerelle réessaie chaque minute, sans consommer de tentative. Il part dès qu'une SIM de la règle revient.

Activez-le quand le numéro expéditeur compte plus que le délai : un client qui doit toujours voir le même numéro, une SIM qui est la seule autorisée à envoyer vers un réseau donné. Une règle stricte peut retenir des messages aussi longtemps que son téléphone reste absent ; vous les voyez dans la File d'attente.

Le tableau des règles

Le tableau Règles par préfixe montre chaque règle avec Numéros commençant par, SIM, dans l'ordre (téléphone, SIM, opérateur et numéro masqué), Si aucune ne peut envoyer (Attendre ou Routage automatique), un interrupteur Active, et des Actions pour modifier ou supprimer.

Désappairer un téléphone retire ses SIM de toutes les règles. Une règle qui n'a plus de SIM affiche Plus aucune SIM : la règle est ignorée. Supprimer une règle renvoie ses numéros au routage automatique ; les messages déjà envoyés ne changent pas.

Tester un numéro

La carte Tester un numéro indique de quelle SIM partirait maintenant un message vers un numéro donné, et pourquoi. Rien n'est envoyé, et le test ne dérange pas la rotation du trafic réel. La réponse est l'une de celles-ci :

Résultat Exemple
Règle « Règle Telma (+26134) : part de Accueil, SIM 1. »
Repli « La règle Telma correspond mais aucune de ses SIM ne peut envoyer : part de Entrepôt, SIM 0 par le routage automatique. »
En attente « La règle Telma correspond et aucune de ses SIM ne peut envoyer : le message attendrait. »
Automatique « Aucune règle ne correspond : routage automatique (round_robin), part de Entrepôt, SIM 0. »
Indisponible « Aucune SIM ne peut envoyer pour l'instant », avec la raison

Utilisez-le après avoir créé une règle, et quand un message n'est pas parti de la SIM attendue.

Options

Option Par défaut Valeurs admises Effet
Mode automatique GATEWAY_ROUTING_MODE, à l'installation round_robin round_robin, quota, carrier Comment se répartissent les numéros qu'aucune règle ne couvre. Demande un redémarrage
Préfixes des opérateurs GATEWAY_CARRIER_PREFIXES, à l'installation Vide Opérateur:+préfixe,+préfixe;Opérateur:+préfixe Obligatoire pour le mode carrier, ignoré sinon
Nom Fenêtre de la règle ; API name Aucun 1 à 80 caractères Affichage seulement
Préfixes de numéro Fenêtre de la règle ; API prefixes Aucun 1 à 50, chacun + puis 1 à 14 chiffres, sans commencer par 0 ; les doublons sont fusionnés Les numéros que la règle couvre. Le plus long l'emporte
SIM qui envoient Fenêtre de la règle ; API targets (deviceId, slot) Aucune 1 à 20 SIM, chacune une seule fois Essayées dans l'ordre ; la première qui peut envoyer porte le message
Attendre ces SIM Fenêtre de la règle ; API strict Désactivé Activé ou désactivé Désactivé : repli sur le routage automatique. Activé : le message attend l'une des SIM de la règle
Règle active Fenêtre de la règle et interrupteur Active ; API enabled Activé Activé ou désactivé Désactivé : la règle est ignorée, comme supprimée, mais conservée
Priorité API seulement, priority Après les règles existantes 0 ou plus, la plus basse d'abord Départage deux règles dont les préfixes correspondants ont la même longueur. Le tableau liste les règles dans cet ordre

Autres réglages qui changent les SIM capables d'envoyer : le quota journalier, SIM en service et le pool de routage dans Appareils, et la limite Messages par minute et par SIM dans Envoyer des messages.

Qui peut faire quoi : un Superadministrateur crée, modifie et supprime les règles. Les comptes Opérateur et Lecture seule voient les règles et peuvent tester un numéro.

API

Méthode et chemin Usage
GET /routing/rules Lister les règles, dans l'ordre de priorité
POST /routing/rules Créer une règle
GET /routing/rules/{routingRuleId} Lire une règle
PATCH /routing/rules/{routingRuleId} Modifier une règle. prefixes et targets remplacent toute la liste
DELETE /routing/rules/{routingRuleId} Supprimer une règle
POST /routing/test Tester un numéro, sans envoyer

POST /routing/test répond avec un outcome (rule, fallback, held, automatic, unavailable), la règle et le préfixe qui correspondent, les deviceId, deviceName et slot choisis, et une reason quand rien ne peut envoyer (NO_DEVICE_AVAILABLE, QUOTA_EXHAUSTED, RATE_LIMITED, RULE_SIMS_UNAVAILABLE). Écrire des règles avec une clé API demande la portée admin.

Dépannage

Symptôme Ce qu'il faut vérifier
Un message n'est pas parti de la SIM de la règle Était-ce une réponse dans une conversation (elle garde la SIM de la conversation) ? Un téléphone était-il désigné dans l'envoi ? Utilisez Tester un numéro
Les messages vers certains numéros restent En file Une règle avec Attendre ces SIM les couvre et ses téléphones sont hors ligne ou ses SIM hors service
« Préfixe invalide » Un préfixe commence par + suivi de chiffres, par exemple +26134, sans espace
La règle semble ignorée Est-elle Active ? Un préfixe plus long d'une autre règle couvre-t-il le numéro ? A-t-elle encore une SIM ?
La passerelle refuse de démarrer après le choix de carrier GATEWAY_CARRIER_PREFIXES est absente ou mal formée

Rechercher dans la documentation

Saisissez quelques mots, puis choisissez une page.