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 emshort_messageé usado. - Se
sm_default_msg_id > 0, então a mensagem com esse ID é usada, e o camposhort_messagedeve 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 oshort_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