Puerta de enlace OmniMessage SMPP
Descripción del Producto
La Puerta de enlace OmniMessage SMPP es uno de varios protocolos frontend para la plataforma OmniMessage.
Permite la mensajería SMS conectando su infraestructura a redes móviles utilizando el protocolo SMPP (Protocolo de Mensajes Cortos de Par a Par) estándar de la industria.
Importante: Esta puerta de enlace es un frontend de protocolo sin estado. Al igual que otros frontends de OmniMessage (Diameter, MAP, IMS), simplemente traduce mensajes de protocolo hacia/desde la API de OmniMessage para el enrutamiento y procesamiento.
Capacidades Clave
- Mensajería SMPP Bidireccional: Enviar y recibir mensajes SMS a través de SMPP como un SMSc o ESME (Cliente o Servidor)
- Conexiones Múltiples: Conectar con múltiples operadores simultáneamente
- Alto Rendimiento: Manejar miles de mensajes por segundo
- Caché de Mensajes Local: Continuar aceptando mensajes durante interrupciones de la API con reintentos automáticos
- Monitoreo: Métricas de Prometheus integradas y panel web
- Confiabilidad: Reconexión automática y reintentos de mensajes
- Operación Sin Estado: Todo el procesamiento delegado al backend de OmniMessage
¿Quién Debe Usar Esta Guía?
Esta guía es para equipos de operaciones responsables de:
- Instalar y configurar la puerta de enlace
- Monitorear el tráfico de mensajes
- Gestionar conexiones SMPP
- Solucionar problemas
Inicio Rápido
Configuración Inicial
- Acceder al Panel Web:
https://your-server:8087 - Verificar el Estado del Sistema: Navegar a SMPP → Estado en Vivo
- Revisar la Configuración: Ver CONFIGURATION.md
- Configurar Monitoreo: Ver MONITORING.md
Operaciones Diarias
Tareas operativas comunes:
| Tarea | Acción |
|---|---|
| Verificar el estado de la conexión | Interfaz Web → SMPP → Estado en Vivo |
| Ver tráfico de mensajes | Interfaz Web → Cola |
| Monitorear la salud del sistema | Interfaz Web → Registros o métricas de Prometheus |
| Agregar/modificar conexiones | Interfaz Web → SMPP → Pares Cliente/Servidor |
Ver USAGE.md para procedimientos detallados.
Arquitectura del Sistema
La Puerta de enlace SMPP es un traductor de protocolo sin estado que opera como parte de la plataforma OmniMessage:
Conceptos Clave:
- Puerta de enlace SMPP: Traductor de protocolo únicamente - sin procesamiento de mensajes, almacenamiento o lógica de negocio
- OmniMessage: Plataforma central que maneja toda la lógica de mensajería, enrutamiento y almacenamiento
- Comunicación API: La puerta de enlace recupera mensajes para enviar desde OmniMessage y reporta el estado de entrega
Integración de OmniMessage
La Puerta de enlace SMPP de OmniMessage es un frontend de protocolo para la plataforma de mensajer��a OmniMessage. Es uno de varios tipos de frontend idénticos que se interfazan con redes móviles utilizando diferentes protocolos:
| Frontend | Protocolo | Propósito |
|---|---|---|
| Puerta de enlace SMPP | SMPP (SMS) | Mensajería SMS a través del protocolo SMPP |
| Puerta de enlace Diameter | Diameter | Mensajería basada en IMS |
| Puerta de enlace MAP | MAP | Señalización de red móvil |
| Puerta de enlace IMS | IMS | Subsistema Multimedia IP |
Todos los frontends comparten la misma arquitectura: Son traductores de protocolo sin estado que delegan toda la inteligencia al Core de OmniMessage.
Cómo Funciona
Flujo de Mensajes Entrantes (Sistema Externo → Operador):
Flujo de Mensajes Salientes (Operador → Puerta de enlace SMPP):
Lo que Hace la Puerta de Enlace
- Recibe PDUs SMPP de operadores y clientes externos
- Analiza y valida mensajes de protocolo SMPP
- Traduce el formato SMPP al formato interno de OmniMessage
- Llama a la API REST de OmniMessage con los datos del mensaje
- Recibe mensajes de OmniMessage a través de sondeo de API
- Convierte el formato de OmniMessage de nuevo a PDUs SMPP
- Reporta recibos de entrega de vuelta a OmniMessage
Lo que la Puerta de Enlace NO Hace
- ❌ No almacenamiento o persistencia de mensajes
- ❌ No decisiones de enrutamiento (OmniMessage decide)
- ❌ No limitación de tasa (OmniMessage aplica)
- ❌ No validación de números (OmniMessage valida)
- ❌ No seguimiento de estado (OmniMessage mantiene el estado)
- ❌ No lógica de negocio (OmniMessage maneja toda la lógica)
API REST de OmniMessage
La puerta de enlace se comunica con el Core de OmniMessage a través de la API REST:
Configuración:
config :omnimessage_smpp,
api_base_url: "https://omnimessage-core.example.com:8443"
Operaciones Clave de la API:
GET /api/message_queue?destination_smsc=<bind_name>- Recuperar mensajes pendientesPUT /api/messages/<id>/delivery_status- Reportar recibo de entregaGET /api/system/health- Verificación de salud
Formato del Mensaje: Los mensajes en la cola contienen toda la información necesaria para la entrega:
- Número de destino
- Cuerpo del mensaje
- Número de origen
- Prioridad
- Período de validez
- SMSC objetivo (nombre de enlace del operador)
La puerta de enlace simplemente recupera estos, los formatea como SMPP, los envía al operador y reporta el estado.
Estructura de la Documentación
Esta documentación está organizada en las siguientes guías:
- CONFIGURATION.md - Referencia completa de configuración con todos los parámetros explicados
- MESSAGE_CACHE.md - Caché de mensajes local para resiliencia de la API
- MONITORING.md - Guía de métricas de Prometheus y alertas
- USAGE.md - Procedimientos operativos diarios
- TROUBLESHOOTING.md - Problemas comunes y soluciones
- GLOSSARY.md - Términos y definiciones
Puntos de Acceso
Panel Web
- URL:
https://your-server:8087 - Características:
- Ver estado de conexión SMPP
- Monitorear cola de mensajes
- Ver registros del sistema
- Configurar pares SMPP
- Acceder a la documentación
Métricas de Prometheus
- URL:
http://your-server:4000/metrics - Formato: Formato de texto de Prometheus
- Uso: Integración con Grafana/Prometheus
Endpoint de API
- URL: Configurado en
API_BASE_URL - Propósito: Integración del backend de la cola de mensajes
Referencia Rápida
Tareas Comunes
| Tarea | Comando/Ubicación |
|---|---|
| Iniciar puerta de enlace | systemctl start omnimessage-smpp |
| Detener puerta de enlace | systemctl stop omnimessage-smpp |
| Reiniciar puerta de enlace | systemctl restart omnimessage-smpp |
| Ver registros | journalctl -u omnimessage-smpp -f |
| Verificar estado | Interfaz Web → SMPP → Estado en Vivo |
| Ver métricas | curl http://localhost:4000/metrics |
| Editar configuración | /opt/omnimessage-smpp/config/runtime.exs |
Archivos Importantes
| Archivo | Propósito |
|---|---|
/opt/omnimessage-smpp/config/runtime.exs | Configuración principal |
/opt/omnimessage-smpp/priv/cert/ | Certificados SSL |
/var/log/omnimessage-smpp/ | Registros de la aplicación |
/etc/systemd/system/omnimessage-smpp.service | Definición del servicio |
Notas de Seguridad
- Interfaz Web: Utiliza HTTPS con sus certificados SSL
- Comunicación API: Puede verificar SSL o usar certificados autofirmados
- SMPP: Protocolo de texto plano - usar seguridad de red
- Credenciales: Almacenadas en el archivo de configuración - proteger el acceso
Próximos Pasos
- Revisar CONFIGURATION.md para todas las opciones de configuración
- Configurar MONITORING.md con Prometheus
- Familiarizarse con USAGE.md para tareas diarias
- Marcar TROUBLESHOOTING.md para referencia rápida
- Revisar GLOSSARY.md para terminología