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.
bind_transceiverAprire e autenticare la sessionebind_transceiver_respSessione accettatasubmit_smInviare un messaggiosubmit_sm_respAccettato, ID messaggio restituitodeliver_smRicevuta di consegna o messaggio in entratadeliver_sm_respConfermatoenquire_linkKeepalive durante l'inattività
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.
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.
| Termine | Significato |
|---|---|
| ESME | External Short Message Entity — l'applicazione che si connette (il vostro mittente) |
| SMSC | Short Message Service Centre — il gateway dell'operatore/aggregatore |
| MC | Message Centre — il termine della v5.0 che generalizza l'SMSC |
| MT | Mobile-Terminated — un messaggio consegnato a un terminale |
| MO | Mobile-Originated — un messaggio inviato da un terminale all'ESME |
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.
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.
| Valore | Versione |
|---|---|
| 0x33 o inferiore | SMPP v3.3 o precedente |
| 0x34 | SMPP v3.4 |
| 0x50 | SMPP v5.0 |
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.
Specifiche della fonte
Gli standard pubblicati su cui si basa questa pagina. Si apre in una nuova scheda.