Le champ DCS SMPP (et l'encodage des caractères SMPP)
Cette page fournit des informations sur la manière d'encoder le champ DCS SMPP.
Comment Ozeki SMS Gateway encode le champ DCS SMPP
Dans la plupart des scénarios, vous n'avez pas besoin de configurer manuellement le champ DCS des PDU SMPP. Ozeki SMS Gateway le fait pour vous. Pour contrôler comment Ozeki SMS Gateway effectue l'encodage, vous pouvez configurer l'alphabet par défaut dans le formulaire de configuration du client SMPP (Figure 1).
Dans ce formulaire, vous pouvez définir le jeu de caractères préféré, ou demander à Ozeki SMS Gateway d'utiliser une valeur fixe pour le paramètre DCS dans la PDU SMS.
Qu'est-ce que le champ DCS SMPP ?
Le Data Coding Scheme (DCS) dans SMPP (Short Message Peer-to-Peer Protocol) est un champ d'un octet dans les PDU SMPP (Protocol Data Units). Il définit comment la charge utile du message est encodée, permettant une interprétation correcte par l'entité réceptrice. Le DCS spécifie :
- L'encodage des caractères (par exemple, GSM-7, UCS2, binaire 8 bits)
- La classe du message (par exemple, SMS Flash)
- Les indicateurs de compression
Structure et masque de bits du DCS
Le DCS est un masque de bits où chaque groupe de bits a un objectif spécifique :
Bits | Description |
---|---|
7-6 | Groupe d'encodage : Détermine le type d'encodage général. |
5-4 | Alphabet : Spécifie le jeu de caractères (si Groupe d'encodage = 00). |
3-0 | Classe de message/Indicateurs : Indique le type de message (par exemple, Flash) ou la compression. |
Valeurs du Groupe d'encodage
Groupe d'encodage (Bits 7-6) | Description |
---|---|
00 | Encodage de données général (alphabet spécifié dans les bits 5-4) |
01 | Réservé |
10 | Encodage UCS2 (16 bits) |
11 | Encodage de données/Classe de message (par exemple, SMS Flash) |
Exemples de valeurs DCS
DCS (Hex) | Description | Binaire |
---|---|---|
0x00 | Alphabet par défaut GSM-7 | 00000000 |
0x04 | Données binaires 8 bits | 00000100 |
0x08 | UCS2 (Unicode) | 00001000 |
0x10 | SMS Flash (GSM-7) | 00010000 |
0xF0 | SMS Flash (UCS2) | 11110000 |
Exemples de PDU SMPP avec DCS
Exemple 1 : SubmitSM avec encodage GSM-7 (DCS=0x00)
0000001D // Longueur de commande (29 octets) 00000004 // ID de commande (SubmitSM) 00000001 // Numéro de séquence 00 // TON source 00 // NPI source 736F7572636500 // Adresse source ("source") 00 // TON destination 00 // NPI destination 36353433323100 // Adresse destination ("654321") 00 // Classe ESM 00 // ID de protocole 00 // Priorité 00 // Heure de livraison planifiée 00 // Période de validité 00 // Livraison enregistrée 00 // Remplacer si présent 00 // Encodage de données (DCS=0x00) 00 // ID de message par défaut SM 07 // Longueur SM (7 septets) C8329BFD06DDDF72 // Message court ("Hello!")
Exemple 2 : SubmitSM avec encodage UCS2 (DCS=0x08)
00000024 // Longueur de commande (36 octets) 00000004 // ID de commande (SubmitSM) 00000002 // Numéro de séquence 00 // TON source 00 // NPI source 736F7572636500 // Adresse source ("source") 00 // TON destination 00 // NPI destination 36353433323100 // Adresse destination ("654321") 00 // Classe ESM 00 // ID de protocole 00 // Priorité 00 // Heure de livraison planifiée 00 // Période de validité 00 // Livraison enregistrée 00 // Remplacer si présent 08 // Encodage de données (DCS=0x08) 00 // ID de message par défaut SM 0C // Longueur SM (12 octets) 00480065006C006C006F0021 // "Hello!" en UCS2
Exemple 3 : SMS Flash (DCS=0x10)
0000001D // Longueur de commande (29 octets) 00000004 // ID de commande (SubmitSM) 00000003 // Numéro de séquence 00 // TON source 00 // NPI source 736F7572636500 // Adresse source ("source") 00 // TON destination 00 // NPI destination 36353433323100 // Adresse destination ("654321") 00 // Classe ESM 00 // ID de protocole 00 // Priorité 00 // Heure de livraison planifiée 00 // Période de validité 00 // Livraison enregistrée 00 // Remplacer si présent 10 // Encodage de données (DCS=0x10 : SMS Flash) 00 // ID de message par défaut SM 07 // Longueur SM (7 septets) C8329BFD06DDDF72 // Message court ("Hello!")
Conclusion
Le champ DCS est essentiel pour garantir que les SMS sont encodés et affichés correctement. Les implémentations peuvent varier, consultez donc la spécification SMPP (v3.4 ou v5.0) pour des détails précis sur les masques de bits. Une utilisation correcte du DCS évite les erreurs d'encodage et assure la compatibilité entre les SMSC.
More information
- Comment configurer le champ Type de service SMPP
- Comment configurer les champs de numéro de téléphone SMPP
- Comment configurer le champ Classe ESM SMPP
- Comment configurer le champ PID SMPP
- Comment configurer le champ Priorité SMPP
- Comment configurer le champ Heure programmée SMPP
- Comment configurer le champ Période de validité SMPP
- Comment configurer le champ Livraison enregistrée SMPP
- Comment configurer le champ Remplacer si présent SMPP
- Comment configurer le champ sm_default_msg_id
- Comment configurer le champ DCS SMPP
- Comment calculer le champ Longueur SM SMPP
- Comment insérer des données dans le champ SM SMPP