A rede SMS / O protocolo GSM SMS explicado
Se você opera serviços de SMS, é uma boa prática educar sua equipe sobre a rede SMS e o protocolo SMS usado para transferir mensagens dentro da rede móvel. Este guia ajuda você nesse aspecto. Ele fornece uma visão abrangente da infraestrutura SMS e do protocolo SMS usado dentro das redes móveis.
Índice- Termos e definições importantes (MS, SME, SMSC, MMI, PDU, SM-AL, SM-TL,...)
- Entidades da rede SMS
- Formato da unidade de dados do protocolo SMS (PDU)
- Codificação de texto SMS
- Exemplos de PDU
- Enviando PDUs usando modems
- O alfabeto SMS padrão
- Glossário
- MS: Estação Móvel
- SME: Entidade de Mensagem Curta
- SMSC: Centro de Serviço de Mensagem Curta
- MMI: Interface Homem-Máquina
- PDU: Unidades de Dados de Protocolo
- SM-AL: Camada de Aplicação de Mensagem Curta
- SM-TL: Camada de Transporte de Mensagem Curta
- SM-RL: Camada de Retransmissão de Mensagem Curta
- SM-LL: Camada de Enlace de Mensagem Curta
O MMI é baseado no conjunto de comandos do AT+Cellular e pode ser realizado por meio de um terminal (por exemplo, Win-Terminal, HyperTerminal, etc) ou no display de um celular.
O SM-TL fornece um serviço para a Camada de Aplicação de Mensagem Curta. Este serviço permite que o SM-AL transfira mensagens curtas para sua entidade par, receba mensagens curtas de sua entidade par e receba relatórios sobre solicitações anteriores de transferência de mensagens curtas. O SM-TL se comunica com sua entidade par usando seis PDUs (Unidades de Dados de Protocolo) diferentes:
- SMS-DELIVER, transmitindo uma mensagem curta do SMSC para o MS
- SMS-DELIVER-REPORT, transmitindo uma causa de falha (se necessário)
- SMS-SUBMIT, transmitindo uma mensagem curta do MS para o SMSC
- SMS-SUBMIT-REPORT, transmitindo uma causa de falha (se necessário)
- SMS-STATUS-REPORT, transmitindo um relatório de status do SMSC para o MS
- SMS-COMMAND, transmitindo um comando do MS para o SMSC
O modem SMS suporta os PDUs SMS-DELIVER e SMS-SUBMIT, conforme descrito nas seções a seguir.
2.1 SMS-DELIVER (Terminado no Móvel)

MTI bit 1 = 0
bit 0 = 0
2.2 SMS-SUBMIT (Originado no Móvel)
MTI bit 1 = 0
bit 0 = 1
! Atenção: Qualquer bit não utilizado será definido como zero pela entidade remetente e será ignorado pela entidade receptora !
SCA | Endereço do Centro de Serviço – elemento de informação | Número de telefone do Centro de Serviço |
---|---|---|
PDU Type | Tipo de Unidade de Dados de Protocolo | |
MR | Referência da Mensagem | Número sequencial (0-255) de todos os quadros SMS-SUBMIT definidos pelo modem |
OA | Endereço do Originador | Endereço do SME originador |
DA | Endereço do Destinatário | Endereço do SME destinatário |
PID | Identificador de Protocolo | Parâmetro que mostra ao SMSC como processar a SM (como FAX, voz, etc) |
DCS | Esquema de Codificação de Dados | Parâmetro que identifica o esquema de codificação dentro dos Dados do Usuário (UD) |
SCTS | Carimbo de Data e Hora do Centro de Serviço | Parâmetro que identifica o horário em que o SMSC recebeu a mensagem |
VP | Período de Validade | Parâmetro que identifica o tempo a partir do qual a mensagem não é mais válida no SMSC |
UDL | Comprimento dos Dados do Usuário | Parâmetro que indica o comprimento do campo UD |
UD | Dados do Usuário | Dados da SM |
RP | Caminho de Resposta | Parâmetro que indica que existe um Caminho de Resposta |
UDHI | Indicador de Cabeçalho dos Dados do Usuário | Parâmetro que indica que o campo UD contém um cabeçalho |
SRI | Indicação de Relatório de Status | Parâmetro que indica se o SME solicitou um relatório de status |
SRR | Solicitação de Relatório de Status | Parâmetro que indica se o MS solicitou um relatório de status |
VPF | Formato do Período de Validade | Parâmetro que indica se o campo VP está presente |
MMS | Mais Mensagens para Enviar | Parâmetro que indica se há mais mensagens para enviar |
RD | Rejeitar Duplicatas | |
MTI | Indicador de Tipo de Mensagem | Parâmetro que descreve o tipo de mensagem 00 significa SMS-DELIVER 01 significa SMS-SUBMIT |
Descrição do parâmetro
3.1 Elemento de informação do endereço do Centro de Serviço (elemento de informação SCA)
len:
O octeto "len" contém o número de octetos necessários para o número do Centro de Serviço mais o byte "tipo de número".
tipo de número:
81H: o número seguinte é nacional
91H: o número seguinte é internacional
(Para mais informações, consulte o capítulo 10.5.4.6 do GSM 04.08)
octeto:
Um octeto inclui dois campos de dígitos BCD. Se o número BCD da parte chamada contiver um número ímpar de dígitos, o último dígito deve ser preenchido com uma marca de fim codificada como "FH".
Exemplo:
se você tiver o número SC +61418706700, deve digitar:
style="font-size: 14.0pt">07911614786007F0
! Observação: Se o campo "len" for definido como Zero, o modem SMS assume o valor padrão do endereço do Centro de Serviço definido pelo comando AT+CSCA
3.2 Tipo de Unidade de Dados de Protocolo (PDU Type)
SMS-SUBMIT: SMS-DELIVER:
! Observação: você deve escrever o PDU-type em formato Hex, um exemplo possível é "11H" !
RP: 0 O parâmetro Reply Path não está definido neste PDU
1 O parâmetro Reply Path está definido neste PDU
UDHI: 0O campo UD contém apenas a mensagem curta
1 O início do campo UD contém um cabeçalho além da mensagem curta
SRI: (é definido apenas pelo SMSC)
0 Um relatório de status não será retornado ao SME
1 Um relatório de status será retornado ao SME
SRR: 0 Um relatório de status não é solicitado
1 Um relatório de status é solicitado
VPF: bit4 bit3
0 0 O campo VP não está presente
0 1 Reservado
1 0 O campo VP presente é representado por um inteiro (relativo)
1 1 O campo VP presente é representado por semi-octeto (absoluto)
quaisquer valores reservados podem ser rejeitados pelo SMSC
MMS: (é definido apenas pelo SMSC)
0 Mais mensagens estão esperando pelo MS no SMSC
1 Não há mais mensagens esperando pelo MS no SMSC
RD: 0 Instrui o SMSC a aceitar um SMS-SUBMIT para uma mensagem curta ainda mantida no SMSC que tenha o mesmo MR e DA de uma mensagem previamente enviada pelo mesmo OA.
1 Instrui o SMSC a rejeitar um SMS-SUBMIT para uma mensagem curta ainda mantida no SMSC que tenha o mesmo MR e DA de uma mensagem previamente enviada pelo mesmo OA.
MTI: bit1 bit0 Tipo de mensagem
0 0 SMS-DELIVER (SMSC ==> MS)
0 0 SMS-DELIVER REPORT (MS ==> SMSC, é gerado automaticamente pelo
modem, após receber um SMS-DELIVER)
0 1 SMS-SUBMIT (MS ==> SMSC)
0 1 SMS-SUBMIT REPORT (SMSC ==> MS)
1 0 SMS-STATUS REPORT (SMSC ==> MS)
1 0 SMS-COMMAND (MS ==> SMSC)
1 1 Reservado
(As linhas marcadas em negrito representam os recursos suportados pelo modem SMS)
! Observação: nem todo tipo de PDU é suportado pelo Centro de Serviço !
3.3 Referência de Mensagem (MR)

O campo MR fornece uma representação inteira (0..255) de um número de referência do SMS-SUBMIT enviado ao SMSC pelo MS.
Observação: no modem SMS, o MR é gerado automaticamente, - de qualquer forma, você deve gerá-lo - uma entrada possível é, por exemplo, "00H"
3.4 Endereço do Originador (OA) Endereço do Destinatário (DA)
OA e DA têm o mesmo formato explicado nas linhas a seguir:

len:
O octeto "len" contém o número de dígitos BCD
tipo de número:
81H: o número seguinte é nacional
91H: o número seguinte é internacional
(Para mais informações, consulte o capítulo 10.5.4.6 do GSM 04.08)
dígitos BCD:
O campo de dígitos BCD contém o número BCD do Destinatário, por exemplo, o Originador.
Se o número BCD da parte chamada contiver um número ímpar de dígitos, o último dígito deve ser preenchido com uma marca de fim codificada como "FH".
Exemplo:
se você tiver o número nacional 1234567, deve digitar:
style="font-size: 14.0pt">0781214365F7
3.5 Identificador de Protocolo (PID)
O PID é o elemento de informação pelo qual a Camada de Transporte se refere ao protocolo de camada superior sendo usado ou indica interação com um certo tipo de dispositivo telemático.
Aqui estão alguns exemplos de codificação PID:
00H: O PDU deve ser tratado como uma mensagem curta
01H: O PDU deve ser tratado como um telex
02H: O PDU deve ser tratado como um telefax grupo3
03H: O PDU deve ser tratado como um telefax grupo4
(Para mais informações, consulte o capítulo 9.2.3.9 do GSM 03.40)
! Observação: não é garantido que o SMSC suporte todas as codificações PID!
3.6 Esquema de Codificação de Dados (DCS)
O campo DCS indica o esquema de codificação de dados do campo UD (User Data) e pode indicar uma classe de mensagem. O octeto é usado de acordo com um grupo de codificação que é indicado nos bits 7..4. O octeto é então codificado da seguinte forma:
Grupo de codificação: Bits 7..4 |
bits 3..0 |
0000 |
Indicação de alfabeto Manuseio de mensagem não especificado no MS 0000 Alfabeto padrão (codificação de dados de 7 bits no User Data) 0001-1111 reservado |
0001-1110 |
Grupos de codificação reservados |
1111 |
Codificação de dados/classe de mensagem bit 3 é reservado, definido como 0 bit 2 (codificação de mensagem) 0 Alfabeto padrão (codificação de dados de 7 bits no User Data) 1 Codificação de dados de 8 bits no User Data bit 1 bit 0 (classe de mensagem) 0 0 Classe0 exibição imediata 0 1 Classe1 específica para ME (Mobile Equipment) 1 0 Classe2 mensagem específica para SIM style="margin-left: 3.6pt">1 1 Classe3 específica para TE (Terminate Equipment) |
O alfabeto padrão indica que o UD (User Data) é codificado a partir do alfabeto de 7 bits fornecido no apêndice A. Quando este alfabeto é usado, oito caracteres da mensagem são compactados em sete octetos, e a mensagem pode consistir em até 160 caracteres (em vez de 140 caracteres na codificação de dados de 8 bits)
Na codificação de dados de 8 bits, você pode se referir à tabela ASCII-HEX da INTEL.
Na Classe 0 (exibição imediata), a mensagem curta é escrita diretamente no display, como o modem SMS não tem display, a mensagem Classe 0 só pode ser realizada de forma indireta.
Nas Classes 1 a 3, a mensagem curta é armazenada em vários locais: ME, cartão SIM e TE.
Atualmente, a Classe 2 é suportada; se você escolher Classe 1 ou Classe 3, a mensagem curta será tratada da mesma forma que uma mensagem Classe 2.
! Nota: É recomendado usar a mensagem Classe2 ou o grupo de codificação "0000 bin" !
3.7 Carimbo de Tempo do Centro de Serviço (SCTS)
O SCTS é o elemento de informação pelo qual o SMSC informa o MS destinatário sobre o tempo de chegada da mensagem curta na entidade da Camada de Transporte do SMSC. O valor de tempo é incluído em cada SMS-DELIVER entregue ao SMSC e representa o horário local da seguinte forma:

O Fuso Horário indica a diferença, expressa em quartos de hora, entre o horário local e o GMT (Greenwich Mean Time).
3.8 Período de Validade (VP)
O Período de Validade é o elemento de informação que dá a um MS que envia um SMS-SUBMIT ao SMSC a possibilidade de incluir um valor de período de tempo específico na mensagem curta. O valor do parâmetro Período de Validade indica o período de tempo para o qual a mensagem curta é válida, ou seja, por quanto tempo o SMSC deve garantir sua existência na memória do SMSC antes que a entrega ao destinatário seja realizada.
O campo VP é dado em representação inteira ou de semi-octeto. No primeiro caso, o VP compreende 1 octeto, fornecendo a duração do período de validade, contado a partir do momento em que o SMS-SUBMIT é recebido pelo SMSC. No segundo caso, o VP compreende 7 octetos, fornecendo o tempo absoluto do término do período de validade. No primeiro caso, a representação do tempo é a seguinte:
Valor VP | Valor do período de validade |
---|---|
0-143 | (VP + 1) x 5 minutos (ou seja, intervalos de 5 minutos até 12 horas) |
144-167 | 12 horas + ((VP-143) x 30 minutos) |
168-196 | (VP-166) x 1 dia |
197-255 | (VP - 192) x 1 semana |
No segundo caso, a representação do tempo é idêntica à representação do SCTS (Carimbo de Tempo do Centro de Serviço).
O caso de representação é definido no VPF (Formato do Período de Validade) no tipo PDU.
3.9 Comprimento dos Dados do Usuário (UDL) e Dados do Usuário (UD)
O campo UDL fornece uma representação inteira do número de caracteres dentro do campo User Data a seguir.
Exemplos de PDU
Aqui estão dois exemplos de como enviar uma mensagem curta com AT+Cellular (consulte o Apêndice B para mais detalhes sobre como enviar as mensagens SMS):
Primeiro, insira o número PIN e o Endereço do Centro de Serviço:
at+cpin="XXXX"insira o número PIN OK at+csca="+61418706700" insira o Endereço do Centro de Serviço (Telstra) OK
1º exemplo:
at+cmgs=18 insira ”enviar mensagem”, 18 é o comprimento real da PDU mensagem em octeto > 0011000A81 4090793444 00000105E8329BFD06
digite a PDU (SMS-SUBMIT) e termine com ”ctrl Z” os caracteres em fonte fina são o Endereço de Destino, por exemplo, o próprio número de telefone (0409974344) o endereço do Centro de Serviço é o mesmo definido pelo comando at+csca
+CMGS: 0 OK at+cpms?as mensagens estão armazenadas no cartão SIM?
+CPMS: "SM" , 1 , 7 , "SM" , 1 , 7 neste cartão SIM há 1 mensagem armazenada OK você pode armazenar no máximo 7 mensagens at+cmgr=1ler a mensagem armazenada na posição 1
+CMGR: 0,,24 07911614786007F0040B911604994743F400009930139100406B05E8329BFD06 Esta é uma PDU (SMS- OK -DELIVER) enviada pelo
Centro de Serviço
2º exemplo:
at+cmgw=18 escrever mensagem na memória do cartão SIM > 07911614786007F011000781409079344400F6AA0568656C6C6F digite a PDU (SMS-SUBMIT) e termine com ”ctrl Z” os caracteres em fonte fina são o Endereço de Destino, por exemplo, o próprio número de telefone (0409974344). O Endereço do Centro de Serviço é „+61418706700“ +CMGW: 2 OK at+cmgr=2 ler a mensagem armazenada na posição 2Apêndice A - Alfabeto Padrão+CMGR: 2,,18
07911614786007F011000A81407008090500F6010568656C6C6F esta é a PDU armazenada na posição 2
OK
at+cmss=2 enviar a mensagem armazenada na posição 2
+CMSS: 3 OK at+cmss=2,“0407485455“,129 enviar a mensagem armazenada na posição 2 para o endereço de destino nacional (129 = 81H) „0407485455“ at+cmss=2,“+61419877302“,145 enviar a mensagem armazenada na posição 2 para o endereço de destino internacional (145 = 91H) „+61419877302“ at+cpms? as mensagens estão armazenadas no cartão SIM?+CPMS: "SM" , 3 , 7 , "SM" , 3 , 7 neste cartão SIM há 3 mensagens armazenadas
OK você pode armazenar no máximo 7 mensagens
at+cmgr=3 ler a mensagem armazenada na posição 3
+CMGR: 0,,24 07911614786007F0040B911604994743F400009930139100406B05E8329BFD06 Esta é uma PDU (SMS- OK -DELIVER) enviada pelo Centro de Serviço

Abreviações:
- MS Estação Móvel
- SME Entidade de Mensagem Curta
- SMSC Centro de Serviço de Mensagem Curta
- MMI Interface Homem-Máquina
- PDUs Unidades de Dados de Protocolo
- SM-AL Camada de Aplicação de Mensagem Curta
- SM-TL Camada de Transporte de Mensagem Curta
- SM-RL Camada de Retransmissão de Mensagem Curta
- SM-LL Camada de Ligação de Mensagem Curta
- PDU Type Tipo de Unidade de Dados de Protocolo
- MR Referência de Mensagem
- OA Endereço do Originador
- DA Endereço de Destino
- PID Identificador de Protocolo
- DCS Esquema de Codificação de Dados
- SCTS Carimbo de Tempo do Centro de Serviço
- VP Período de Validade
- UDL Comprimento dos Dados do Usuário
- UD Dados do Usuário
- RP Caminho de Resposta
- UDHI Indicador de Cabeçalho de Dados do Usuário
- SRI Indicação de Relatório de Status
- SRR Solicitação de Relatório de Status
- VPF Formato do Período de Validade
- MMS Mais Mensagens para Enviar
- RD Rejeitar Duplicata
- MTI Indicador de Tipo de Mensagem
- ME Equipamento Móvel
- TE Equipamento Terminal
- SIM Módulo de Identidade do Assinante
- 0 falha no telefone
- 1 sem conexão com o telefone
- 2 link adaptador-telefone reservado
- 3 operação não permitida
- 4 operação não suportada
- 5 PIN PH-SIM necessário
- 10 SIM não inserido
- 11 PIN do SIM necessário
- 12 PUK do SIM necessário
- 13 falha no SIM
- 14 SIM ocupado
- 15 SIM incorreto
- 16 senha incorreta
- 20 memória cheia
- 21 índice inválido
- 22 não encontrado
- 23 falha na memória
- 24 string de texto muito longa (+CPBW)
- 25 caracteres inválidos na string de texto
- 26 string de discagem muito longa
- 27 caracteres inválidos na string de discagem
- 30 sem serviço de rede
- 31 tempo limite da rede
- 100 desconhecido
- 265 PUK para proteção contra roubo necessário
- 266 PUK2 para SIM necessário
- 267 PIN2 para SIM necessário
Escolher o SMSC correto
Para usar o SMS você precisa declarar o número do Centro de Serviço de Mensagens Curtas (SMSC) na Estação Móvel (MS), desde que a MS suporte o Serviço de Mensagens Curtas Originadas no Móvel (SMS-MO).
O modem SMS suporta SMS-MO.
Os números de SMSC para cada país podem ser encontrados na tabela Endereço do Centro de Serviço de SMS.No modem SMS, você insere o número do SMSC com o comando AT+Celular:
at+csca = ”<número-SMSC>”
Se o destinatário do SMS possuir um cartão SIM da Telstra, o comando AT deve ser inserido da seguinte forma:
at+csca = "+61418706700"
Com o comando
at+csca?
você pode consultar o número atual do SMSC.
! Observação: Além do comando AT+CSCA, é possível inserir o número do SMSC antes da Unidade de Dados de Protocolo (PDU).
More information
- Protocolo SMS explicado
- Introdução ao Modo PDU SMS