BroadNet
SMPPFondamenti

Panoramica del protocollo SMPP

Aggiornato il 3 min di letturaBasato su standard
Risposta diretta

SMPP (Short Message Peer-to-Peer) è un protocollo aperto, binario e basato su TCP per lo scambio di SMS tra un'applicazione esterna (ESME) e un Short Message Service Centre (SMSC). È l'interfaccia standard per la messaggistica A2P ad alto throughput perché è stateful, a bassa latenza e supporta nativamente le ricevute di consegna.

DiagrammaUna sessione SMPP tra la vostra piattaforma e BroadNet
La vostra piattaforma (ESME)
BroadNet SMSC
Una connessione TCP/TLS persistente
  1. bind_transceiverAprire e autenticare la sessione
  2. bind_transceiver_respSessione accettata
  3. submit_smInviare un messaggio
  4. submit_sm_respAccettato, ID messaggio restituito
  5. deliver_smRicevuta di consegna o messaggio in entrata
  6. deliver_sm_respConfermato
  7. enquire_linkKeepalive durante l'inattività
§01

Che cos'è SMPP e perché esiste

SMPP è un protocollo applicativo di livello 7 che consente a un'applicazione di messaggistica di scambiare messaggi brevi con un SMSC o un gateway di instradamento. Laddove un'API REST è comoda per volumi ridotti, SMPP è una sessione binaria persistente che evita l'overhead HTTP per ogni messaggio, sostiene migliaia di messaggi al secondo su una singola connessione e trasporta le operazioni di submit, consegna, query, replace e cancel, oltre alle ricevute di consegna asincrone. È agnostico rispetto alla rete sottostante: l'SMSC gestisce la consegna al terminale tramite SS7/MAP, SIGTRAN o IP. Pubblicato per la prima volta da Aldiscon/Logica alla fine degli anni '90, è oggi mantenuto dallo SMPP Developers Forum; la v3.4 (1999) resta la versione più diffusa.

§02

L'ESME e l'SMSC

I due peer sono l'ESME (External Short Message Entity — la vostra applicazione) e l'SMSC (Short Message Service Centre — il gateway dell'operatore o dell'aggregatore). L'ESME apre una connessione TCP verso la porta in ascolto dell'SMSC (la 2775 registrata presso IANA per il traffico in chiaro) e si autentica con un bind. Nonostante il nome 'peer-to-peer', la relazione è tipicamente da client (ESME) a server (SMSC); una volta stabilita la sessione, entrambe le parti possono originare PDU, ed è così che l'SMSC inoltra all'ESME i messaggi mobile-originated e le ricevute di consegna.

Ruoli in una sessione SMPP
TermineSignificato
ESMEExternal Short Message Entity — l'applicazione che si connette (il vostro mittente)
SMSCShort Message Service Centre — il gateway dell'operatore/aggregatore
MCMessage Centre — il termine della v5.0 che generalizza l'SMSC
MTMobile-Terminated — un messaggio consegnato a un terminale
MOMobile-Originated — un messaggio inviato da un terminale all'ESME
§03

Modello di sessione e trasporto

SMPP opera su una singola connessione TCP a lunga durata. Dopo l'handshake TCP l'ESME invia una PDU di bind; con un bind_resp positivo la sessione entra in stato bound e resta aperta a tempo indeterminato, mantenuta attiva da PDU enquire_link periodiche. Le operazioni sono coppie richiesta/risposta correlate dal sequence_number e più richieste possono essere in sospeso contemporaneamente (modalità con finestra / asincrona), fino a una window size negoziata. La sessione termina con uno scambio di unbind o con la chiusura del TCP. SMPP non prevede cifratura integrata; la riservatezza si ottiene facendo transitare la sessione su TLS.

§04

Versioni: v3.3, v3.4 e v5.0

Nella pratica contano tre versioni. La v3.3 è legacy e raramente usata. La v3.4 ha introdotto il bind transceiver e i parametri opzionali TLV ed è oggi lo standard di fatto del settore. La v5.0 è retrocompatibile con la v3.4 e aggiunge la segnalazione di controllo della congestione, le operazioni di broadcast e ulteriori stati del messaggio, ma è meno diffusa. La versione negoziata è trasportata nel campo interface_version del bind: 0x34 per la v3.4 e 0x50 per la v5.0.

Valori di interface_version
ValoreVersione
0x33 o inferioreSMPP v3.3 o precedente
0x34SMPP v3.4
0x50SMPP v5.0
FAQ

Domande frequenti

SMPP è ancora utilizzato nel 2026?

Sì. SMPP resta il protocollo dominante per gli SMS A2P ad alto volume tra applicazioni, aggregatori e SMSC degli operatori. Le API REST si appoggiano su SMPP per comodità, ma l'interconnessione verso l'operatore è quasi sempre SMPP su TCP, di norma protetto con TLS.

Quale porta usa SMPP?

Il valore predefinito registrato presso IANA è la porta TCP 2775 per SMPP in chiaro. Non esiste un'unica porta TLS standardizzata, quindi i provider espongono una porta separata abilitata al TLS (ad esempio la 3550 o una porta dedicata all'account) per i bind cifrati. Usate sempre la porta fornita dal vostro provider.

Qual è la differenza tra SMPP e SMTP?

Sono protocolli distinti. SMTP trasporta la posta elettronica; SMPP trasporta SMS tra applicazioni e un SMSC. Gli acronimi simili generano confusione, ma i due protocolli non condividono design, porte né formato dei messaggi.

Mi serve SMPP o basta un'API SMS REST?

Un'API REST è più semplice e va bene per volumi da bassi a moderati e per un'integrazione rapida. SMPP si rivela vantaggioso ad alto throughput, dove una sessione binaria persistente offre latenza inferiore, TPS sostenuto più elevato e ricevute di consegna native e in tempo reale sulla stessa connessione.

Riferimenti

Specifiche della fonte

Gli standard pubblicati su cui si basa questa pagina. Si apre in una nuova scheda.

BNGestito dal team di ingegneri BroadNet·Servizi di messaggistica di livello carrier dal 2003
Mettilo sul filo

Realizzato con un vero binding SMPP e un'API REST.

Richiedi l'accesso di prova con chiavi di test reali: invia prima al tuo numero verificato, poi passa alla produzione in oltre 200 paesi una volta approvata l'identità del mittente e i percorsi.