O campo DCS do SMPP (e codificação de caracteres SMPP)
Esta página oferece informações sobre como codificar o campo DCS do SMPP.
Como o Ozeki SMS Gateway codifica o campo DCS do SMPP
Na maioria dos cenários, você não precisa configurar manualmente o campo DCS dos PDUs do SMPP. O Ozeki SMS Gateway faz isso por você. Para controlar como o Ozeki SMS Gateway faz a codificação, você pode configurar o alfabeto padrão no formulário de configuração do Cliente SMPP (Figura 1).
Neste formulário, você pode definir o conjunto de caracteres preferido ou solicitar que o Ozeki SMS Gateway use um valor fixo para o parâmetro DCS no PDU do SMS.
O que é o Campo DCS do SMPP?
O Esquema de Codificação de Dados (DCS) no SMPP (Short Message Peer-to-Peer Protocol) é um campo de 1 byte dentro dos PDUs (Unidades de Dados de Protocolo) do SMPP. Ele define como a carga útil da mensagem é codificada, permitindo a interpretação adequada pela entidade receptora. O DCS especifica:
- Codificação de caracteres (por exemplo, GSM-7, UCS2, binário de 8 bits)
- Classe da mensagem (por exemplo, SMS Flash)
- Flags de compactação
Estrutura e Máscara de Bits do DCS
O DCS é uma máscara de bits onde cada grupo de bits tem um propósito específico:
Bits | Descrição |
---|---|
7-6 | Grupo de Codificação: Determina o tipo geral de codificação. |
5-4 | Alfabeto: Especifica o conjunto de caracteres (se Grupo de Codificação = 00). |
3-0 | Classe da Mensagem/Flags: Indica o tipo de mensagem (por exemplo, Flash) ou compactação. |
Valores do Grupo de Codificação
Grupo de Codificação (Bits 7-6) | Descrição |
---|---|
00 | Codificação de Dados Geral (alfabeto especificado nos bits 5-4) |
01 | Reservado |
10 | Codificação UCS2 (16 bits) |
11 | Codificação de Dados/Classe de Mensagem (por exemplo, SMS Flash) |
Exemplos de Valores DCS
DCS (Hex) | Descrição | Binário |
---|---|---|
0x00 | Alfabeto Padrão GSM-7 | 00000000 |
0x04 | Dados Binários de 8 bits | 00000100 |
0x08 | UCS2 (Unicode) | 00001000 |
0x10 | SMS Flash (GSM-7) | 00010000 |
0xF0 | SMS Flash (UCS2) | 11110000 |
Exemplos de PDUs SMPP com DCS
Exemplo 1: SubmitSM com Codificação GSM-7 (DCS=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 00 // Prioridade 00 // Horário 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 // Mensagem Curta ("Hello!")
Exemplo 2: SubmitSM com Codificação UCS2 (DCS=0x08)
00000024 // Comprimento do Comando (36 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 00 // Prioridade 00 // Horário de Entrega Agendada 00 // Período de Validade 00 // Entrega Registrada 00 // Substituir-se-Presente 08 // Codificação de Dados (DCS=0x08) 00 // ID Padrão de Mensagem SM 0C // Comprimento SM (12 bytes) 00480065006C006C006F0021 // "Hello!" em UCS2
Exemplo 3: SMS Flash (DCS=0x10)
0000001D // Comprimento do Comando (29 bytes) 00000004 // ID do Comando (SubmitSM) 00000003 // 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 00 // Prioridade 00 // Horário de Entrega Agendada 00 // Período de Validade 00 // Entrega Registrada 00 // Substituir-se-Presente 10 // Codificação de Dados (DCS=0x10: SMS Flash) 00 // ID Padrão de Mensagem SM 07 // Comprimento SM (7 septets) C8329BFD06DDDF72 // Mensagem Curta ("Hello!")
Conclusão
O campo DCS é crítico para garantir que as mensagens SMS sejam codificadas e exibidas corretamente. As implementações podem variar, então consulte a especificação SMPP (v3.4 ou v5.0) para detalhes precisos sobre a máscara de bits. O uso adequado do DCS evita erros de codificação e garante compatibilidade entre SMSCs.
More information
- Como configurar o campo Tipo de serviço SMPP
- Como configurar os campos de número de telefone SMPP
- Como configurar o campo Classe ESM do SMPP
- Como configurar o campo PID do SMPP
- Como configurar o campo de prioridade do SMPP
- Como configurar o campo de tempo agendado do SMPP
- Como configurar o campo de período de validade do SMPP
- Como configurar o campo de entrega registrada do SMPP
- Como configurar o campo Substituir se presente do SMPP
- Como configurar o campo sm_default_msg_id
- Como configurar o campo DCS do SMPP
- Como calcular o campo de comprimento SM do SMPP
- Como inserir dados no campo SM SMPP