Definizione
submit_sm è l’operazione SMPP v3.4 (command_id 0x00000004) che un’applicazione usa per inoltrare un singolo SMS all’SMSC. L’SMSC risponde con submit_sm_resp contenente un message_id usato per associare i successivi rapporti di consegna.
I campi principali sono source_addr (il Sender ID) con il suo TON/NPI, destination_addr, esm_class, registered_delivery (richiedere un rapporto), data_coding (ad esempio 0x00 alfabeto predefinito o 0x08 UCS-2), sm_length e short_message.
short_message contiene fino a 254 ottetti. Per dati utente più lunghi la specifica prevede di impostare sm_length a zero e di inserire il contenuto nel TLV message_payload.
Se il mittente costruisce la propria intestazione di concatenazione, imposta il bit UDHI (0x40) in esm_class e antepone l’UDH a short_message.
Un command_status diverso da zero in submit_sm_resp significa che l’SMSC ha rifiutato il messaggio, ad esempio ESME_RINVDSTADR (destinazione non valida) o ESME_RTHROTTLED (throughput superato). L’accettazione significa solo che l’SMSC ha preso in carico il messaggio; l’esito finale è riportato dal rapporto di consegna.
Esempio
submit_sm: source_addr_ton=5 source_addr="AcmeBank" dest_addr_ton=1 destination_addr="971501234567" registered_delivery=1 data_coding=0x00 short_message="Il codice è 482913"