Un SMS concatenato (SMS lungo) è un messaggio di oltre 160 caratteri GSM-7 o 70 caratteri Unicode, diviso in segmenti che il telefono ricompone in un unico messaggio. Ogni segmento contiene un piccolo header, quindi porta 153 caratteri GSM-7 o 67 Unicode, e ogni segmento viene addebitato come un SMS separato.
Come funziona la concatenazione
Un singolo SMS può trasportare 140 byte. Per inviare di più, il mittente divide il testo in parti e aggiunge a ciascuna uno User Data Header (UDH). L'UDH contiene tre valori chiave:
- Numero di riferimento: uguale per tutte le parti di un messaggio, così il telefono sa quali parti vanno insieme.
- Numero totale di parti: quanti segmenti compongono il messaggio.
- Numero della parte: la posizione di questo segmento.
L'header più comune usa un riferimento a 8 bit e occupa 6 byte. Una variante con riferimento a 16 bit occupa 7 byte e lascia un carattere in meno per segmento GSM-7 (152). Il telefono aspetta che arrivino tutte le parti, poi le mostra come un unico messaggio.
Dimensioni dei segmenti
| Lunghezza del messaggio (GSM-7) | Segmenti | Lunghezza (Unicode) | Segmenti |
|---|---|---|---|
| Da 1 a 160 | 1 | Da 1 a 70 | 1 |
| Da 161 a 306 | 2 | Da 71 a 134 | 2 |
| Da 307 a 459 | 3 | Da 135 a 201 | 3 |
| Da 460 a 612 | 4 | Da 202 a 268 | 4 |
I caratteri della tabella di estensione GSM-7 (come il simbolo dell'euro o le parentesi quadre) contano doppio. Un solo carattere non GSM passa il messaggio in Unicode e cambia tutti i numeri. Vedi GSM-7 e Unicode: codifica e lunghezza degli SMS.
Inviare messaggi lunghi via SMPP
Ci sono tre modi comuni per inviare un messaggio lungo tramite una connessione SMPP. Chiedi al tuo fornitore quali supporta:
- UDH nel payload: dividi tu il testo, aggiungi l'UDH e imposti il flag UDHI in esm_class. Ogni parte è un submit_sm separato con il proprio message ID.
- Parametri opzionali SAR: sar_msg_ref_num, sar_total_segments e sar_segment_seqnum portano le stesse informazioni come TLV, e l'SMSC costruisce l'UDH.
- message_payload: invii il testo completo in un solo submit_sm usando il parametro message_payload, e il fornitore lo divide. Non tutte le piattaforme lo accettano.
Con una HTTP API di solito invii il testo completo e la piattaforma lo divide. Le due interfacce sono confrontate in SMPP e HTTP API per gli SMS A2P. Se le parti vengono inviate con lunghezza o flag sbagliati, vedrai errori come lunghezza del messaggio non valida, descritti in Codici di errore SMPP più comuni.
Costi e rapporti di consegna
- Ogni segmento si paga come un SMS. Un messaggio di 300 caratteri ne costa due, un messaggio in arabo di 200 caratteri ne costa tre. Approfondisci in Come funzionano i prezzi degli SMS A2P.
- Ogni segmento può restituire il proprio DLR. Considera il messaggio consegnato solo quando tutte le parti sono consegnate. Vedi Gli stati DLR spiegati.
- Il throughput conta i segmenti. Un messaggio in 3 parti usa tre slot di TPS, e questo conta quando dimensioni bind SMPP e TPS.
Problemi comuni
- Parti mostrate come messaggi separati: l'UDH è stato perso lungo la rotta, o la rotta ha cambiato la codifica. È un segnale frequente di rotte di bassa qualità.
- Parti mancanti: il telefono non può mostrare il messaggio completo finché non arrivano tutte le parti; alcuni telefoni mostrano un testo parziale dopo un timeout.
- Rotte diverse per ogni parte: se le parti passano da percorsi diversi, possono arrivare a minuti di distanza. Le buone piattaforme tengono tutte le parti sulla stessa rotta.
- Limiti: il contatore a 8 bit consente fino a 255 parti, ma molti operatori e fornitori limitano i messaggi a un numero di segmenti molto più basso. Chiedi prima di inviare contenuti lunghi.
Conviene inviare messaggi lunghi?
Per OTP e avvisi no: resta in un segmento. Per i messaggi di servizio che richiedono dettagli, due o tre segmenti sono normali. Per contenuti più lunghi un link a una pagina costa di solito meno, anche se su alcune rotte i link possono far scattare i filtri. VoIPMatcher procura rotte SMS A2P che gestiscono correttamente i messaggi concatenati. Richiedi una rotta SMS indicando la lunghezza tipica dei tuoi messaggi.
Contatore di caratteri SMS gratuito
- Codifica
- GSM-7
- Caratteri
- 0
- SMS addebitati
- 0
- Caratteri rimasti in questo SMS
- 160
Domande frequenti
Qual è la lunghezza massima di un SMS concatenato?
Il riferimento a 8 bit dell'header standard consente fino a 255 segmenti, cioè circa 39000 caratteri GSM-7. Nella pratica molti operatori e fornitori SMS limitano i messaggi a un numero di segmenti molto più basso, e i messaggi lunghi arrivano più spesso incompleti. Chiedi al tuo fornitore il suo limite prima di inviare contenuti lunghi, e tieni brevi gli avvisi.
SMS multiparte e SMS concatenato sono la stessa cosa?
Sì. SMS concatenato, SMS multiparte e SMS lungo sono nomi diversi per la stessa cosa. Un messaggio più lungo di un SMS viene diviso in parti, ognuna con un header che permette al telefono di ricomporlo. Il destinatario vede un solo messaggio, mentre il mittente paga ogni parte come un SMS separato.
Un SMS lungo costa di più?
Sì. Ogni segmento viene addebitato come un SMS, quindi un messaggio GSM-7 di 300 caratteri ne costa due e un messaggio Unicode di 200 caratteri ne costa tre. Un solo carattere fuori dall'alfabeto GSM-7 passa tutto il testo in Unicode, che riduce il segmento a 67 caratteri e può moltiplicare il costo di una campagna.
Perché il mio SMS lungo arriva in pezzi separati?
Il telefono mostra le parti separate quando lo User Data Header è stato perso o modificato lungo la rotta, o quando la rotta ha cambiato la codifica. È un segnale comune di una rotta di bassa qualità. Può succedere anche quando le parti viaggiano su percorsi diversi e arrivano a minuti di distanza. Testa i messaggi lunghi su telefoni reali prima di inviare volumi.
Ti serve una rotta?
Mandaci destinazione, tipo di rotta e tariffa target. Ti rispondiamo con quello che possiamo offrirti.