Como configurar o campo sm_default_msg_id

O campo sm_default_msg_id faz parte das PDUs submit_sm e deliver_sm no protocolo SMPP (Short Message Peer-to-Peer). Ele é usado para referenciar mensagens curtas pré-definidas (incorporadas) armazenadas no SMSC, geralmente por um ID numérico.

Detalhes do Campo

  • Nome do Campo: sm_default_msg_id
  • Tamanho: 1 byte (inteiro sem sinal)
  • Intervalo: 0–255
  • Uso: Indica qual mensagem padrão enviar (se houver)

Descrição do Uso

O campo sm_default_msg_id permite que um usuário solicite que o SMSC envie uma mensagem pré-definida de seu armazenamento interno de mensagens. Isso pode ser útil em ambientes restritos ou para enviar mensagens padrão do sistema sem transmitir o texto completo todas as vezes.

Comportamento Padrão

  • Se sm_default_msg_id = 0, então o conteúdo da mensagem definido pelo usuário em short_message é usado.
  • Se sm_default_msg_id > 0, então a mensagem com esse ID é usada, e o campo short_message deve geralmente estar vazio ou ser ignorado pelo SMSC.

Prática Comum

Na maioria dos sistemas e APIs modernos de SMS, o sm_default_msg_id não é usado e geralmente é definido como 0. O conteúdo real da mensagem é enviado via campo short_message.

Exemplo de PDU com Valor Padrão

0000003B  // Comprimento do Comando (59 bytes)
00000004  // ID do Comando: submit_sm
00000000  // Status do Comando
00000001  // Número de Sequência
00        // service_type
01        // source_addr_ton
01        // source_addr_npi
31323334  // source_addr ("1234")
00
01        // dest_addr_ton
01        // dest_addr_npi
35363738  // destination_addr ("5678")
00
00        // esm_class
00        // protocol_id
00        // priority_flag
00        // schedule_delivery_time
00        // validity_period
00        // registered_delivery
00        // replace_if_present_flag
00        // data_coding
00        // sm_default_msg_id = 0 (usar short_message)
05        // sm_length
48656C6C6F // short_message = "Hello"

Exemplo de PDU com ID de Mensagem Pré-definida

...
00        // sm_default_msg_id = 1 (usar mensagem pré-definida 1)
00        // sm_length
(vazio)   // short_message está vazio ou é ignorado

Quando Usar

Embora raro, você pode usar sm_default_msg_id quando:

  • Trabalhando com implementações legadas de SMSC que suportam mensagens pré-definidas
  • Enviando alertas ou modelos de sistema repetitivos em alto volume armazenados no SMSC
  • Seu provedor de SMS recomendar o uso desse recurso

Considerações Importantes

  • Se sm_default_msg_id > 0, alguns SMSCs podem ignorar completamente o short_message.
  • Se ambos forem usados, o comportamento é específico da implementação. Sempre teste ou consulte a documentação.
  • Definir um valor diferente de zero sem um ID de mensagem pré-definida válido pode resultar em falha de entrega ou rejeição da mensagem.

Conclusão

O campo sm_default_msg_id é um recurso legado do protocolo SMPP que permite referenciar modelos de mensagens padrão armazenados no SMSC. Embora seja pouco usado em sistemas modernos, entender seu papel ajuda a garantir compatibilidade ao trabalhar com gateways legados ou implementações personalizadas de SMSC.

Referências

  • Especificação do Protocolo SMPP 3.4
  • Documentação específica do fornecedor para SMSC SMPP

More information