Skip to content

Ferramentas de cliente e servidor SMPP para testes

Bibliotecas de cliente SMPP open source, servidores e simuladores para testes, e um método passo a passo para testar uma conexão SMPP.

Atualizado em 20 outubro 2026

Para testar uma conexão SMPP, você precisa de um cliente SMPP (para fazer bind em um provedor e enviar mensagens) e, no desenvolvimento, de um servidor ou simulador SMPP (para aceitar binds sem enviar SMS reais). Opções open source conhecidas incluem Jasmin e Kannel como gateways completos, e bibliotecas como jSMPP, Cloudhopper SMPP, python-smpplib, node-smpp e gosmpp para scripts e ferramentas próprias.

O que é um cliente SMPP?

Um cliente SMPP (o ESME, na terminologia SMPP) abre uma conexão TCP com um servidor SMPP, faz bind com system ID e senha, envia mensagens com submit_sm e recebe os recibos de entrega como deliver_sm. A sua plataforma de SMS é um cliente em relação a cada rota upstream. Um cliente de teste é a mesma coisa em versão pequena e controlável: você o usa para verificar credenciais, tipos de bind, limites de TPS, codificação e recibos antes de conectar o tráfego de produção. Contexto: o que é SMPP.

O que é um simulador de servidor SMPP?

Um simulador de servidor SMPP aceita binds como um SMSC, confirma as mensagens enviadas e pode devolver recibos de entrega falsos, mas não entrega nada em celulares reais. Ele permite que os desenvolvedores testem o cliente, a lógica de retentativa e o tratamento de DLR sem gastar dinheiro nem mexer em redes reais. Nunca confunda os recibos do simulador com os reais: só a rota real pode mostrar a entrega de verdade. Veja DLR falso para entender por que isso importa em produção.

Ferramentas SMPP open source

Estes projetos existem de fato e são usados ativamente (verifique a licença e a situação de manutenção de cada projeto antes de depender dele):

FerramentaLinguagemClienteServidorBom para
JasminPythonSimSimGateway SMS open source completo com SMPP e HTTP, roteamento e imagem Docker. Útil como servidor SMPP local para testes.
KannelCSimVia complementoGateway SMS e WAP open source veterano que se conecta a SMSCs por SMPP e outros protocolos.
jSMPPJavaSimSimBiblioteca com suporte a SMPP 3.3, 3.4 e 5.0; também usada pelo componente SMPP do Apache Camel.
Cloudhopper SMPPJavaSimSimBiblioteca para clientes e servidores; o repositório principal não é atualizado há vários anos.
python-smpplibPythonSimNãoScripts de teste rápidos: bind, envio, leitura de recibos.
node-smppNode.jsSimSimPequenos servidores e clientes de teste em JavaScript.
gosmppGoSimNãoBiblioteca de cliente SMPP 3.4 para serviços em Go.

Para capturar tráfego, o Wireshark decodifica PDUs SMPP, o que ajuda quando você precisa ver exatamente o que foi enviado em um bind ou em um submit_sm. Também existem clientes desktop comerciais e simuladores de SMSC hospedados; avalie-os da mesma forma.

Como testar uma conexão SMPP?

Teste nesta ordem: rede, bind, envio, recibo, throughput. A maioria das configurações que falham para nos dois primeiros passos por causa da whitelist de IP, de porta errada ou de tipo de bind errado.

  1. Rede. Confirme que o seu IP está na whitelist e que o host e a porta estão acessíveis (um simples teste de conexão TCP basta).
  2. Bind. Faça bind com o system ID, a senha, o system type (muitas vezes vazio) e o tipo de bind que o provedor informou (TX, RX ou TRX). Uma falha de bind devolve um erro como senha inválida ou system ID inválido.
  3. Envio. Envie uma mensagem para o seu próprio celular com o sender ID, o TON/NPI e o data_coding combinados, com registered_delivery configurado para pedir recibo.
  4. Recibo. Verifique se o recibo de entrega chega com o mesmo message ID e um status final. Compare com o celular.
  5. Keep-alive. Deixe o bind ocioso e confirme que o enquire_link o mantém ativo.
  6. Throughput. Envie no TPS contratado e observe se aparecem erros de throttling.

Os significados dos erros estão em códigos de erro SMPP; os limites de bind e de TPS em binds SMPP e TPS.

Servidor SMPP gratuito para testes: quais são as opções?

A opção gratuita mais simples é rodar localmente um gateway open source como o Jasmin (ele vem como imagem Docker) e apontar o seu cliente para ele, ou escrever um pequeno servidor com node-smpp ou jSMPP que aceite binds e devolva recibos. Isso cobre os testes de protocolo. Para testar a entrega, nada substitui uma rota real e celulares reais em cada operadora: veja como testar uma rota SMS.

Escolhendo entre SMPP e HTTP para a sua integração

Se o seu volume é pequeno, uma HTTP API pode ser mais fácil do que manter binds SMPP. Se você revende ou envia alto volume, o SMPP é o padrão. Compare em SMPP vs HTTP para SMS e o que é um gateway SMS.

Como obter uma rota SMPP real

Quando o seu cliente funciona com um simulador, você precisa de um upstream real. O VoIPMatcher obtém rotas SMS A2P via SMPP junto às suas operadoras e as gerencia. Solicite uma rota SMPP para testes e produção.

Perguntas frequentes

Existe um cliente SMPP online que eu possa usar?

Alguns fornecedores oferecem clientes SMPP de teste na web e simuladores de SMSC hospedados. Cuidado ao colocar credenciais de produção em sites de terceiros, porque qualquer pessoa que as tenha pode enviar tráfego cobrado de você. Para binds reais, um cliente local feito com uma biblioteca open source, ou o seu próprio gateway, mantém as credenciais sob o seu controle.

Posso rodar um servidor SMPP no Docker?

Sim. O Jasmin, um gateway SMS open source com servidor SMPP, publica uma imagem Docker, e pequenos servidores de teste feitos com bibliotecas como node-smpp ou jSMPP são fáceis de colocar em contêiner. Isso é útil para desenvolvimento e testes automatizados, mas esse servidor não entrega em celulares reais a menos que esteja conectado a rotas reais.

Por que meu bind SMPP falha?

Causas comuns são um endereço IP fora da whitelist do provedor, host ou porta errados, system ID ou senha incorretos, tipo de bind errado ou binds demais já abertos na conta. O código de erro da resposta ao bind indica a causa. Verifique primeiro a conectividade de rede, depois as credenciais e os limites de bind.

O que é enquire_link no SMPP?

Enquire_link é a PDU de keep-alive do SMPP. Qualquer um dos lados a envia periodicamente, muitas vezes a cada 30 a 60 segundos, e o outro lado precisa responder. Ela mantém conexões ociosas abertas através de firewalls e permite que cada lado detecte rapidamente um link morto para reconectar em vez de perder mensagens.

Como testar o throughput SMPP?

Depois de um bind bem-sucedido e de um teste com uma única mensagem, envie uma rajada controlada no número de mensagens por segundo contratado para uma faixa de teste combinada com o provedor, e observe se aparecem erros de throttling e tempos de resposta crescentes. Aumente aos poucos. Teste todos os seus binds juntos, já que os limites podem valer por conta além de por bind.

Precisa de uma rota?

Envie o destino, o tipo de rota e a tarifa alvo. Respondemos com o que podemos entregar.

Mais guias

Todos os guias
SMS A2P Rotas de SMS diretas: o que são e como verificar O que é uma rota de SMS direta, por que entrega melhor que rotas indiretas ou cinzas, quando o OTP precisa de uma e como verificar se o fornecedor é direto. SMS A2P Lista MCC MNC: códigos de país e de rede móvel O que são os códigos MCC e MNC, exemplos da lista MCC MNC, como identificam redes móveis e como provedores de SMS os usam para preço e roteamento. SMS A2P API de validação de números: HLR, MNP e tipo de linha O que uma API de validação de números de telefone devolve: checagem de formato, tipo de linha, consultas MNP e HLR, diferenças e como escolher um provedor. SMS A2P O que é SMPP? O protocolo SMPP explicado O que é o protocolo SMPP, como funcionam binds e PDUs SMPP, o que é um servidor SMPP e quando usar SMPP em vez de uma HTTP API de SMS. SMS A2P RCS vs SMS para mensagens corporativas RCS vs SMS para empresas: recursos, alcance no Android e no iPhone em 2026, modelos de preço, comparação com MMS e quando manter o SMS como fallback. SMS A2P Taxa de entrega de SMS: referências, latência e monitoramento Como calcular a taxa de entrega e a latência de SMS, o que é uma taxa de entrega normal, causas comuns de resultados ruins e como monitorar as rotas. SMS A2P Verificação por flash call: como funciona e comparação com SMS Como funciona a verificação por flash call, como ela se compara ao SMS OTP e os riscos de operadora, fraude e plataforma a avaliar antes de usar. SMS A2P Consulta HLR (HLR lookup): o que é e como funciona O que uma consulta HLR retorna, como difere da consulta MNP, se mostra a localização e como quem envia SMS a usa para rotear, limpar listas e combater fraude.