Como configurar o campo Service Type do SMPP

O campo service_type no protocolo SMPP (Short Message Peer-to-Peer) define o tipo de serviço de mensagens solicitado ao enviar uma mensagem. Este campo aparece em vários PDUs do SMPP, como submit_sm, data_sm e submit_multi.

Detalhes do Campo

  • Nome do Campo: service_type
  • Tipo de Dados: C-Octet String (ASCII terminado em nulo)
  • Tamanho Máximo: 6 caracteres (incluindo o terminador nulo)
  • Propósito: Categorizar a mensagem sendo enviada (ex.: correio de voz, WAP push, etc.)

Valores Comuns

Embora service_type seja opcional e frequentemente deixado em branco (string nula), ele pode ser usado para solicitar tratamento específico da mensagem. Aqui estão os valores comuns:

ValorDescrição
null ou ""SMS padrão (sem tratamento especial)
"CMT"Mensagens Celulares
"CPT"Paging Celular
"VMN"Notificação de Correio de Voz
"VMA"Alerta de Correio de Voz
"WAP"Mensagem de Wireless Application Protocol
"USSD"Mensagem USSD

Valores Personalizados

Alguns operadores ou SMSCs podem suportar valores personalizados como "OTP" ou "PROMO" para acionar regras especiais de roteamento, filtragem ou cobrança.

Exemplo de Uso em um PDU

Abaixo está um PDU submit_sm do SMPP com service_type = "CMT":

0000003F  // Comprimento do Comando (63 bytes)
00000004  // ID do Comando (submit_sm)
00000000  // Status do Comando
00000001  // Número de Sequência
434D54    // service_type: "CMT" em ASCII
00        // Terminador nulo
01        // source_addr_ton: Internacional
01        // source_addr_npi: ISDN
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
05        // sm_length: 5
48656C6C6F // short_message: "Hello"

Quando Usar service_type

  • Quando instruído pelo seu provedor de SMS para fins de roteamento.
  • Para categorizar mensagens (ex.: alertas, promoções, 2FA).
  • Para ativar serviços como notificações de correio de voz ou WAP Push.
  • Para acionar lógicas especiais de cobrança ou entrega.

Notas Importantes

  • Deixar service_type em branco é padrão, a menos que seja exigido o contrário.
  • Alguns SMSCs podem ignorar ou substituir este campo.
  • Valores incorretos podem levar a rejeições de mensagens ou falhas na entrega.

Conclusão

O campo service_type no SMPP é uma forma flexível, mas muitas vezes opcional, de classificar mensagens SMS. Embora muitos sistemas usem o valor padrão vazio, certas aplicações—especialmente aquelas que requerem tratamento especial pelo SMSC—podem se beneficiar de definir explicitamente este campo.

Referências

  • Especificação SMPP 3.4 (Seção 4.7)
  • Documentação SMPP específica do fornecedor (ex.: Twilio, Infobip, Syniverse)

More information