BroadNet
SMPP Hub tematico

Il protocollo SMPP spiegato

Definizione

SMPP (Short Message Peer-to-Peer) è il protocollo TCP aperto che trasporta gli SMS A2P tra un'applicazione — l'ESME — e l'SMSC di un operatore mobile. L'ESME apre un bind persistente, invia messaggi come submit_sm PDUs binari e riceve le ricevute di consegna tramite lo stesso socket.

Sintesi tratta da Come funziona il protocollo SMPP?

Ultimo aggiornamento 9 termini chiave

Come funziona

  1. 1

    Bind

    L'ESME apre una connessione TCP (idealmente TLS) e invia bind_transceiver con un system_id e una password. Può effettuare il bind come Transmitter, Receiver o Transceiver; un bind Transceiver su SMPP 3.4 è lo standard moderno.

    Leggi la risposta completa
  2. 2

    Submit

    Ogni messaggio viene inviato come un PDU submit_sm e l'SMSC conferma con un submit_sm_resp che contiene un message_id. La window — ovvero quanti PDUs possono essere in transito senza conferma — è l'elemento che più spesso limita il throughput reale.

    Leggi la risposta completa
  3. 3

    Ricevere ricevute di consegna

    Le ricevute di consegna arrivano in modo asincrono come PDUs deliver_sm sullo stesso socket e vengono ricondotte al messaggio originale tramite message_id.

    Leggi la risposta completa
  4. 4

    Mantenere attiva la sessione

    Un heartbeat enquire_link ogni 30 secondi mantiene attivo il bind; il client si riconnette con un backoff esponenziale e l'unbind chiude la sessione in modo pulito. Un submit fallito restituisce un command_status numerico da decodificare.

    Leggi la risposta completa

Termini chiave

Ogni termine dispone di una propria pagina di approfondimento con la spiegazione completa.

Domande frequenti

Quando è preferibile scegliere SMPP rispetto a REST?

Scegli SMPP se invii in modo continuativo diverse centinaia di messaggi al secondo o ti servono bind persistenti (la capacità per bind è concordata con il tuo account team), se esegui OTP a bassa latenza in cui ogni millisecondo conta, o se ti integri in un ecosistema di operatori/aggregatori che già utilizza SMPP ovunque. Altrimenti un'API REST per SMS (nessun limite di velocità fisso per account su BroadNet) è più semplice da gestire e utilizza gli stessi percorsi.

Leggi la risposta completa

Dovrei utilizzare SMPP 5.0 per una nuova integrazione?

Quasi mai. Utilizza SMPP 3.4 su TLS a meno che una controparte specifica non richieda la versione 5.0. La base installata, gli strumenti e il supporto degli operatori si basano tutti sulla versione 3.4, e la 5.0 non offre alcun vantaggio in termini di deliverability sulle rotte A2P commerciali.

Leggi la risposta completa

Il protocollo SMPP 5.0 garantisce una migliore trasmissione dei messaggi rispetto alla versione 3.4?

No. La deliverability dipende dal percorso dell'operatore, non dalla versione SMPP. Le funzionalità migliorate dalla versione 5.0 (intestazioni Unicode, TLV di fatturazione) sono generalmente gestite a livello applicativo, al di sopra della versione 3.4.

Leggi la risposta completa

Come faccio a inviare messaggi in arabo o emoji tramite SMPP 3.4?

Imposta data_coding su UCS-2 (0x08) oppure trasporta il corpo in un TLV message_payload. La versione 3.4 gestisce correttamente i contenuti Unicode; non è necessaria la versione 5.0.

Leggi la risposta completa

Quale tipo di binding e quale porta devo utilizzare?

Il binding del transceiver su TLS è lo standard per A2P: invia submit_sm e riceve DLR su un unico socket. BroadNet offre connessioni SMPP 3.4; host, porta e credenziali sono forniti con l'accesso di prova.

Leggi la risposta completa