Passerelle OmniMessage SMPP
Aperçu du produit
La passerelle OmniMessage SMPP est l'un des plusieurs protocoles frontend pour la plateforme OmniMessage.
Elle permet l'envoi de messages SMS en connectant votre infrastructure aux réseaux mobiles en utilisant le protocole SMPP (Short Message Peer-to-Peer) standard de l'industrie.
Important : Cette passerelle est un frontend de protocole sans état. Comme d'autres frontends OmniMessage (Diameter, MAP, IMS), elle traduit simplement les messages de protocole vers/depuis l'API d'OmniMessage pour le routage et le traitement.
Capacités clés
- Messagerie SMPP bidirectionnelle : Envoyez et recevez des messages SMS via SMPP en tant que SMSc ou ESME (Client ou Serveur)
- Connexions multiples : Connectez-vous à plusieurs opérateurs simultanément
- Haute performance : Traitez des milliers de messages par seconde
- Mise en cache locale des messages : Continuez à accepter des messages pendant les pannes de l'API avec une nouvelle tentative automatique
- Surveillance : Métriques Prometheus intégrées et tableau de bord web
- Fiabilité : Reconnexion automatique et nouvelle tentative de message
- Fonctionnement sans état : Tout le traitement est délégué au backend d'OmniMessage
Qui devrait utiliser ce guide ?
Ce guide est destiné aux équipes d'exploitation responsables de :
- L'installation et la configuration de la passerelle
- La surveillance du trafic de messages
- La gestion des connexions SMPP
- Le dépannage des problèmes
Démarrage rapide
Configuration initiale
- Accéder au tableau de bord Web :
https://your-server:8087 - Vérifier l'état du système : Naviguez vers SMPP → État en direct
- Revoir la configuration : Voir CONFIGURATION.md
- Configurer la surveillance : Voir MONITORING.md
Opérations quotidiennes
Tâches opérationnelles courantes :
| Tâche | Action |
|---|---|
| Vérifier l'état de la connexion | Interface Web → SMPP → État en direct |
| Voir le trafic de messages | Interface Web → File d'attente |
| Surveiller la santé du système | Interface Web → Journaux ou métriques Prometheus |
| Ajouter/modifier des connexions | Interface Web → SMPP → Pairs Client/Serveur |
Voir USAGE.md pour des procédures détaillées.
Architecture du système
La passerelle SMPP est un traducteur de protocole sans état qui fonctionne comme partie de la plateforme OmniMessage :
Concepts clés :
- Passerelle SMPP : Traducteur de protocole uniquement - pas de traitement de message, de stockage ou de logique métier
- OmniMessage : Plateforme principale gérant toute la logique de messagerie, le routage et le stockage
- Communication API : La passerelle récupère les messages à envoyer d'OmniMessage et rapporte l'état de livraison
Intégration OmniMessage
La passerelle SMPP OmniMessage est un frontend de protocole pour la plateforme de messagerie OmniMessage. C'est l'un des plusieurs types de frontends identiques qui interfacent avec les réseaux mobiles en utilisant différents protocoles :
| Frontend | Protocole | Objectif |
|---|---|---|
| Passerelle SMPP | SMPP (SMS) | Messagerie SMS via le protocole SMPP |
| Passerelle Diameter | Diameter | Messagerie basée sur IMS |
| Passerelle MAP | MAP | Signalisation de réseau mobile |
| Passerelle IMS | IMS | Système multimédia IP |
Tous les frontends partagent la même architecture : Ce sont des traducteurs de protocole sans état qui délèguent toute l'intelligence au cœur d'OmniMessage.
Comment ça fonctionne
Flux de message entrant (Système externe → Opérateur) :
Flux de message sortant (Opérateur → Passerelle SMPP) :
Ce que fait la passerelle
- Reçoit des PDUs SMPP des opérateurs et des clients externes
- Analyse et valide les messages de protocole SMPP
- Traduit le format SMPP en format interne d'OmniMessage
- Appelle l'API REST d'OmniMessage avec les données du message
- Reçoit des messages d'OmniMessage via le polling de l'API
- Convertit le format OmniMessage en PDUs SMPP
- Rapporte les accusés de réception de livraison à OmniMessage
Ce que la passerelle ne fait PAS
- ❌ Pas de stockage ou de persistance des messages
- ❌ Pas de décisions de routage (OmniMessage décide)
- ❌ Pas de limitation de débit (OmniMessage applique)
- ❌ Pas de validation de numéro (OmniMessage valide)
- ❌ Pas de suivi d'état (OmniMessage maintient l'état)
- ❌ Pas de logique métier (OmniMessage gère toute la logique)
API REST d'OmniMessage
La passerelle communique avec le cœur d'OmniMessage via l'API REST :
Configuration :
config :omnimessage_smpp,
api_base_url: "https://omnimessage-core.example.com:8443"
Opérations clés de l'API :
GET /api/message_queue?destination_smsc=<bind_name>- Récupérer les messages en attentePUT /api/messages/<id>/delivery_status- Signaler l'accusé de réception de livraisonGET /api/system/health- Vérification de l'état
Format de message : Les messages dans la file d'attente contiennent toutes les informations nécessaires à la livraison :
- Numéro de destination
- Corps du message
- Numéro d'origine
- Priorité
- Période de validité
- SMSC cible (nom de liaison de l'opérateur)
La passerelle récupère simplement ces messages, les formate en SMPP, les envoie à l'opérateur et rapporte l'état.
Structure de la documentation
Cette documentation est organisée en plusieurs guides :
- CONFIGURATION.md - Référence complète de configuration avec tous les paramètres expliqués
- MESSAGE_CACHE.md - Mise en cache locale des messages pour la résilience de l'API
- MONITORING.md - Guide des métriques Prometheus et d'alerte
- USAGE.md - Procédures opérationnelles quotidiennes
- TROUBLESHOOTING.md - Problèmes courants et solutions
- GLOSSARY.md - Termes et définitions
Points d'accès
Tableau de bord Web
- URL :
https://your-server:8087 - Fonctionnalités :
- Voir l'état de la connexion SMPP
- Surveiller la file d'attente des messages
- Voir les journaux système
- Configurer les pairs SMPP
- Accéder à la documentation
Métriques Prometheus
- URL :
http://your-server:4000/metrics - Format : Format texte Prometheus
- Utilisation : Intégration avec Grafana/Prometheus
Point de terminaison API
- URL : Configuré dans
API_BASE_URL - Objectif : Intégration du backend de la file d'attente des messages
Référence rapide
Tâches courantes
| Tâche | Commande/Emplacement |
|---|---|
| Démarrer la passerelle | systemctl start omnimessage-smpp |
| Arrêter la passerelle | systemctl stop omnimessage-smpp |
| Redémarrer la passerelle | systemctl restart omnimessage-smpp |
| Voir les journaux | journalctl -u omnimessage-smpp -f |
| Vérifier l'état | Interface Web → SMPP → État en direct |
| Voir les métriques | curl http://localhost:4000/metrics |
| Modifier la configuration | /opt/omnimessage-smpp/config/runtime.exs |
Fichiers importants
| Fichier | Objectif |
|---|---|
/opt/omnimessage-smpp/config/runtime.exs | Configuration principale |
/opt/omnimessage-smpp/priv/cert/ | Certificats SSL |
/var/log/omnimessage-smpp/ | Journaux de l'application |
/etc/systemd/system/omnimessage-smpp.service | Définition du service |
Notes de sécurité
- Interface Web : Utilise HTTPS avec vos certificats SSL
- Communication API : Peut vérifier SSL ou utiliser des certificats auto-signés
- SMPP : Protocole en texte clair - utiliser la sécurité réseau
- Identifiants : Stockés dans le fichier de configuration - protéger l'accès
Prochaines étapes
- Revoir CONFIGURATION.md pour toutes les options de configuration
- Configurer MONITORING.md avec Prometheus
- Familiarisez-vous avec USAGE.md pour les tâches quotidiennes
- Ajouter aux favoris TROUBLESHOOTING.md pour référence rapide
- Revoir GLOSSARY.md pour la terminologie