# Simulador de sessão SMPP.

- URL canónico: https://www.broadnet.me/pt/tools/smpp-simulator
- Idioma: pt
- Última atualização: 2026-10-21
- Editor: BroadNet (https://www.broadnet.me)
- Versão Markdown da página, gerada a partir da página publicada.

Ferramenta gratuita para desenvolvedores · Protocolo

Acompanhe uma conversa SMPP 3.4 real — o PDU que um ESME e um SMSC trocam, byte a byte. Selecione qualquer PDU para ver os seus campos mapeados nos octetos da rede.

**Isso nunca transmite uma mensagem.**

Tudo nesta página é processado no seu navegador. Não há conexão de rede, nenhuma requisição à BroadNet ou a qualquer outra entidade, e nenhuma mensagem de qualquer tipo é enviada para qualquer rede. Os IDs das mensagens e os registos de data e hora são derivados das suas entradas, portanto, as mesmas entradas sempre produzem a mesma saída — são apenas ilustrativas, não reais.

não vinculado

## Sessão

## Mensagem

segmentos 1 × 160

Fits one PDU (160 characters at this encoding).

## Comportamento SMSC

O caso normal: bind aceito, mensagem aceita, o recibo indica DELIVRD.

fio — ESME ⇄ SMSC 0 PDU

ESME SMSC

Ainda não há nada na rede. Execute a sessão para monitorizar o PDU de uma troca ESME e de uma troca SMSC e, em seguida, selecione qualquer uma delas para ver os seus bytes.

## Como uma sessão SMPP realmente funciona

1. **1 · Vincular.** A sua aplicação abre uma conexão TCP com o SMSC e envia o comando bind_transceiver com um system_id e uma palavra-passe. Até que o SMSC responda com command_status 0, nenhuma outra comunicação será aceita.
2. **2 · Enviar.** Cada mensagem é uma PDU submit_sm. A resposta fornece um message_id — que é uma aceitação, não uma entrega.
3. **3 · Recibo.** Se você solicitou um, o SMSC posteriormente envia um deliver_sm contendo esm_class 0x04 e um corpo de recibo que faz referência a esse message_id.
4. **4 · Manter vivo.** enquire_link a cada 30–60 segundos comprova que o socket ainda está utilizável. Se essa solicitação for perdida, o SMSC desconectará você.
5. **5 · Desvincular.** Encerre a ligação educadamente para que a operadora não a considere uma desconexão anormal.

## Perguntas que os engenheiros fazem

**Este simulador envia SMS de verdade?**

Não. Nada nesta página abre uma conexão ou envia uma mensagem para qualquer lugar. Cada PDU e cada resposta SMSC é calculada no seu navegador a partir dos valores que você digita, portanto, as mesmas entradas sempre produzem a mesma transcrição. É uma ferramenta de aprendizagem sobre o protocolo, não uma ferramenta de envio.

**O que é um bind em SMPP?**

Um bind é o handshake de sessão entre um ESME (a sua aplicação) e o SMSC (a central de mensagens da operadora). O bind_transmitter só pode enviar dados, o bind_receiver só pode receber dados e o bind_transceiver faz ambos numa única conexão — que é o que a maioria das integrações utiliza. Nenhum outro dado é aceito na sessão até que o bind seja bem-sucedido.

**O que faz o registered_delivery?**

Definir registered_delivery como 1 solicita ao SMSC que confirme o resultado final. Essa confirmação chega posteriormente como um PDU deliver_sm separado, contendo esm_class 0x04 — o relatório de entrega — que faz referência ao message_id fornecido em submit_sm_resp. Sem ele, você fica a saber apenas que o SMSC aceitou a mensagem, não que um aparelho a recebeu.

**Porque a minha mensagem se divide em vários segmentos?**

Um único PDU SMS transporta 160 caracteres no alfabeto GSM-7 ou 70 no UCS-2. Textos mais longos são concatenados: cada parte cede 6 octetos para um cabeçalho de dados do utilizador, permitindo que o aparelho os remonte, resultando em 153 ou 67 caracteres por segmento. Um caractere árabe ou um emoji força toda a mensagem a usar o formato UCS-2, razão pela qual uma mensagem em árabe com 100 caracteres ocupa dois segmentos.

**Qual a diferença entre submit_sm_resp e um comprovativo de entrega?**

submit_sm_resp é síncrono e significa apenas que o SMSC aceitou a PDU e atribuiu a ela um `message_id`. O comprovativo de entrega chega de forma assíncrona, geralmente segundos ou minutos depois, e informa o resultado real — ENTREGUE, NÃO ENTREGUE, EXPIRADO, REJEITADO. Tratar submit_sm_resp como comprovativo de entrega é o erro mais comum numa primeira integração SMPP.

**O que é uma janela SMPP e porque ela limita a minha taxa de transferência?**

A janela define quantas PDU você pode ter enviado, mas não confirmado, numa conexão num determinado momento. Como SMPP é assíncrono, você não espera por cada submit_sm_resp antes de enviar o próximo — mas a janela limita o quanto você pode avançar na comunicação. Se mantida no valor padrão de 1, a conexão se degrada para solicitação/resposta e a sua taxa de transferência cai para uma mensagem por ida e volta, independentemente da taxa acordada com o operador.

[Decodifique uma PDU real que você capturou.](https://www.broadnet.me/pt/tools/smpp-pdu-decoder) [Referência de código de erro SMPP](https://www.broadnet.me/pt/tools/smpp-error-codes) [Visão geral do protocolo SMPP](https://www.broadnet.me/pt/reference/smpp-protocol-overview) [Curso de fundamentos SMPP](https://www.broadnet.me/pt/academy/smpp-fundamentals) [Conectar-se à BroadNet via SMPP](https://www.broadnet.me/pt/developers/smpp)
