Un SMS concaténé (SMS long) est un message de plus de 160 caractères GSM-7 ou de 70 caractères Unicode, découpé en segments que le téléphone réassemble en un seul message. Chaque segment porte un petit en-tête : il contient donc 153 caractères GSM-7 ou 67 caractères Unicode, et chaque segment est facturé comme un SMS distinct.
Comment fonctionne la concaténation
Un SMS simple peut transporter 140 octets. Pour envoyer davantage, l'expéditeur découpe le texte en parties et ajoute à chacune un User Data Header (UDH). L'UDH contient trois valeurs clés :
- Numéro de référence : identique pour toutes les parties d'un même message, pour que le téléphone sache quelles parties vont ensemble.
- Nombre total de parties : le nombre de segments qui composent le message.
- Numéro de la partie : la position de ce segment.
L'en-tête courant utilise une référence sur 8 bits et occupe 6 octets. Une variante avec une référence sur 16 bits occupe 7 octets et laisse un caractère de moins par segment GSM-7 (152). Le téléphone attend que toutes les parties soient arrivées, puis les affiche comme un seul message.
Taille des segments
| Longueur du message (GSM-7) | Segments | Longueur (Unicode) | Segments |
|---|---|---|---|
| 1 à 160 | 1 | 1 à 70 | 1 |
| 161 à 306 | 2 | 71 à 134 | 2 |
| 307 à 459 | 3 | 135 à 201 | 3 |
| 460 à 612 | 4 | 202 à 268 | 4 |
Les caractères de la table d'extension GSM-7 (comme le signe euro ou les crochets) comptent double. Un seul caractère hors GSM fait basculer le message en Unicode et change tous les chiffres. Voir GSM-7 ou Unicode : encodage et longueur des SMS.
Envoyer des messages longs en SMPP
Il existe trois façons courantes d'envoyer un message long via une connexion SMPP. Demandez à votre fournisseur lesquelles il prend en charge :
- UDH dans le contenu : vous découpez le texte vous-même, ajoutez l'UDH et activez le flag UDHI dans esm_class. Chaque partie est un submit_sm distinct avec son propre identifiant de message.
- Paramètres optionnels SAR : sar_msg_ref_num, sar_total_segments et sar_segment_seqnum transportent les mêmes informations sous forme de TLV, et le SMSC construit l'UDH.
- message_payload : vous envoyez le texte complet dans un seul submit_sm via le paramètre message_payload, et le fournisseur le découpe. Toutes les plateformes ne l'acceptent pas.
Avec une HTTP API, vous envoyez en général le texte complet et la plateforme le découpe. Les deux interfaces sont comparées dans SMPP ou HTTP API pour le SMS A2P. Si les parties sont envoyées avec une mauvaise longueur ou de mauvais flags, vous verrez des erreurs comme une longueur de message invalide, décrites dans les codes d'erreur SMPP courants.
Facturation et accusés de réception
- Chaque segment est facturé comme un SMS. Un message de 300 caractères en coûte deux, un message de 200 caractères en arabe en coûte trois. Plus de détails dans le fonctionnement de la tarification SMS A2P.
- Chaque segment peut renvoyer son propre DLR. Ne considérez le message comme livré que lorsque toutes les parties le sont. Voir les statuts DLR expliqués.
- Le débit compte les segments. Un message en 3 parties utilise trois créneaux de TPS, ce qui compte pour dimensionner les binds SMPP et le TPS.
Problèmes fréquents
- Parties affichées comme des messages séparés : l'UDH a été perdu en cours de route, ou la route a changé l'encodage. C'est un signe fréquent de routes de mauvaise qualité.
- Parties manquantes : le téléphone ne peut pas afficher le message complet tant que toutes les parties ne sont pas arrivées ; certains téléphones affichent un texte partiel après un délai.
- Routes différentes selon les parties : si les parties empruntent des chemins différents, elles peuvent arriver à plusieurs minutes d'intervalle. Les bonnes plateformes gardent toutes les parties sur la même route.
- Limites : le compteur sur 8 bits permet jusqu'à 255 parties, mais beaucoup d'opérateurs et de fournisseurs plafonnent les messages à un nombre de segments bien plus faible. Renseignez-vous avant d'envoyer du contenu long.
Faut-il envoyer des messages longs ?
Pour l'OTP et les alertes, non : restez sur un seul segment. Pour les messages de service qui demandent des détails, deux ou trois segments sont normaux. Pour un contenu plus long, un lien vers une page revient généralement moins cher, même si les liens peuvent déclencher des filtres sur certaines routes. VoIPMatcher fournit des routes SMS A2P qui gèrent correctement les messages concaténés. Demandez une route SMS en indiquant la longueur habituelle de vos messages.
Compteur de caractères SMS gratuit
- Encodage
- GSM-7
- Caractères
- 0
- SMS facturés
- 0
- Caractères restants dans ce SMS
- 160
Questions fréquentes
Quelle est la longueur maximale d'un SMS concaténé ?
La référence sur 8 bits de l'en-tête standard permet jusqu'à 255 segments, soit environ 39 000 caractères GSM-7. En pratique, beaucoup d'opérateurs et de fournisseurs SMS plafonnent les messages à un nombre de segments bien plus faible, et les messages longs risquent davantage d'arriver incomplets. Demandez sa limite à votre fournisseur avant d'envoyer du contenu long, et gardez les alertes courtes.
Le SMS multipart est-il la même chose que le SMS concaténé ?
Oui. SMS concaténé, SMS multipart et SMS long désignent la même chose. Un message plus long qu'un SMS est découpé en parties, chacune dotée d'un en-tête qui permet au téléphone de le reconstituer. Le destinataire voit un seul message, tandis que l'expéditeur paie chaque partie comme un SMS distinct.
Un SMS long coûte-t-il plus cher ?
Oui. Chaque segment est facturé comme un SMS : un message GSM-7 de 300 caractères en coûte deux, et un message Unicode de 200 caractères en coûte trois. Un seul caractère hors de l'alphabet GSM-7 fait basculer tout le texte en Unicode, ce qui réduit la taille des segments à 67 caractères et peut multiplier le coût d'une campagne.
Pourquoi mon SMS long arrive-t-il en plusieurs morceaux ?
Le téléphone affiche les parties séparément quand l'en-tête User Data Header a été perdu ou modifié en cours de route, ou quand la route a changé l'encodage. C'est un signe fréquent de route de mauvaise qualité. Cela peut aussi arriver quand les parties empruntent des chemins différents et arrivent à plusieurs minutes d'intervalle. Testez les messages longs sur de vrais terminaux avant d'envoyer du volume.
Besoin d'une route ?
Indiquez la destination, le type de route et le tarif cible. Nous vous répondons avec ce que nous pouvons fournir.