Como configurar o campo Prioridade SMPP

O que é o Campo Prioridade?

O Flag de Prioridade no SMPP (Short Message Peer-to-Peer Protocol) é um campo de 1 byte em PDUs SMPP como submit_sm e deliver_sm. Ele indica a urgência de uma mensagem, influenciando como os SMSCs (Short Message Service Centers) lidam com filas, tentativas de entrega e roteamento. Principais casos de uso incluem:

  • Priorizar alertas de emergência sobre SMS promocionais
  • Otimizar a alocação de recursos da rede
  • Cumprir requisitos de SLA para mensagens de alta prioridade

Valores e Interpretação do Campo Prioridade

Definido no SMPP v3.4, o flag de prioridade usa um valor de 4 bits (embora apenas os valores 0-3 sejam normalmente usados):

Prioridade (Hex) Decimal Descrição
0x00 0 Prioridade mais baixa (mensagens em massa)
0x01 1 Prioridade normal (SMS padrão)
0x02 2 Prioridade interativa (sensível ao tempo)
0x03 3 Prioridade mais alta (alertas de emergência)
Nota: Os valores 0x04-0x0F são reservados. A maioria dos SMSCs ignora esses bits.

Como a Prioridade Afeta o Tratamento da Mensagem

1. Comportamento de Fila

Mensagens de alta prioridade avançam nas filas do SMSC. Exemplo:

Prioridade 3: Entregue antes de mensagens com Prioridade 0
    

2. Tentativas de Entrega

Prioridades mais altas podem receber mais tentativas de entrega. Exemplo de política SMSC:

Prioridade 3: 5 tentativas em 24 horas
Prioridade 0: 2 tentativas em 2 horas
    

3. Roteamento de Rede

Alguns SMSCs roteiam mensagens de alta prioridade por canais dedicados.

Exemplos de PDUs SMPP

Exemplo 1: SMS em Massa (Prioridade=0x00)

0000001D  // Comprimento do Comando (29 bytes)
00000004  // ID do Comando (SubmitSM)
00000001  // Número de Sequência
00        // TON da Origem
00        // NPI da Origem
736F7572636500  // Endereço de Origem ("source")
00        // TON do Destino
00        // NPI do Destino
36353433323100  // Endereço de Destino ("654321")
00        // Classe ESM
00        // ID do Protocolo (PID)
00        // Flag de Prioridade (0x00: Mais baixa)
00        // Tempo de Entrega Agendada
00        // Período de Validade
00        // Entrega Registrada
00        // Substituir-se-Presente
00        // Codificação de Dados (DCS=0x00)
00        // ID Padrão de Mensagem SM
07        // Comprimento SM (7 septets)
C8329BFD06DDDF72  // Conteúdo ("Olá!")
    

Exemplo 2: Alerta de Emergência (Prioridade=0x03)

0000001D  // Comprimento do Comando (29 bytes)
00000004  // ID do Comando (SubmitSM)
00000002  // Número de Sequência
00        // TON da Origem
00        // NPI da Origem
736F7572636500  // Endereço de Origem ("source")
00        // TON do Destino
00        // NPI do Destino
36353433323100  // Endereço de Destino ("654321")
00        // Classe ESM
00        // ID do Protocolo (PID)
03        // Flag de Prioridade (0x03: Mais alta)
00        // Tempo de Entrega Agendada
FF        // Período de Validade (máximo)
01        // Entrega Registrada (recibo)
00        // Substituir-se-Presente
00        // Codificação de Dados (DCS=0x00)
00        // ID Padrão de Mensagem SM
0A        // Comprimento SM (10 septets)
E8329BFD0E...  // Conteúdo ("ALERTA: Inundação!")
    

Interações com Outros Campos

  • Bits de Prioridade da Classe ESM: Os bits 3-2 da Classe ESM podem substituir este campo em alguns SMSCs.
  • validity_period: Mensagens de alta prioridade geralmente têm validade mais curta (ex.: 1 hora vs 3 dias).
  • registered_delivery: Mensagens com Prioridade 3 frequentemente exigem recibos de entrega.

Armadilhas Comuns

  • Assumir que todos os SMSCs respeitam níveis de prioridade (verifique com o provedor)
  • Confundir Prioridade SMPP com TP-Status-Report-Indication do GSM
  • Definir Prioridade=3 para conteúdo não emergencial (pode violar regulamentações)
  • Incompatibilidade entre Prioridade e validity_period (ex.: Prioridade=3 com validity=7 dias)
Nota Regulatória:
Alguns países restringem o uso de Prioridade=3 a entidades autorizadas (ex.: alertas governamentais).

Prioridade vs Bits de Prioridade da Classe ESM

Campo Bits Níveis de Prioridade Uso Típico
Flag de Prioridade SMPP Octeto inteiro 0-3 Prioridade ponta a ponta
Classe ESM (bits 3-2) 2 bits 00=Normal, 01=Interativo, 10=Urgente, 11=Emergência Priorização em nível de rede

Conclusão

O campo Prioridade é crucial para gerenciar a urgência da entrega de SMS, mas requer coordenação cuidadosa com as capacidades do SMSC e regulamentações. Sempre teste o comportamento de prioridade com seu provedor e alinhe as configurações com as diretrizes locais de telecomunicações. Para implementações detalhadas, consulte a Seção 5.2.12 do SMPP v3.4 e a documentação do GSM 03.40.

More information