Referência de Configuração
Guia completo para todos os parâmetros de configuração
Visão Geral da Arquitetura
O Gateway SMPP OmniMessage é um frontend de protocolo sem estado que traduz mensagens SMPP para/de OmniMessage. Toda a lógica de negócios, decisões de roteamento e armazenamento de mensagens são gerenciados pelo OmniMessage Core - o gateway simplesmente:
- Recebe PDUs SMPP de operadoras e clientes
- Traduz para o formato OmniMessage via REST API
- Consulta o OmniMessage por mensagens a serem enviadas
- Envia PDUs SMPP para operadoras
- Relata o status de entrega de volta ao OmniMessage
Isso é idêntico a como outros frontends do OmniMessage (Diameter, MAP, IMS) funcionam - todos são tradutores de protocolo sem estado que delegam ao OmniMessage Core.
Localização do Arquivo de Configuração
/opt/omnimessage-smpp/config/runtime.exs
Importante: Após alterar a configuração, reinicie o gateway:
sudo systemctl restart omnimessage-smpp
Estrutura da Configuração
O arquivo de configuração usa a sintaxe Elixir. Estrutura básica:
import Config
# Configurações globais
config :omnimessage_smpp,
setting_name: value
# Bindings SMPP
config :omnimessage_smpp, :binds, [
%{
name: "bind_name",
# ... configurações de bind
}
]
Configurações Globais
API_BASE_URL
URL da plataforma OmniMessage Core
config :omnimessage_smpp,
api_base_url: "https://omnimessage-core.example.com:8443"
| Parâmetro | Tipo | Requerido | Padrão |
|---|---|---|---|
api_base_url | String (URL) | Sim | - |
Propósito: URL da plataforma OmniMessage Core. O gateway se comunica com o OmniMessage via REST API para todo o processamento de mensagens:
- Enviar Mensagens: Enviar mensagens SMPP recebidas para o OmniMessage para processamento
- Recuperar Mensagens: Consultar mensagens destinadas às operadoras SMPP
- Relatar Status de Entrega: Atualizar o status de entrega da mensagem de volta ao OmniMessage
- Saúde do Sistema: Verificações de saúde periódicas
Crítico: É aqui que o gateway obtém toda a sua "inteligência". O OmniMessage gerencia:
- ✓ Validação de mensagens e verificação de formato
- ✓ Decisões de roteamento (qual operadora usar)
- ✓ Limitação de taxa e controle de fluxo
- ✓ Validação de número
- ✓ Armazenamento e persistência de mensagens
- ✓ Lógica de tentativas de entrega
- ✓ Rastreamento de status
O gateway simplesmente traduz o formato SMPP ↔ OmniMessage.
Exemplos:
# HTTPS com IP
api_base_url: "https://192.168.1.100:8443"
# HTTPS com nome de host
api_base_url: "https://omnimessage-core.company.com:8443"
# HTTP (não recomendado para produção)
api_base_url: "http://192.168.1.100:8080"
Requisitos de Rede:
- O gateway deve ter acesso à rede do OmniMessage Core
- Use HTTPS em produção (configure
verify_ssl_peer) - O firewall deve permitir HTTPS de saída na porta especificada
SMPP_POLL_INTERVAL
Frequência de verificação da fila (milissegundos)
config :omnimessage_smpp,
smpp_poll_interval: 100
| Parâmetro | Tipo | Requerido | Padrão |
|---|---|---|---|
smpp_poll_interval | Inteiro | Não | 100 |
Propósito: Com que frequência (em milissegundos) cada cliente verifica a fila de mensagens.
Diretrizes:
- Alto volume (>100 TPS): 100-500ms
- Volume médio (10-100 TPS): 500-1000ms
- Baixo volume (<10 TPS): 1000-2000ms
Variável de ambiente: SMPP_POLL_INTERVAL
VERIFY_SSL_PEER
Verificação de certificado SSL
config :omnimessage_smpp,
verify_ssl_peer: false
| Parâmetro | Tipo | Requerido | Padrão |
|---|---|---|---|
verify_ssl_peer | Booleano | Não | false |
Propósito: Se deve verificar os certificados SSL ao conectar-se à API de backend.
Valores:
true: Verificar certificados (produção com certificados válidos)false: Ignorar verificação (certificados autoassinados, teste)
Variável de ambiente: VERIFY_SSL_PEER
SMSC_NAME
Identificador do gateway para registro
config :omnimessage_smpp,
smsc_name: "smpp_gateway"
| Parâmetro | Tipo | Requerido | Padrão |
|---|---|---|---|
smsc_name | String | Não | "smpp_gateway" |
Propósito: Identifica esta instância de gateway no backend da fila de mensagens.
Variável de ambiente: SMSC_NAME
Configuração de Bind do Cliente SMPP
Bindings de cliente são conexões de saída onde o gateway atua como um ESME (cliente) conectando-se aos servidores SMSC da operadora. Neste modo, o gateway inicia a conexão para enviar e receber mensagens através de operadoras externas.
Exemplo Completo de Bind do Cliente
config :omnimessage_smpp, :binds, [
%{
# Identificador único para esta conexão
name: "vodafone_uk",
# Modo de conexão
mode: :client,
# Tipo de bind SMPP
bind_type: :transceiver,
# Endereço do servidor SMPP da operadora
host: "smpp.vodafone.co.uk",
port: 2775,
# Credenciais de autenticação
system_id: "your_username",
password: "your_password",
# Campos do protocolo SMPP (opcional, definir se a operadora exigir)
system_type: "",
addr_ton: 0,
addr_npi: 0,
address_range: "",
# Limitação de taxa
tps_limit: 100,
# Frequência de verificação da fila
queue_check_frequency: 1000,
# Intervalo de keepalive (segundos, 0 para desativar)
enquire_link_interval: 60,
# Cache de mensagens (opcional)
cache_enabled: false,
cache_max_size: 10000,
cache_retry_interval: 60
}
]
Parâmetros de Bind do Cliente
name
Identificador único da conexão
| Tipo | Requerido | Exemplo |
|---|---|---|
| String | Sim | "vodafone_uk" |
Propósito: Identifica exclusivamente esta conexão SMPP.
- Usado em logs e métricas
- Deve ser único entre todos os binds
- Use nomes descritivos (operadora, região, propósito)
Convenções de nomenclatura:
operadora_região:"vodafone_uk","att_us"número_propósito:"marketing_1","alerts_primary"
mode
Tipo de conexão
| Tipo | Requerido | Valor |
|---|---|---|
| Átomo | Sim | :client |
Propósito: Define isso como uma conexão de saída onde o gateway atua como um ESME conectando-se a um SMSC externo.
Valor fixo: Sempre :client para conexões de saída.
bind_type
Tipo de sessão SMPP
| Tipo | Requerido | Valores Permitidos |
|---|---|---|
| Átomo | Sim | :transmitter, :receiver, :transceiver |
Propósito: Define a capacidade de direção da mensagem.
Opções:
:transmitter- Enviar mensagens apenas (submit_sm):receiver- Receber mensagens apenas (deliver_sm):transceiver- Enviar e receber (mais comum)
Recomendação: Use :transceiver a menos que a operadora exija um tipo específico.
host
Nome do host ou IP do servidor SMPP da operadora
| Tipo | Requerido | Exemplo |
|---|---|---|
| String | Sim | "smpp.carrier.com" ou "10.5.1.100" |
Propósito: Endereço do servidor SMPP da operadora.
Exemplos:
host: "smpp.vodafone.co.uk"
host: "10.20.30.40"
host: "smpp-primary.carrier.net"
port
Porta do servidor SMPP
| Tipo | Requerido | Padrão | Faixa |
|---|---|---|---|
| Inteiro | Sim | 2775 | 1-65535 |
Propósito: Porta TCP para a conexão SMPP.
Porta padrão: 2775
Exemplos:
port: 2775 # Padrão
port: 3000 # Personalizada
system_id
Nome de usuário de autenticação
| Tipo | Requerido | Exemplo |
|---|---|---|
| String | Sim | "company_user" |
Propósito: Nome de usuário fornecido pela operadora para autenticação.
Segurança: Proteja esta credencial - armazenada no arquivo de configuração.
password
Senha de autenticação
| Tipo | Requerido | Exemplo |
|---|---|---|
| String | Sim | "secret_password" |
Propósito: Senha fornecida pela operadora para autenticação.
Segurança:
- Proteja esta credencial
- Use senhas fortes
- Altere periodicamente
tps_limit
Limite de transações por segundo
| Tipo | Requerido | Padrão | Faixa |
|---|---|---|---|
| Inteiro | Sim | 100 | 1-10000 |
Propósito: Número máximo de mensagens por segundo a serem enviadas através desta conexão.
Diretrizes:
- Defina para 70-80% do máximo da operadora
- Previna controle de fluxo/desconexão
- Permite margem para recibos de entrega
Exemplos:
tps_limit: 10 # Baixo volume
tps_limit: 50 # Volume médio
tps_limit: 100 # Alto volume (mais comum)
tps_limit: 1000 # Volume muito alto
Cálculo:
Se o máximo da operadora = 100 TPS
Defina tps_limit = 70-80
Deixa 20-30 TPS de margem
queue_check_frequency
Intervalo de polling da fila de mensagens (milissegundos)
| Tipo | Requerido | Padrão | Faixa |
|---|---|---|---|
| Inteiro | Sim | 1000 | 100-10000 |
Propósito: Com que frequência verificar o backend por novas mensagens a serem enviadas.
Diretrizes:
- Alto volume (>100 TPS): 500-1000ms
- Volume médio (10-100 TPS): 1000-2000ms
- Baixo volume (<10 TPS): 2000-5000ms
Compensações:
- Valor mais baixo = coleta de mensagens mais rápida, mais carga na API
- Valor mais alto = coleta mais lenta, menos carga na API
enquire_link_interval
Intervalo de keepalive SMPP (segundos)
| Tipo | Requerido | Padrão | Faixa |
|---|---|---|---|
| Inteiro | Não | 60 | 0-3600 |
Propósito: Com que frequência (em segundos) enviar PDUs enquire_link SMPP para verificar se a conexão está ativa. O servidor remoto responde com enquire_link_resp.
Diretrizes:
- Padrão (60): Adequado para a maioria das operadoras
- Valores mais baixos (15-30): Detecção de falhas mais rápida, mais tráfego
- Valores mais altos (120-300): Menos sobrecarga, detecção de falhas mais lenta
- 0: Desativa completamente o enquire_link (não recomendado)
Exemplos:
enquire_link_interval: 60 # Padrão (1 minuto)
enquire_link_interval: 30 # Keepalive agressivo
enquire_link_interval: 0 # Desativado
system_type
Identificador do tipo de sistema SMPP
| Tipo | Requerido | Padrão | Exemplo |
|---|---|---|---|
| String | Não | "" | "OTP" |
Propósito: Campo do protocolo SMPP enviado durante o bind. Algumas operadoras exigem um valor específico. Deixe em branco, a menos que a operadora especifique um.
addr_ton
Tipo de Número de Endereço
| Tipo | Requerido | Padrão | Faixa |
|---|---|---|---|
| Inteiro | Não | 0 | 0-6 |
Propósito: Campo do protocolo SMPP que especifica o tipo de número usado na solicitação de bind.
Valores comuns:
0- Desconhecido1- Internacional2- Nacional5- Alfanumérico
Defina conforme exigido pela operadora.
addr_npi
Indicador do Plano de Numeração de Endereço
| Tipo | Requerido | Padrão | Faixa |
|---|---|---|---|
| Inteiro | Não | 0 | 0-18 |
Propósito: Campo do protocolo SMPP que especifica o plano de numeração na solicitação de bind.
Valores comuns:
0- Desconhecido1- ISDN/E.1643- Dados/X.1219- Privado
Defina conforme exigido pela operadora.
address_range
Faixa de endereços para bind
| Tipo | Requerido | Padrão | Exemplo |
|---|---|---|---|
| String | Não | "" | "614*" |
Propósito: Campo do protocolo SMPP que especifica a faixa de endereços que este bind manipula. Usado por algumas operadoras para filtrar quais mensagens são entregues a esta conexão. Deixe em branco, a menos que a operadora especifique um valor.
enabled
Estado de ativação do peer
| Tipo | Requerido | Padrão |
|---|---|---|
| Booleano | Não | true |
Propósito: Controla se este peer está ativo. Peers desativados são mantidos na configuração, mas não estabelecem conexões. Útil para retirar temporariamente uma conexão do ar sem excluir sua configuração.
cache_enabled
Ativar cache local de mensagens
| Tipo | Requerido | Padrão |
|---|---|---|
| Booleano | Não | false |
Propósito: Quando ativado, mensagens recebidas são armazenadas localmente se a API de backend estiver inacessível, e depois entregues automaticamente quando a conectividade for restaurada. Veja MESSAGE_CACHE.md para detalhes completos.
cache_max_size
Número máximo de mensagens em cache
| Tipo | Requerido | Padrão | Faixa |
|---|---|---|---|
| Inteiro | Não | 10000 | 1-1000000 |
Propósito: Número máximo de mensagens a serem armazenadas em cache por bind. Quando o limite é atingido, as mensagens mais antigas são removidas (FIFO). Aplica-se apenas quando cache_enabled é true.
cache_retry_interval
Intervalo base de nova tentativa (segundos)
| Tipo | Requerido | Padrão |
|---|---|---|
| Inteiro | Não | 60 |
Propósito: Intervalo base em segundos antes de tentar novamente a entrega de uma mensagem em cache. Combinado com backoff exponencial (nova tentativa 0: 60s, nova tentativa 1: 120s, nova tentativa 2: 240s, etc.). Aplica-se apenas quando cache_enabled é true.
Exemplo de UI Web:

Configuração de Bind do Servidor SMPP
Bindings de servidor definem conexões de entrada onde o gateway atua como um SMSC (servidor) aceitando conexões de ESMEs externas (clientes). Neste modo, sistemas parceiros se conectam ao gateway para enviar e receber mensagens.
Exemplo Completo de Bind do Servidor
config :omnimessage_smpp, :server_binds, [
%{
# Identificador único para este cliente
name: "partner_acme",
# Credenciais esperadas do cliente
system_id: "acme_corp",
password: "acme_secret",
# Tipos de bind permitidos
allowed_bind_types: [:transmitter, :receiver, :transceiver],
# Restrições de IP
ip_whitelist: ["192.168.1.0/24", "10.50.1.100"],
# Restrições de endereço de origem (vazio = permitir todos)
source_address_whitelist: [],
# Limitação de taxa
tps_limit: 50,
# Frequência de verificação da fila
queue_check_frequency: 1000,
# Intervalo de keepalive (segundos, 0 para desativar)
enquire_link_interval: 60,
# Cache de mensagens (opcional)
cache_enabled: false,
cache_max_size: 10000,
cache_retry_interval: 60
}
]
Parâmetros de Bind do Servidor
name
Identificador do cliente
| Tipo | Requerido | Exemplo |
|---|---|---|
| String | Sim | "partner_acme" |
Propósito: Identifica o cliente externo que está se conectando a você.
Convenções de nomenclatura: Use o nome do parceiro/cliente para fácil identificação.
system_id
Nome de usuário esperado do cliente
| Tipo | Requerido | Exemplo |
|---|---|---|
| String | Sim | "acme_corp" |
Propósito: Nome de usuário que o cliente externo deve fornecer para autenticação.
Fornecer ao cliente: Compartilhe esta credencial com seu parceiro.
password
Senha esperada do cliente
| Tipo | Requerido | Exemplo |
|---|---|---|
| String | Sim | "secure_password" |
Propósito: Senha que o cliente externo deve fornecer para autenticação.
Segurança:
- Use senhas fortes
- Única por cliente
- Compartilhe de forma segura com o parceiro
allowed_bind_types
Tipos de sessão permitidos
| Tipo | Requerido | Padrão |
|---|---|---|
| Lista de Átomos | Sim | - |
Propósito: Restringe quais tipos de bind o cliente pode usar.
Opções:
allowed_bind_types: [:transceiver] # Apenas transceiver
allowed_bind_types: [:transmitter, :receiver] # TX ou RX
allowed_bind_types: [:transmitter, :receiver, :transceiver] # Qualquer
Recomendação: Permita os três, a menos que precise de restrições.
ip_whitelist
Endereços IP de cliente permitidos
| Tipo | Requerido | Padrão | Formato |
|---|---|---|---|
| Lista de Strings | Sim | [] | IPs ou notação CIDR |
Propósito: Segurança - permitir apenas conexões de IPs conhecidos.
Formatos:
- IP único:
"192.168.1.100"(automaticamente/32) - Sub-rede CIDR:
"192.168.1.0/24","10.0.0.0/8" - Mistura de ambos:
["192.168.1.0/24", "10.50.1.100"]
Exemplos:
# Permitir qualquer IP (não recomendado)
ip_whitelist: []
# IP único
ip_whitelist: ["203.0.113.50"]
# Múltiplos IPs
ip_whitelist: ["203.0.113.50", "203.0.113.51"]
# Sub-rede
ip_whitelist: ["192.168.1.0/24"]
# Misturado
ip_whitelist: ["192.168.1.0/24", "10.50.1.100", "10.60.0.0/16"]
Sub-redes comuns:
/32- IP único (automático para IPs sem máscara)/24- 256 endereços (ex: 192.168.1.0-255)/16- 65.536 endereços (ex: 10.50.0.0-255.255)/8- 16.777.216 endereços (ex: 10.0.0.0-255.255.255.255)
source_address_whitelist
Endereços de origem permitidos
| Tipo | Requerido | Padrão | Formato |
|---|---|---|---|
| Lista de Strings | Não | [] | Padrões exatos ou curinga |
Propósito: Restringe quais endereços de origem (IDs de remetente) os clientes conectados podem usar ao enviar mensagens. Lista vazia permite todos os endereços.
Tipos de padrões:
- Correspondência exata:
"MyBrand"corresponde apenas a "MyBrand" - Sufixo curinga:
"614*"corresponde a qualquer endereço que comece com "614"
Exemplos:
# Permitir qualquer endereço de origem
source_address_whitelist: []
# Apenas endereços específicos
source_address_whitelist: ["MyBrand", "AlertService"]
# Correspondência de prefixo curinga
source_address_whitelist: ["614*", "+61*"]
# Misturado
source_address_whitelist: ["MyBrand", "614*", "+61400000001"]
Mensagens com endereços de origem não permitidos são rejeitadas com ESME_RINVSRCADR. Veja SOURCE_ADDRESS_WHITELIST.md para detalhes completos.
tps_limit
Limite de mensagens por segundo
Igual ao tps_limit do bind do cliente - controla a taxa de deliver_sm para os clientes conectados.
queue_check_frequency
Intervalo de polling da fila
Igual ao queue_check_frequency do bind do cliente - com que frequência verificar mensagens a serem entregues a este cliente.
enquire_link_interval
Intervalo de keepalive SMPP (segundos)
Igual ao enquire_link_interval do bind do cliente. Controla com que frequência o servidor envia PDUs enquire_link para os clientes conectados para verificar se eles ainda estão ativos.
enabled
Estado de ativação do peer
Igual ao enabled do bind do cliente. Peers de servidor desativados não aceitam conex��es de entrada.
cache_enabled
Ativar cache local de mensagens
Igual ao cache_enabled do bind do cliente. Veja MESSAGE_CACHE.md.
cache_max_size
Número máximo de mensagens em cache
Igual ao cache_max_size do bind do cliente.
cache_retry_interval
Intervalo base de nova tentativa (segundos)
Igual ao cache_retry_interval do bind do cliente.
Exemplo de UI Web:

Configuração de Escuta do Servidor
Quando os binds do servidor estão configurados, o gateway escuta por conexões de entrada.
Exemplo Completo de Escuta
config :omnimessage_smpp, :listen, %{
host: "0.0.0.0",
port: 2775,
max_connections: 100
}
Parâmetros de Escuta
host
Endereço IP para vincular
| Tipo | Requerido | Padrão | Valores Comuns |
|---|---|---|---|
| String | Não | "0.0.0.0" | "0.0.0.0", "127.0.0.1" |
Propósito: Em qual interface de rede escutar.
Valores:
"0.0.0.0"- Escutar em todas as interfaces (recomendado)"127.0.0.1"- Escutar apenas no localhost (teste)"192.168.1.10"- Escutar em IP específico
port
Porta TCP para escutar
| Tipo | Requerido | Padrão | Faixa |
|---|---|---|---|
| Inteiro | Não | 2775 | 1-65535 |
Propósito: Porta para conexões SMPP de entrada.
Padrão: 2775
max_connections
Número máximo de conexões simultâneas
| Tipo | Requerido | Padrão | Faixa |
|---|---|---|---|
| Inteiro | Não | 100 | 1-10000 |
Propósito: Limita o número total de conexões de cliente simultâneas.
Diretrizes:
- Defina com base nos clientes esperados
- Valores mais altos usam mais memória
- Típico: 10-100 conexões
Exemplos Completos de Configuração
Exemplo 1: Conexão de Operadora Única
import Config
config :omnimessage_smpp,
api_base_url: "https://smsc.company.com:8443",
verify_ssl_peer: true,
smsc_name: "smpp_prod"
config :omnimessage_smpp, :binds, [
%{
name: "att_primary",
mode: :client,
bind_type: :transceiver,
host: "smpp.att.com",
port: 2775,
system_id: "company_user",
password: "secure_pass_123",
tps_limit: 100,
queue_check_frequency: 1000
}
]
Exemplo 2: Múltiplas Operadoras
import Config
config :omnimessage_smpp,
api_base_url: "https://smsc.company.com:8443"
config :omnimessage_smpp, :binds, [
# América do Norte
%{
name: "att_us",
mode: :client,
bind_type: :transceiver,
host: "smpp.att.com",
port: 2775,
system_id: "att_username",
password: "att_password",
tps_limit: 100,
queue_check_frequency: 1000
},
# Europa
%{
name: "vodafone_uk",
mode: :client,
bind_type: :transceiver,
host: "smpp.vodafone.co.uk",
port: 2775,
system_id: "voda_username",
password: "voda_password",
tps_limit: 50,
queue_check_frequency: 1000
}
]
Exemplo 3: Gateway com Binds de Servidor
import Config
config :omnimessage_smpp,
api_base_url: "https://smsc.company.com:8443"
# Conexões de saída
config :omnimessage_smpp, :binds, [
%{
name: "upstream_carrier",
mode: :client,
bind_type: :transceiver,
host: "smpp.carrier.com",
port: 2775,
system_id: "my_username",
password: "my_password",
tps_limit: 100,
queue_check_frequency: 1000
}
]
# Definições de clientes de entrada
config :omnimessage_smpp, :server_binds, [
%{
name: "partner_alpha",
system_id: "alpha_corp",
password: "alpha_secret",
allowed_bind_types: [:transmitter, :receiver, :transceiver],
ip_whitelist: ["203.0.113.0/24"],
tps_limit: 50,
queue_check_frequency: 1000
},
%{
name: "partner_beta",
system_id: "beta_inc",
password: "beta_password",
allowed_bind_types: [:transceiver],
ip_whitelist: ["198.51.100.50"],
tps_limit: 25,
queue_check_frequency: 2000
}
]
# Escuta do servidor
config :omnimessage_smpp, :listen, %{
host: "0.0.0.0",
port: 2775,
max_connections: 100
}
Validação da Configuração
Após editar a configuração, valide antes de reiniciar:
Verificação de Sintaxe
# Verifique a sintaxe Elixir
/opt/omnimessage-smpp/bin/omnimessage-smpp eval "File.read!('config/runtime.exs')"
Se a sintaxe for inválida, você verá um erro. Corrija antes de reiniciar.
Testar Configuração
# Reinicie em primeiro plano para ver erros
sudo -u omnimessage-smpp /opt/omnimessage-smpp/bin/omnimessage-smpp console
Pressione Ctrl+C duas vezes para sair.
Variáveis de Ambiente
Todas as configurações globais podem ser substituídas por variáveis de ambiente. Defina estas em seu arquivo de unidade systemd ou ambiente de shell antes de iniciar o gateway.
| Variável de Ambiente | Chave de Configuração | Padrão | Descrição |
|---|---|---|---|
API_BASE_URL | api_base_url | "https://10.179.3.219:8443" | URL da plataforma OmniMessage Core |
SMSC_NAME | smsc_name | "smpp_gateway" | Identificador do gateway para registro no frontend |
SMPP_POLL_INTERVAL | smpp_poll_interval | 100 | Frequência de verificação da fila (milissegundos) |
VERIFY_SSL_PEER | verify_ssl_peer | false | Verificação de certificado SSL (true/false) |
CACHE_FLUSH_INTERVAL | cache_flush_interval | 10000 | Intervalo de polling do trabalhador de limpeza de cache (milissegundos) |
CACHE_MAX_RETRY_ATTEMPTS | cache_max_retry_attempts | 10 | Máximo de tentativas antes de marcar mensagem em cache como permanentemente falhada |
CACHE_BACKOFF_MULTIPLIER | cache_backoff_multiplier | 2 | Multiplicador de backoff exponencial para tentativas de cache |
MNESIA_STORAGE_TYPE | mnesia_storage_type | disc_copies | Tipo de armazenamento do banco de dados (disc_copies ou ram_copies) |
Exemplo de substituição systemd:
sudo systemctl edit omnimessage-smpp
[Service]
Environment="API_BASE_URL=https://omnimessage-core.company.com:8443"
Environment="SMSC_NAME=smpp_prod_01"
Environment="VERIFY_SSL_PEER=true"
Melhores Práticas de Segurança
-
Proteja o arquivo de configuração:
sudo chmod 600 /opt/omnimessage-smpp/config/runtime.exs
sudo chown omnimessage-smpp:omnimessage-smpp /opt/omnimessage-smpp/config/runtime.exs -
Use senhas fortes:
- Mínimo de 12 caracteres
- Misture letras, números, símbolos
- Única por conexão
-
Use listas brancas de IP:
- Sempre configure
ip_whitelistpara binds de servidor - Nunca use lista vazia
[]em produção
- Sempre configure
-
Ative a verificação SSL:
- Defina
verify_ssl_peer: truecom certificados válidos
- Defina
-
Rotação regular de credenciais:
- Altere senhas trimestralmente
- Coordene com operadoras/parceiros
Próximos Passos
- Revise MONITORING.md para configuração de métricas
- Leia USAGE.md para gerenciar conexões
- Veja TROUBLESHOOTING.md para problemas comuns
- Volte para README.md para visão geral