BroadNet
SMPPFundamentos

Visão geral do protocolo SMPP

Atualizado em 3 min de leituraBaseado em padrões
Resposta direta

O SMPP (Short Message Peer-to-Peer) é um protocolo aberto, binário e assente em TCP para trocar SMS entre uma aplicação externa (ESME) e um Short Message Service Centre (SMSC). É a interface padrão para mensagens A2P de elevado débito por ser com estado, de baixa latência e suportar relatórios de entrega nativamente.

DiagramaUma sessão SMPP entre a sua plataforma e BroadNet
A sua plataforma (ESME)
BroadNet SMSC
Uma conexão TCP/TLS persistente
  1. bind_transceiverAbrir e autenticar a sessão
  2. bind_transceiver_respSessão aceita
  3. submit_smEnviar uma mensagem
  4. submit_sm_respAceito, ID da mensagem devolvida
  5. deliver_smRelatório de entrega ou mensagem recebida
  6. deliver_sm_respConfirmado
  7. enquire_linkKeepalive em modo ocioso
§01

O que é o SMPP e porque existe

O SMPP é um protocolo aplicacional de nível 7 que permite a uma aplicação de mensagens trocar mensagens curtas com um SMSC ou gateway de encaminhamento. Onde uma API REST é conveniente para baixos volumes, o SMPP é uma sessão binária persistente que evita a sobrecarga de HTTP por mensagem, sustenta milhares de mensagens por segundo numa única ligação e transporta operações de submit, entrega, consulta, substituição e cancelamento, além de relatórios de entrega assíncronos. É agnóstico quanto à rede subjacente — o SMSC trata da entrega via SS7/MAP, SIGTRAN ou IP até ao terminal. Publicado inicialmente pela Aldiscon/Logica no final da década de 1990, é hoje mantido pelo SMPP Developers Forum; a v3.4 (1999) continua a ser a versão mais implementada.

§02

O ESME e o SMSC

Os dois pares são o ESME (External Short Message Entity — a sua aplicação) e o SMSC (Short Message Service Centre — o gateway do operador ou agregador). O ESME abre uma ligação TCP à porta de escuta do SMSC (a porta 2775 registada na IANA para texto simples) e autentica-se com um bind. Apesar do nome 'peer-to-peer', a relação é tipicamente cliente (ESME) para servidor (SMSC); qualquer dos lados pode originar PDUs quando a sessão está bound, o que é como o SMSC envia mensagens originadas no terminal e relatórios de entrega de volta ao ESME.

Papéis numa sessão SMPP
TermoSignificado
ESMEExternal Short Message Entity — a aplicação que se conecta (o seu remetente)
SMSCShort Message Service Centre — o gateway da operadora/agregador
MCMessage Centre — o termo da v5.0 que generaliza o SMSC
MTMobile-Terminated — uma mensagem entregue a um aparelho
MOMobile-Originated — uma mensagem enviada de um aparelho para o ESME
§03

Modelo de sessão e transporte

O SMPP corre sobre uma única ligação TCP de longa duração. Após o handshake TCP, o ESME envia um PDU de bind; num bind_resp bem-sucedido a sessão entra no estado bound e permanece aberta indefinidamente, mantida viva com PDUs enquire_link periódicos. As operações são pares pedido/resposta correlacionados pelo sequence_number, e vários pedidos podem estar pendentes em simultâneo (modo com janela / assíncrono) até um tamanho de janela negociado. A sessão termina com uma troca de unbind ou com o fecho da ligação TCP. O SMPP não tem cifra incorporada; a confidencialidade é acrescentada correndo a sessão sobre TLS.

§04

Versões: v3.3, v3.4 e v5.0

Na prática interessam três versões. A v3.3 é legada e raramente usada. A v3.4 introduziu o bind transceiver e os parâmetros opcionais TLV, sendo hoje o padrão de facto da indústria. A v5.0 é retrocompatível com a v3.4 e acrescenta sinalização de controlo de congestão, operações de broadcast e estados de mensagem adicionais, mas está menos implementada. A versão negociada é transportada no campo interface_version do bind: 0x34 para a v3.4 e 0x50 para a v5.0.

Valores de interface_version
ValorVersão
0x33 ou inferiorSMPP v3.3 ou anterior
0x34SMPP v3.4
0x50SMPP v5.0
Perguntas frequentes

Perguntas frequentes

O SMPP ainda é usado em 2026?

Sim. O SMPP continua a ser o protocolo dominante para SMS A2P de elevado volume entre aplicações, agregadores e SMSCs de operador. As APIs REST assentam sobre o SMPP por conveniência, mas a interligação com a operadora é quase sempre SMPP sobre TCP, normalmente protegido com TLS.

Que porta usa o SMPP?

O valor por omissão registado na IANA é a porta TCP 2775 para SMPP em texto simples. Não existe uma única porta TLS normalizada, pelo que os fornecedores expõem uma porta separada com TLS (por exemplo 3550 ou uma porta por conta) para binds cifrados. Use sempre a porta que o seu fornecedor aprovisionar.

Qual é a diferença entre SMPP e SMTP?

Não têm relação. O SMTP transporta e-mail; o SMPP transporta SMS entre aplicações e um SMSC. Os acrónimos semelhantes causam confusão, mas os protocolos não partilham desenho, portas nem formato de mensagem.

Preciso de SMPP ou basta uma API REST de SMS?

Uma API REST é mais simples e adequada para volumes baixos a moderados e integração rápida. O SMPP compensa em elevado débito, onde uma sessão binária persistente dá menor latência, maior TPS sustentado e relatórios de entrega nativos e em tempo real na mesma ligação.

Referências

Especificações de origem

Os padrões publicados nos quais esta página se baseia. Abre num novo separador.

BNMantido pela equipa de engenharia BroadNet·Mensagens de nível de operadora desde 2003
Coloque-o no fio.

Construa com uma vinculação SMPP real e uma API REST.

Solicite acesso de teste com chaves de teste reais: envie primeiro para o seu próprio número verificado e, em seguida, passe para o ambiente de produção em mais de 200 países assim que a sua identidade de remetente e rotas forem aprovadas.