Risposta breve
Per collegarvi a un provider SMS tramite SMPP, richiedete un bind e registrate i vostri indirizzi IP di origine, poi aprite una connessione TLS verso host e porta forniti. Inviate bind_transceiver con system_id e password, trasmettete i messaggi con submit_sm, confermate ogni rapporto deliver_sm e inviate enquire_link con regolarità per mantenere attiva la sessione.
Cosa vi fornisce il provider
L’accesso SMPP di solito viene attivato dal provider, non in autonomia. Comunicategli i paesi di destinazione, i Sender ID, il picco di volume previsto e gli indirizzi IP pubblici da cui vi collegherete.
| Elemento | Cos’è |
|---|---|
| Host e porta TLS | Il punto a cui si collega il vostro client |
| system_id e password | Credenziali di bind; conservatele come segreti |
| system_type | Di solito vuoto, a meno che il provider indichi un valore |
| Bind e throughput | Quante sessioni potete aprire e la velocità concordata per ogni bind |
| Lista IP consentiti | Solo gli IP di origine registrati possono eseguire il bind |
Aprire e gestire la sessione
Un bind transceiver invia e riceve su una sola sessione. Usate bind transmitter e receiver separati solo se il vostro client lo richiede.
- Aprite una connessione TLS verso host e porta ricevuti.
- Inviate bind_transceiver con system_id e password e attendete bind_transceiver_resp con command_status 0.
- Inviate ogni messaggio con submit_sm e conservate il message_id di submit_sm_resp.
- Ricevete i rapporti di consegna come deliver_sm e rispondete a ciascuno con deliver_sm_resp.
- Inviate enquire_link quando la sessione è inattiva e riconnettetevi con backoff se le risposte si interrompono.
- Chiudete con unbind e attendete unbind_resp.
Quali campi di submit_sm causano più rifiuti?
- source_addr_ton e source_addr_npi: 5 e 0 per un Sender ID alfanumerico, 1 e 1 per un numero internazionale.
- destination_addr: prefisso internazionale più numero, senza segno più né zeri iniziali.
- data_coding: 0 per l’alfabeto predefinito GSM-7, 8 per UCS-2 (arabo, emoji e altri alfabeti).
- registered_delivery: 1 per richiedere un rapporto di consegna.
- short_message contiene fino a 254 ottetti; per contenuti più lunghi usate il TLV message_payload con sm_length 0, mai entrambi.
Errori comuni di bind e invio
OmniChannels.ai attiva bind SMPP 3.4 su TLS per ogni account, con gli IP di origine nella lista consentiti; rivenditori e partner wholesale possono avere bind dedicati.
| command_status | Causa probabile | Soluzione |
|---|---|---|
| ESME_RBINDFAIL | system_id errato o IP non nella lista consentiti | Verificate credenziali e IP di origine |
| ESME_RINVPASWD | Password errata | Verificate le credenziali |
| ESME_RINVSRCADR | Il Sender ID o il suo TON/NPI non è valido | Correggete il mittente e TON/NPI |
| ESME_RTHROTTLED | Invio oltre la velocità concordata | Rallentate e riprovate con backoff |
