BroadNet
O JornalEngenharia
Engenharia

Como um SMS é encaminhado na prática: SMSC, ESME e o caminho de entrega A2P explicados.

Como funciona um SMSC? Acompanhe um SMS A2P de ponta a ponta — bind ESME via SMPP, submit_sm, armazenamento e encaminhamento, consulta ao HLR, entrega do MT ao aparelho e o retorno do DLR.

10 min de leitura
Engenharia · Edição 12
10 min de leitura

m SMS A2P percorre um caminho definido: a sua aplicação se conecta a um SMSC ou agregador via SMPP como um ESME e emite um comando submit_sm; o SMSC armazena a mensagem, consulta o HLR da operadora de destino para localizar o MSC de serviço do assinante, entrega a mensagem ao aparelho (MT) e devolve um relatório de entrega pela mesma cadeia. Cada salto pode degradar a entrega, o ID do remetente ou o recibo.

Quer a versão resumida primeiro? Veja a nossa resposta sobre o que é um SMSC. Este artigo é um guia completo sobre o assunto.

O elenco de personagens

Antes de traçar o caminho, é útil nomear os componentes e o que cada um faz. Três siglas resumem a maior parte da história: SMSC, ESME e HLR. Duas direções importam: MT e MO.

SMSC — o mecanismo de armazenamento e encaminhamento

O Centro de Serviço de Mensagens Curtas (SMSC) é o servidor do lado da operadora que aceita uma mensagem, armazena-a e a encaminha para o destinatário — o nó definido em torno do protocolo de transferência de SMS na especificação 3GPP TS 23.040. Ele não é um mero repetidor: retém a mensagem até que o aparelho esteja acessível, tenta reenviá-la dentro de um período de validade e gera o relatório de status. Quando você envia uma mensagem por meio de um agregador, está se comunicando com o SMSC dele (ou com um gateway à frente de um); a operadora de destino executa o seu próprio SMSC, que realiza a entrega final.

ESME — a sua aplicação na rede

Uma Entidade Externa de Mensagens Curtas (ESME, na sigla em inglês) é qualquer aplicação que se conecta a um SMSC para enviar ou receber SMS — o seu serviço de OTP, a sua plataforma de campanhas, o seu sistema de alertas. Por meio do protocolo SMPP, a ESME abre uma sessão TCP persistente com um bind (transmissor, recetor ou transceptor) e, em seguida, envia um submit_sm para transmitir. O SMSC responde com um submit_sm_resp contendo um message_id e, posteriormente, envia um deliver_sm de volta para a ESME para mensagens recebidas e relatórios de entrega. A ESME é o cliente; o SMSC é o servidor.

MT vs MO — qual a direção do fluxo de mensagens

Mensagens de destino móvel (MT) são mensagens entregues a um aparelho — a direção de quase todo o tráfego A2P: um código OTP, um alerta, uma atualização de envio que chega a um telefone. Mensagens de origem móvel (MO) são mensagens enviadas por um assinante a partir de um aparelho, que é como respostas bidirecionais, cancelamentos de palavras-chave e solicitações de parada chegam ao seu ESME como um deliver_sm. Um relatório de entrega (DLR) utiliza o caminho de retorno MT, mesmo que o fluxo regresse para você.

ComponentePapel no processo de entrega
Aplicação / ESMEO seu software se conecta ao SMSC via SMPP e emite o comando submit_sm para enviar mensagens MT.
SMSC (lado do agregador)Aceita, valida e armazena a mensagem; seleciona uma rota para a operadora de destino; devolve o `message_id` e, posteriormente, o DLR.
Hub de interconexão/SMSTransporta a mensagem entre o agregador e a operadora de destino através de um ou mais saltos.
Operadora de término SMSCRecebe a mensagem na rede da operadora e realiza a entrega final ao assinante.
HLRBanco de dados de assinantes residenciais; responde à pergunta "onde este número está a ser atendido neste momento?" com o endereço MSC/VLR de atendimento.
MSC / VLRA central telefónica que atende o assinante atualmente; aciona o aparelho e entrega a mensagem MT.
Aparelho (MS)Recebe a mensagem e envia uma confirmação que se torna o comprovativo de entrega.

Armazenar e encaminhar: porque existe o SMSC

O SMS é assíncrono por natureza. O destinatário pode estar desligado, fora da área de cobertura ou numa chamada sem janela de sinalização disponível. Em vez de falhar, o SMSC aceita a mensagem, a armazena e assume a responsabilidade pela entrega — isso é o que chamamos de armazenamento e encaminhamento. Ele tenta entregar a mensagem e, se o assinante estiver inacessível, a enfileira e tenta novamente de acordo com um cronograma até que a entrega seja bem-sucedida ou o período de validade da mensagem expire. Quando a rede sinaliza posteriormente que o aparelho está disponível novamente, o SMSC é instruído a tentar mais uma vez. Essa durabilidade é o objetivo principal de uma central de mensagens e é por isso que um SMS "enviado" ainda não é um SMS "entregue" — dois estados que o seu feed DLR deve manter separados.

Rastrear um SMS A2P da aplicação para o aparelho

Aqui está o percurso completo de uma única mensagem MT — por exemplo, um código OTP de login enviado de um banco em Riade para um assinante numa rede do GCC — desde o seu código até o telefone e de volta.

  1. A sua aplicação se autentica e abre uma conexão SMPP com o agregador/SMSC como um ESME e, em seguida, envia um submit_sm contendo o MSISDN de destino, o ID do remetente, a codificação e o texto.
  2. O SMSC valida e armazena a mensagem, atribui um message_id e a devolve no submit_sm_resp. Nesse ponto, a mensagem é aceita, não entregue.
  3. O SMSC seleciona uma rota para a operadora de destino — idealmente uma interconexão direta, caso contrário, um caminho através de um ou mais hubs de SMS.
  4. A mensagem chega ao SMSC da operadora de destino na rede de destino.
  5. Esse SMSC consulta o HLR da operadora (um MAP SendRoutingInfoForSM) para descobrir onde o assinante está a ser atendido no momento — o endereço do MSC/VLR que está a servir.
  6. O HLR devolve as informações de encaminhamento; o SMSC encaminha a mensagem (MT-ForwardSM) para esse MSC.
  7. O MSC servidor envia uma mensagem ao aparelho através da rede de rádio e entrega a mensagem (a entrega MT).
  8. O aparelho confirma a receção; a confirmação é propagada de volta e o SMSC de destino gera um relatório de entrega.
  9. O comprovativo de entrega regressa pela interconexão até o SMSC do agregador, que o envia para o seu ESME como um deliver_sm (ou um webhook) contendo o message_id original e um status final.

As etapas de sinalização 5 a 7 — a pesquisa HLR e o MT-ForwardSM para o switch servidor — ocorrem dentro do núcleo SS7/Diameter da operadora, usando as operações MAP da rede móvel. Você nunca as vê diretamente, mas elas são o motivo pelo qual uma mensagem pode ser "aceita" em milissegundos, embora demore mais para ser efetivamente entregue: a rede de destino precisa localizar um assinante em movimento antes de poder entregá-la.

O HLR: localizando um assinante em movimento

O Registo de Localização Inicial (HLR) é o banco de dados principal da identidade e localização atual de um assinante na sua rede doméstica. Como as pessoas se deslocam e transitam entre switches, o SMSC de destino não pode presumir onde um número está a ser atendido — ele consulta o HLR, que devolve o MSC/VLR de serviço para que a mensagem possa ser encaminhada para o switch correto. Essa é a mesma consulta usada, por si só, para validação de número: uma consulta ao HLR informa se um número está ativo, portado ou em roaming antes mesmo do envio. Quando o encaminhamento é limpo, essa consulta representa uma única troca de sinalização interna; quando uma mensagem atravessa várias redes intermediárias primeiro, a consulta só ocorre após todos esses saltos, o que adiciona latência e mais pontos de falha.

Rotas diretas versus agregação multi-hop

O caminho descrito acima é o ideal: o seu ESME para um SMSC que, pela sua vez, repassa a interconexão direta para a operadora de destino. Na realidade, porém, o caminho costuma ser mais longo. Numa rota de agregação com múltiplos saltos, a mensagem passa por uma cadeia de revendedores e hubs de SMS antes de chegar à rede de destino — e cada salto é um nó que pode reescrever, atrasar ou descartar algo. Três aspetos se degradam à medida que os saltos se acumulam:

  • Confiabilidade: cada intermediário é uma fila diferente, um firewall diferente e uma parte diferente cuja rota até a operadora pode ser uma rota cinzenta, bloqueada sem aviso prévio. Mais saltos significam maior variação na taxa de entrega.
  • Preservação do Sender-ID: IDs de remetente alfanuméricos e cabeçalhos registados podem ser sobrescritos ou removidos por um intermediário, de modo que uma mensagem enviada como se fosse da sua marca pode chegar a partir de um número longo partilhado — um risco real nos mercados do GCC, onde as operadoras exigem IDs de remetente pré-registados.
  • Fidelidade do DLR: um comprovativo de entrega genuíno da operadora perde o significado ao longo dos saltos. Os intermediários podem devolver um "entregue" no nível do gateway que significa apenas "eu repassei", não que o aparelho o recebeu, então o seu relatório de status deixa de refletir a realidade.

Por isso, o número de saltos entre a sua API e a operadora de destino é a pergunta mais útil a se fazer a um fornecedor. Uma rota direta preserva o ID do remetente, devolve um DLR de nível de operadora e completa a sequência HLR-para-dispositivo sem intermediários. Operadoras e empresas que precisam visualizar toda a cadeia — aceita, encaminhada, entregue, recebida — dependem de uma visualização ESME e CDR que reconcilia cada submit_sm com o seu DLR final e de um gateway SMSC de nível de operadora que termina o tráfego diretamente em vez de revendê-lo.

A BroadNet opera rotas diretas desde 2003 — 1,000+ conexões de operadoras em 200+ países (direto à operadora em 86 deles) com um SLA de plataforma de 99,99%, suportando até 30.000 SMS/seg por nó. Se você se conectar como um ESME via SMPP ou terminar através do nosso gateway SMSC, você obtém encaminhamento com relatórios de entrega em nível de operadora, não uma cadeia de múltiplos saltos que silenciosamente reescreve o seu ID de remetente.

Perguntas frequentes

Como um SMSC entrega um SMS?

O SMSC utiliza o método de armazenamento e encaminhamento: ele aceita e armazena a mensagem, consultando em seguida o HLR da operadora de destino para encontrar o MSC/VLR de serviço do assinante. Em seguida, encaminha a mensagem (MT-ForwardSM) para esse switch, que aciona o aparelho e a entrega. Se o aparelho estiver inacessível, o SMSC coloca a mensagem em fila e tenta novamente dentro do período de validade, gerando então um comprovativo de entrega.

O que é uma ESME?

Uma ESME (Entidade Externa de Mensagens Curtas) é qualquer aplicação que se conecta a um SMSC para enviar ou receber SMS — um serviço de OTP, uma plataforma de campanhas, um sistema de alertas. Ela se vincula ao SMSC via SMPP como um cliente e emite o comando submit_sm para enviar mensagens com destino a dispositivos móveis, enquanto o SMSC envia o comando deliver_sm de volta para receber respostas e relatórios de entrega. Em resumo: a ESME é o seu software na rede.

Qual é o caminho que um SMS A2P percorre da aplicação até o telemóvel?

A aplicação se conecta a um agregador/SMSC como um ESME e envia o comando submit_sm. O SMSC armazena a mensagem e a encaminha — diretamente ou via hubs de SMS — para o SMSC da operadora de destino. Esse SMSC consulta o HLR do MSC servidor, encaminha a mensagem para lá e o switch envia uma mensagem para o aparelho (a entrega MT). O reconhecimento do aparelho regressa como um relatório de entrega na mesma cadeia.

Referências

Isso foi útil?

Como escrevemos e revemos os conteúdos

Escrito por

Equipa Editorial da BroadNet

A Equipa Editorial publica o blog da BroadNet. Os artigos são escritos com as equipas da BroadNet de assuntos regulatórios, produto, engenharia, pesquisa de mercado e soluções para operadoras, e revisados segundo os nossos padrões editoriais.

O jornal, por e-mail

Um ensaio por mês. Nada mais.

Assine e enviaremos o próximo conteúdo — sobre engenharia, regulamentação ou indústria — no mesmo dia em que for publicado. Sem campanhas de e-mail marketing, sem propaganda de produtos, sem partilha com terceiros. Cancele a assinatura com um clique.

Enviamos um e-mail por mês. Cancele quando quiser. Veja nossa política de privacidade.

O que você vai receber
  • Texto longo, não isca para cliques
    De seis a onze minutos de escrita concentrada sobre um único tópico.
  • Escrito por operadores
    Engenheiros, responsáveis pela área regulatória e redação de produtos, tudo feito internamente.
  • Consciente da região
    Uma visão sobre reguladores, operadores e mix de canais com base na região MENA.
  • Uma vez por mês
    Sem campanhas de gotejamento. Um ensaio quando houver apenas um para partilhar.
Pare de ler. Comece a enviar.

A maior parte do que escrevemos aprendemos na prática.

Se você se identificou com este texto, provavelmente deveríamos conversar. Traga o seu caso de uso, os volumes, os mercados — e nós apresentaremos encaminhamento, preços e um cliente de referência para você contactar.

$ curl -X POST https://api.broadnet.me/sms/sendSms