Routage des SMS

Avec la passerelle SMS Ozeki, vous pouvez configurer plusieurs connexions réseau mobiles pour envoyer des SMS. Pour contrôler quelle connexion est utilisée pour envoyer un SMS au réseau mobile, vous pouvez utiliser le routage des SMS.

Introduction au routage des SMS

Ce document vous présente le routage des SMS. Il couvre les concepts de base de la procédure de routage des SMS dans la passerelle SMS Ozeki. Vous apprendrez à connaître la table de routage ; vous découvrirez ce qu'est une règle de routage et vous obtiendrez des exemples simples de routage. Des exemples plus avancés et plus d'informations sont disponibles dans le guide de routage des SMS pour les fournisseurs de services SMS, le guide sur la copie et le transfert des SMS vers plusieurs destinations et dans le guide de routage des SMS au moindre coût. Si vous souhaitez modifier les numéros de téléphone et le texte des messages pendant la lecture, veuillez visiter la page comment modifier un SMS à la volée.

Qu'est-ce que le routage des SMS ?

Le routage des SMS est la procédure utilisée par la passerelle SMS Ozeki pour décider où un SMS doit être transféré. Le routage des SMS est basé sur la correspondance de motifs et il permet la modification des messages. Les solutions de routage des SMS sont utilisées par les fournisseurs de services SMS et les grandes organisations.

Qu'est-ce que le routage des SMS ?
Figure 1 - Qu'est-ce que le routage des SMS ?

Quels types de routage des SMS existent ?

Comment configurer le routage des SMS (liste d'instructions rapide)

Pour configurer le routage des SMS, vous devez lancer l'application SMS Ozeki et ouvrir la table de routage en cliquant sur le bouton "Routes" de la barre d'outils.

table de routage dans l'écran de routage
Figure 2 - Table de routage dans la passerelle SMS.

Pour configurer le routage des SMS, suivez ces étapes rapides :

  1. Ouvrez la passerelle SMS Ozeki sur le bureau Windows
  2. Connectez-vous avec le nom d'utilisateur "admin"
  3. Ouvrez l'application Passerelle SMS
  4. Trouvez la barre d'outils en haut
  5. Trouvez le bouton "Routes" dans la barre d'outils
  6. Cliquez sur le bouton "Routes" de la barre d'outils
  7. Cela affichera la table de routage
  8. Cliquez sur "Créer une nouvelle route" pour créer une route SMS
  9. Remplissez le formulaire de création de route
  10. Cliquez sur OK pour créer la nouvelle route
  11. Utilisez les flèches rouges et vertes pour positionner la règle

Que fait le routage des SMS ?

Le routage assigne une "connexion de destination" au message. En d'autres termes, il sélectionne la connexion de destination vers laquelle le message doit être transféré. Dans la passerelle SMS Ozeki, tout est une "connexion". Une connexion est un point de terminaison de messagerie, capable d'envoyer et de recevoir un message. Bien que les connexions soient affichées en groupes (par exemple : utilisateurs SMS, liens réseau mobile, etc.), elles restent des connexions identiques en matière de routage.

Le routage des SMS est la procédure utilisée pour décider où un message SMS doit être transféré. Cette procédure est exécutée lorsqu'un message d'entrée est envoyé à la table de routage (Figure 2). La table de routage exécute l'algorithme de routage et retourne un message de sortie, identique au message d'entrée, mais avec une "connexion de destination" assignée. Après la procédure de routage, le message de sortie est transféré vers la "connexion de destination".

Figure 3 - La route SMS sélectionne la destination

Qu'est-ce qu'une règle de routage SMS ?

La table de routage SMS est constituée de règles de routage. Une règle de routage a une condition de correspondance, un ensemble de commandes de modification et une destination. Lorsqu'un SMS est envoyé, il est d'abord transmis à la table de routage, où il est comparé aux règles de routage. Si une règle "correspond" au SMS, elle exécute les modificateurs et transfère le message vers la destination. La correspondance est effectuée sur la base de conditions configurées, telles que la connexion de l'expéditeur, le numéro de téléphone de l'expéditeur, le texte du message, la période de service, etc. Les règles de modification ne sont appliquées que si le SMS passe les conditions de correspondance. Si les conditions de correspondance ne sont pas remplies, la règle de routage suivante est essayée dans la table de routage.

Figure 4 - Qu'est-ce qu'une règle SMS

Comment les règles de routage SMS sont-elles exécutées ?

Pour chaque message envoyé, la table de routage est exécutée. L'exécution se fait de haut en bas : Si une règle correspond, la destination ("Connexion vers") est assignée et le routage s'arrête. Le message est transféré vers la destination sélectionnée.

Figure 5 - Ordre d'exécution des règles SMS

Comment la table de routage est-elle affichée ?

Si vous ouvrez l'écran d'accueil, vous verrez deux vues de la table de routage principale. En haut, vous trouverez une table filtrée, qui n'affiche que les "routes entrantes", et en bas, vous verrez une table filtrée qui n'affiche que les "routes sortantes". En pratique, nous appelons une route "route entrante" si la "Connexion depuis" est classée comme une connexion réseau SMS. Tout le reste est une route sortante.

Figure 6 - Table de routage SMS filtrée sur l'accueil

Cette distinction est faite car la plupart des utilisateurs pensent en termes de routes entrantes et sortantes. Même s'il n'y a aucune différence entre ces règles dans le système de routage Ozeki, il est préférable de présenter la table de routage de cette manière. Les gens comprennent mieux si les routes sont organisées par leur connexion d'expéditeur ("Connexion depuis") en groupes et que seuls ces groupes filtrés sont présentés. Si vous voulez devenir un expert en routage, utilisez toujours la table de routage principale au lieu des vues filtrées, car cela vous donne une meilleure idée de ce qui arrive à un message donné.

table de routage dans l'écran d'accueil
Figure 7 - Table de routage dans l'écran d'accueil.

Comment puis-je créer une règle de routage ?

Si vous souhaitez créer une règle de routage, ouvrez la table de routage principale en cliquant sur le bouton "Routes" de la barre d'outils, puis cliquez sur "Créer une nouvelle route". Cela affichera le formulaire de création de route. Remarquez les onglets "Correspondre" et "Modifier" dans ce formulaire. Ce sont les pages où vous pouvez définir des conditions de correspondance et des commandes de modification.

cliquez sur 'créer une nouvelle route'
Figure 8 - Cliquez sur "Créer une nouvelle route"

Que faire si je ne vois pas ma connexion ?

Les grands systèmes SMS peuvent avoir un très grand nombre de connexions. Pour simplifier la vie, les connexions "Depuis" et "Vers" proposées sont filtrées par défaut. Les connexions rarement utilisées sont masquées. Cela peut conduire au fait que vous ne trouviez pas votre connexion dans la liste.

Si vous ne voyez pas la connexion avec laquelle vous souhaitez travailler dans la liste "Depuis" ou "Vers", cliquez simplement sur le bouton Engrenage devant la boîte combinée contenant la liste des connexions. Cela ouvrira une boîte de dialogue où vous pourrez sélectionner d'autres types de connexions à afficher dans la liste.

cliquez sur l'engrenage pour trouver des connexions supplémentaires
Figure 9 - Cliquez sur l'Engrenage pour trouver des connexions supplémentaires

Routage SMS par défaut (Exemple 1)

Avant de plonger dans des configurations de routage complexes, il est bon de comprendre la table de routage par défaut. Dans la table de routage par défaut, vous verrez deux routes : out_sms et in_admin. La route out_sms est utilisée pour transférer les messages des "utilisateurs SMS" vers les "connexions SMS". Les "connexions SMS" sont un groupe de connexions utilisées pour connecter votre système au réseau mobile. La route in_admin est une règle créée automatiquement pour transférer une copie de chaque SMS entrant vers l'utilisateur admin. Vous pourriez remarquer le mode "Copie" dans la table de routage. Plus d'informations sur comment envoyer une copie d'un SMS à un certain utilisateur peuvent être trouvées dans le guide sur comment transférer un SMS entrant vers plusieurs destinations.

Pour comprendre comment fonctionne la route out_sms, nous créons deux connexions client SMPP vers deux opérateurs de réseau mobile différents. Nous appellerons ces connexions SMPP_client_1 et SMPP_client_2. (Dans cet exemple, nous ne modifierons pas la table de routage par défaut). Nous enverrons un SMS depuis l'utilisateur admin, en cliquant sur le bouton "Nouveau" dans la barre d'outils. Dans cette configuration, un SMS de admin partira via SMPP_client_1 ou SMPP_client_2. Le système sélectionnera aléatoirement la première connexion SMS disponible pour le message sortant. La route utilisée est la route "out_sms", qui transfère les SMS de "Tout_Utilisateur_SMS" vers "Toute_Connexion_SMS".

route par défaut mise en évidence dans l'écran de la table de routage
Figure 10 - Route par défaut mise en évidence dans l'écran de la table de routage.

Lorsque la route par défaut est utilisée, le SMS envoyé par admin est transféré par la route appelée "out_sms"

Figure 11 - Sélection aléatoire du réseau mobile

Il est important de mentionner que cette sélection aléatoire de route n'est pas exactement aléatoire. En fait, un algorithme de répartition de charge distribue la charge parmi les connexions réseau mobile avec une capacité libre, en tenant compte de la capacité précédemment mesurée de chaque connexion.

Routage des SMS par source (Exemple 2)

L'exemple suivant montre comment le routage des SMS peut être utilisé pour assigner une destination fixe à une source spécifique. Dans notre exemple, nous voulons que tous les SMS envoyés par l'admin soient envoyés via SMPP_Client_1. Cette configuration est très souvent utilisée, car il est souvent requis qu'un utilisateur utilise toujours une connexion réseau mobile spécifique. Pour y parvenir, nous pouvons créer une simple route de la source vers la destination.

Pour démontrer comment cette configuration fonctionne, nous pouvons utiliser le même nombre de connexions que dans l'Exemple 1. Nous pouvons ajouter une route supplémentaire à notre table de routage qui acheminera les SMS de l'admin vers SMPP_Client_1. La route s'assurera qu'un SMS de l'admin sera forcé de sortir via SMPP_client_1. Dans cette configuration, SMPP_client_2 ne sera pas utilisé du tout.

route des sms allant vers +3611111111 dans l'écran de la table de routage
Figure 12 - Route forçant les sms de l'admin vers smpp client 1.

les sms de l'admin sont toujours acheminés vers smpp_client_1
Figure 13 - Les SMS de l'admin sont toujours acheminés vers SMPP_client_1

Routage des SMS par préfixe de numéro de téléphone (Exemple 3)

L'exemple suivant démontre comment le routage des SMS peut être effectué en fonction des préfixes de numéros de téléphone. C'est une tâche courante car souvent vous souhaitez envoyer certains messages appartenant à un réseau identifié par un préfixe de numéro de téléphone vers une certaine connexion. Par exemple, si vous souhaitez acheminer les SMS destinés à la Hongrie, vous pourriez diriger les SMS envoyés au préfixe +36... vers le réseau Vodafone Hongrie. Vous pourriez également configurer une deuxième route acheminant les préfixes +44... vers le réseau T-Mobile au Royaume-Uni.

La figure suivante montre comment vous pouvez définir un préfixe de numéro de téléphone comme condition de correspondance. L'exemple utilise une expression régulière de type pcre. Cette expression est utilisée pour faire correspondre l'adresse du destinataire ("Numéro de téléphone du destinataire") afin de décider si la route doit être appliquée ou non.

créer une nouvelle règle de routage pour le routage des SMS par préfixe de numéro de téléphone
Figure 14 - Créer une nouvelle règle de routage pour le routage des SMS par préfixe de numéro de téléphone

définir un préfixe pour le routage des SMS
Figure 15 - Définir un préfixe pour le routage des SMS

'+36.*' passe par la route 'hongrie' vers smpp_client_1
Figure 16 - "+36.*" passe par la route "Hongrie" vers SMPP_client_1

Routage des SMS par correspondance complète du numéro de téléphone (Exemple 4)

Si vous possédez un ensemble de numéros de téléphone, vous pouvez attribuer un numéro unique à vos clients ou utilisateurs. Dans ce cas, vous voudrez router les SMS entrants envoyés à un numéro de téléphone particulier vers un utilisateur spécifique. L'exemple 4 montre la configuration de routage pour atteindre cet objectif.

Dans cet exemple, nous ajoutons deux utilisateurs HTTP : http_user_1 et http_user_2 qui recevront les messages entrants. Un se verra attribuer le numéro de téléphone +3633333333, l'autre le numéro +3644444444. Nous créons ensuite deux routes avec une correspondance complète du numéro de téléphone. Ces routes transmettront tout SMS envoyé à ces numéros vers les utilisateurs appropriés.

route des sms allant vers +3633333333 dans l'écran de la table de routage
Figure 17 - Route des SMS allant vers +3633333333 dans l'écran de la table de routage.

Comme vous pouvez le voir dans la figure ci-dessus, le champ "De" est défini sur "Any_SMS_Connection". Cela est dû au fait que nous voulons que tous les SMS envoyés au numéro +3633333333 soient routés vers http_user_1, quelle que soit la connexion SMS par laquelle ils arrivent. La destination ("À") pour cette route est fixée à http_user_1. Si vous regardez la figure ci-dessous, vous verrez que dans ce cas, nous spécifions le numéro de téléphone complet dans la condition de correspondance du destinataire. Notez que nous ne mettons pas de slash (/) avant et après le numéro de téléphone. Cela est dû au fait que nous n'effectuons pas une correspondance par expression régulière dans ce cas. Nous effectuons simplement une comparaison stricte du numéro de téléphone.

définir le numéro de téléphone complet pour la correspondance avec +3633333333
Figure 18 - Définir le numéro de téléphone complet pour la correspondance avec +3633333333.

La configuration pour l'utilisateur HTTP 2 est très similaire. La différence réside dans le champ de destination ("À") et le numéro de téléphone saisi dans la boîte de groupe "Adresse du destinataire" dans l'onglet "Correspondance" de la règle de routage. Vous remarquerez peut-être également que ces deux routes seront appelées route_3 et route_4.

route des sms allant vers +3644444444 dans l'écran de la table de routage
Figure 19 - Route des SMS allant vers +3644444444 dans l'écran de la table de routage.

Si vous travaillez avec de nombreuses routes, il est judicieux d'ajouter des noms significatifs aux routes, afin de pouvoir les identifier rapidement. Il existe de meilleurs noms que les route_3 ou route_4 par défaut utilisés dans cet exemple.

définir le numéro de téléphone complet pour la correspondance avec +3644444444
Figure 20 - Définir le numéro de téléphone complet pour la correspondance avec +3644444444.

les sms entrants envoyés à +363333333 sont routés vers http_user_1
Figure 21 - Les SMS entrants envoyés à +363333333 sont routés vers http_user_1

Routage des SMS par mots-clés (Exemple 5)

L'exemple suivant traite du routage des SMS basé sur des mots-clés dans le texte du message. Cette fonctionnalité est souvent utilisée dans les jeux-concours, les votes par SMS ou les services de recherche de contenu basés sur des mots-clés. Dans cet exemple, nous routons tout SMS provenant de Any_SMS_Connection contenant le mot "vote" vers l'utilisateur HTTP 2.

router tout sms contenant le mot 'vote' vers l'utilisateur http 2
Figure 22 - Router tout SMS contenant le mot "vote" vers l'utilisateur HTTP 2.

En regardant la figure suivante, vous remarquerez peut-être que nous utilisons une correspondance par expression régulière. Dans ce motif d'expression régulière (également appelé motif regex), nous plaçons un motif .* avant et après le mot. Cela indique au moteur regex que le mot-clé "vote" peut être n'importe où dans les messages. Cette condition correspondra aux textes de SMS suivants : "Bonjour, voici mon vote : rouge" ou "vote rouge" ou "Je ne vote pas".

Vous pouvez également envisager d'ajouter le modificateur insensible à la casse appelé "i" qui signifie ignorer la casse si vous prévoyez que le mot-clé sera envoyé en minuscules ou en majuscules. Le motif "/.*vote.*/i" correspondrait à "vote", "Vote", "VOTE" ou "vOtE".

définir le préfixe du texte du message pour recevoir des sms pour l'utilisateur http 2
Figure 23 - Définir le préfixe du texte du message pour recevoir des SMS pour l'utilisateur HTTP 2.

Routage des SMS par correspondance de texte et période temporelle (Exemple 6)

Il est utile de savoir qu'il existe également une condition de correspondance de période de service disponible, qui peut être utilisée pour limiter la durée de vie de cette règle. Cette combinaison : correspondance de mot-clé textuel et période de service est souvent utilisée ensemble pour les services de contenu SMS qui fonctionnent pendant une période donnée. Dans cet exemple, nous acheminons tout SMS provenant de Any_SMS_Connection contenant le mot "vote" entre le 2021-04-01 00:000:00 et le 2021-04-30 24:00:00 vers l'utilisateur http 2.

Figure 24 - Acheminer tout SMS contenant le mot "vote" dans la période de service 2021-04-01 00:000:00 et 2021-04-30 24:00:00 vers l'utilisateur http 2.

définir le préfixe de texte de message pour recevoir des SMS pour l'utilisateur http 2
Figure 25 - Définir le préfixe de texte de message pour recevoir des SMS pour l'utilisateur http 2.

définir le formulaire de période de service pour recevoir des SMS pour l'utilisateur http 2
Figure 26 - Définir le formulaire de période de service pour recevoir des SMS pour l'utilisateur http 2.

Comment tester le routage des SMS

Si vous souhaitez tester le routage des SMS sans réellement transférer les messages SMS vers le réseau mobile, vous pouvez configurer une connexion simulateur SMPP. Un simulateur SMPP peut agir comme un serveur SMPP virtuel, qui accepte les messages SMS soumis via une liaison SMPP et peut simuler les rapports de livraison des SMS.

Lecture complémentaire sur les commandes de modification des SMS

Les exemples ci-dessus ont démontré les conditions de correspondance des SMS. Une autre fonctionnalité puissante est appelée modification des SMS pendant le routage. L'idée est qu'une fois qu'un SMS correspond à une règle, le SMS peut être modifié. Cette fonctionnalité est très utile, car elle vous permet non seulement de contrôler tous les messages qui passent par votre système, mais vous pouvez également corriger certaines erreurs, comme un numéro de destination incorrect, ou vous pouvez blacklister certains contenus inacceptables. Les documents suivants fournissent des informations sur la modification du contenu des SMS.

FAQ

Qu'est-ce qu'un système SMS bidirectionnel ?

Un système SMS qui peut envoyer et recevoir des messages SMS.

Dans le monde des SMS, un système bidirectionnel vous permet d'avoir une conversation avec les utilisateurs mobiles. Vous pouvez leur envoyer des messages, et ils peuvent vous répondre via le même système.

Lorsqu'un utilisateur mobile répond à mon SMS, puis-je savoir à quel message il a initialement répondu ?

Non, ce n'est pas possible.

Imaginez une conversation où vous ne pouvez envoyer qu'une phrase à la fois, sans mémoire de ce qui s'est passé avant. C'est le monde des SMS !

  • Connexions perdues : Le protocole SMS n'a pas de fonction intégrée comme un "ID de conversation" pour lier les messages entre eux. Chaque texte est traité comme un message unique et indépendant.
  • Indices par mots-clés : La seule façon de potentiellement relier les réponses aux messages précédents est d'inclure des mots-clés dans le texte du message lui-même. Ces mots-clés agiraient comme des points de référence pour lier les messages entre eux.
  • Solution de contournement par code long (SMS IP uniquement) : Pour ceux qui utilisent des connexions SMS IP avec un fournisseur de services qui prend en charge les codes longs (numéros d'expéditeur spéciaux avec plus de chiffres), il existe une astuce potentielle. Vous pouvez encoder des chiffres supplémentaires dans le numéro d'expéditeur pour identifier le message d'origine. Cependant, cela dépend de conditions spécifiques et des capacités du fournisseur de services.
Bien que les SMS soient un excellent moyen d'envoyer des messages rapides, le suivi des fils de conversation peut être un défi. Si vous avez besoin d'une plateforme qui se souvient des messages passés, les SMS ne sont peut-être pas le meilleur choix. Pour la communication par SMS, envisagez d'utiliser des mots-clés ou explorez les codes longs (si applicable) pour améliorer les chances d'associer les réponses au message d'origine.

Comment puis-je envoyer des SMS de manière fiable vers différentes destinations mondiales ?

Pour une fiabilité optimale, envisagez de configurer plusieurs connexions de fournisseurs de services SMS dans votre système. Chaque connexion aura un nom désigné pour une référence facile dans la table de routage sortante.

La table de routage sortante agit comme votre centre de contrôle. Ici, vous définissez des routes sortantes spécifiant quelle connexion gérera chaque message.

Pour améliorer la fiabilité, utilisez au moins deux connexions. Une combinaison, comme une connexion SMS IP et une connexion modem GSM, offre une solution puissante. Configurez le modem GSM comme sauvegarde pour la connexion SMS IP dans la table de routage sortante.

Si la connexion SMS IP tombe en panne, la table de routage sortante redirige automatiquement les messages vers le modem GSM. Cela garantit une livraison ininterrompue des messages, maximisant ainsi la fiabilité du système.

Existe-t-il un moyen de savoir si un SMS entrant est une réponse à un SMS précédemment envoyé ?

Malheureusement, la technologie SMS elle-même ne propose pas de moyen intégré pour identifier si un message entrant est une réponse à un SMS envoyé précédemment. Cela rend difficile l'établissement d'un lien définitif entre les réponses.

Voici quelques approches que vous pouvez envisager :

  • Identifiant dans le texte du message : Incluez un identifiant unique dans le message original lui-même. Cela vous permet de le comparer avec la réponse, mais nécessite la coopération de l'utilisateur et n'est pas infaillible.
  • Correspondance des horodatages : Comparez les horodatages des messages envoyés et reçus. Bien qu'utile, cette méthode peut être imprécise en raison des délais potentiels.
  • Mots-clés dans les réponses : Encouragez les utilisateurs à inclure un mot-clé spécifique dans leurs réponses. Vous pouvez alors configurer une route entrante basée sur ce mot-clé (Condition #3 : texte du message) pour créer une association approximative avec le message original. Cependant, l'adhésion des utilisateurs est cruciale pour cette approche.
Bien que ces méthodes aient des limites, elles peuvent fournir des indices sur les réponses potentielles.

Puis-je modifier les paramètres des messages lors du routage ?

Oui, le routage SMS offre une superpuissance surprenante : la possibilité de modifier les numéros de téléphone et le contenu des messages pendant le processus de livraison ! Cela ouvre la porte à des applications créatives :

  • Amélioration des numéros : Besoin d'ajouter un préfixe ou un suffixe à un numéro de téléphone ? Le routage peut s'en charger, en veillant à ce que les appels atteignent la bonne destination.
  • Publicité ciblée : Vous souhaitez ajouter un message promotionnel aux textos sortants ? Le routage vous permet d'intégrer facilement ces annonces dans votre flux de communication existant.
Cette fonctionnalité ajoute de la flexibilité à votre stratégie SMS, vous permettant d'optimiser les numéros de téléphone et même d'ajouter une touche de magie marketing à vos messages.