Gateway OmniMessage SMPP
Visão Geral do Produto
O Gateway OmniMessage SMPP é um dos vários protocolos de frontend para a plataforma OmniMessage.
Ele permite a troca de mensagens SMS conectando sua infraestrutura a redes móveis usando o protocolo SMPP (Short Message Peer-to-Peer) padrão da indústria.
Importante: Este gateway é um frontend de protocolo sem estado. Como outros frontends do OmniMessage (Diameter, MAP, IMS), ele simplesmente traduz mensagens de protocolo para/de a API do OmniMessage para roteamento e processamento.
Principais Capacidades
- Mensagens SMPP Bidirecionais: Enviar e receber mensagens SMS via SMPP como um SMSc ou ESME (Cliente ou Servidor)
- Múltiplas Conexões: Conectar-se a/de vários operadores simultaneamente
- Alto Desempenho: Processar milhares de mensagens por segundo
- Cache Local de Mensagens: Continuar aceitando mensagens durante interrupções da API com tentativa automática
- Monitoramento: Métricas Prometheus integradas e painel da web
- Confiabilidade: Reconexão automática e tentativa de reenvio de mensagens
- Operação Sem Estado: Todo o processamento delegado ao backend do OmniMessage
Quem Deve Usar Este Guia?
Este guia é para equipes de operações responsáveis por:
- Instalar e configurar o gateway
- Monitorar o tráfego de mensagens
- Gerenciar conexões SMPP
- Solucionar problemas
Início Rápido
Configuração Inicial
- Acessar o Painel da Web:
https://your-server:8087 - Verificar o Status do Sistema: Navegar para SMPP → Status Ao Vivo
- Revisar Configuração: Veja CONFIGURATION.md
- Configurar Monitoramento: Veja MONITORING.md
Operações Diárias
Tarefas operacionais comuns:
| Tarefa | Ação |
|---|---|
| Verificar status da conexão | UI da Web → SMPP → Status Ao Vivo |
| Visualizar tráfego de mensagens | UI da Web → Fila |
| Monitorar saúde do sistema | UI da Web → Logs ou métricas Prometheus |
| Adicionar/modificar conexões | UI da Web → SMPP → Pares Cliente/Servidor |
Veja USAGE.md para procedimentos detalhados.
Arquitetura do Sistema
O Gateway SMPP é um tradutor de protocolo sem estado que opera como parte da plataforma OmniMessage:
Conceitos Chave:
- Gateway SMPP: Tradutor de protocolo apenas - sem processamento de mensagens, armazenamento ou lógica de negócios
- OmniMessage: Plataforma central que lida com toda a lógica de mensagens, roteamento e armazenamento
- Comunicação API: O gateway recupera mensagens para enviar do OmniMessage e relata o status de entrega
Integração OmniMessage
O Gateway OmniMessage SMPP é um frontend de protocolo para a plataforma de mensagens OmniMessage. É um dos vários tipos de frontend idênticos que se conectam a redes móveis usando diferentes protocolos:
| Frontend | Protocolo | Propósito |
|---|---|---|
| Gateway SMPP | SMPP (SMS) | Mensagens SMS via protocolo SMPP |
| Gateway Diameter | Diameter | Mensagens baseadas em IMS |
| Gateway MAP | MAP | Sinalização de rede móvel |
| Gateway IMS | IMS | Subsistema Multimídia IP |
Todos os frontends compartilham a mesma arquitetura: Eles são tradutores de protocolo sem estado que delegam toda a inteligência ao Core OmniMessage.
Como Funciona
Fluxo de Mensagem de Entrada (Sistema Externo → Operadora):
Fluxo de Mensagem de Saída (Operadora → Gateway SMPP):
O Que o Gateway Faz
- Recebe PDUs SMPP de operadoras e clientes externos
- Analisa e valida mensagens de protocolo SMPP
- Traduz o formato SMPP para o formato interno do OmniMessage
- Chama a API REST do OmniMessage com os dados da mensagem
- Recebe mensagens do OmniMessage via polling da API
- Converte o formato OmniMessage de volta para PDUs SMPP
- Relata recibos de entrega de volta ao OmniMessage
O Que o Gateway NÃO Faz
- ❌ Sem armazenamento ou persistência de mensagens
- ❌ Sem decisões de roteamento (OmniMessage decide)
- ❌ Sem limitação de taxa (OmniMessage aplica)
- ❌ Sem validação de número (OmniMessage valida)
- ❌ Sem rastreamento de estado (OmniMessage mantém o estado)
- ❌ Sem lógica de negócios (OmniMessage lida com toda a lógica)
API REST do OmniMessage
O gateway se comunica com o Core OmniMessage via API REST:
Configuração:
config :omnimessage_smpp,
api_base_url: "https://omnimessage-core.example.com:8443"
Principais Operações da API:
GET /api/message_queue?destination_smsc=<bind_name>- Recuperar mensagens pendentesPUT /api/messages/<id>/delivery_status- Relatar recibo de entregaGET /api/system/health- Verificação de saúde
Formato da Mensagem: Mensagens na fila contêm todas as informações necessárias para entrega:
- Número de destino
- Corpo da mensagem
- Número de origem
- Prioridade
- Período de validade
- SMSC alvo (nome de ligação da operadora)
O gateway simplesmente recupera essas, formata-as como SMPP, envia-as para a operadora e relata o status.
Estrutura da Documentação
Esta documentação está organizada nos seguintes guias:
- CONFIGURATION.md - Referência completa de configuração com todos os parâmetros explicados
- MESSAGE_CACHE.md - Cache local de mensagens para resiliência da API
- MONITORING.md - Guia de métricas Prometheus e alerta
- USAGE.md - Procedimentos operacionais do dia a dia
- TROUBLESHOOTING.md - Problemas comuns e soluções
- GLOSSARY.md - Termos e definições
Pontos de Acesso
Painel da Web
- URL:
https://your-server:8087 - Recursos:
- Verificar status da conexão SMPP
- Monitorar fila de mensagens
- Visualizar logs do sistema
- Configurar pares SMPP
- Acessar documentação
Métricas Prometheus
- URL:
http://your-server:4000/metrics - Formato: Formato de texto Prometheus
- Uso: Integração com Grafana/Prometheus
Endpoint da API
- URL: Configurado em
API_BASE_URL - Propósito: Integração de backend da fila de mensagens
Referência Rápida
Tarefas Comuns
| Tarefa | Comando/Localização |
|---|---|
| Iniciar gateway | systemctl start omnimessage-smpp |
| Parar gateway | systemctl stop omnimessage-smpp |
| Reiniciar gateway | systemctl restart omnimessage-smpp |
| Ver logs | journalctl -u omnimessage-smpp -f |
| Verificar status | UI da Web → SMPP → Status Ao Vivo |
| Ver métricas | curl http://localhost:4000/metrics |
| Editar configuração | /opt/omnimessage-smpp/config/runtime.exs |
Arquivos Importantes
| Arquivo | Prop��sito |
|---|---|
/opt/omnimessage-smpp/config/runtime.exs | Configuração principal |
/opt/omnimessage-smpp/priv/cert/ | Certificados SSL |
/var/log/omnimessage-smpp/ | Logs da aplicação |
/etc/systemd/system/omnimessage-smpp.service | Definição do serviço |
Notas de Segurança
- UI da Web: Usa HTTPS com seus certificados SSL
- Comunicação API: Pode verificar SSL ou usar certificados autoassinados
- SMPP: Protocolo em texto simples - use segurança de rede
- Credenciais: Armazenadas no arquivo de configuração - proteja o acesso
Próximos Passos
- Revise CONFIGURATION.md para todas as opções de configuração
- Configure MONITORING.md com Prometheus
- Familiarize-se com USAGE.md para tarefas diárias
- Adicione TROUBLESHOOTING.md aos favoritos para referência rápida
- Revise GLOSSARY.md para terminologia