Câmpul DCS din SMPP (și codarea caracterelor în SMPP)
Această pagină oferă informații despre cum să codificați câmpul DCS din SMPP.
Cum codifică Ozeki SMS Gateway câmpul DCS din SMPP
În majoritatea scenariilor, nu este necesar să configurați manual câmpul DCS al PDU-urilor SMPP. Ozeki SMS Gateway face acest lucru pentru dumneavoastră. Pentru a controla modul în care Ozeki SMS Gateway efectuează codarea, puteți configura alfabetul implicit în formularul de configurare a clientului SMPP (Figura 1).
În acest formular, puteți seta setul de caractere preferat sau puteți cere Ozeki SMS Gateway să folosească o valoare fixă pentru parametrul DCS în PDU-ul SMS.
Ce este câmpul DCS din SMPP?
Schema de codare a datelor (DCS) în SMPP (Protocolul Peer-to-Peer pentru Mesaje Scurte) este un câmp de 1 octet din cadrul PDU-urilor SMPP (Unități de Date de Protocol). Acesta definește modul în care este codată încărcătura mesajului, permițând interpretarea corectă de către entitatea receptoră. DCS specifică:
- Codarea caracterelor (de ex., GSM-7, UCS2, binar pe 8 biți)
- Clasa mesajului (de ex., SMS Flash)
- Indicatori de compresie
Structura și masca de biți a DCS
DCS este o mască de biți în care fiecare grup de biți are un scop specific:
Biți | Descriere |
---|---|
7-6 | Grupul de codare: Determină tipul general de codare. |
5-4 | Alfabet: Specifică setul de caractere (dacă Grupul de codare = 00). |
3-0 | Clasa mesajului/Indicatori: Indică tipul mesajului (de ex., Flash) sau compresia. |
Valori ale Grupului de codare
Grupul de codare (Biții 7-6) | Descriere |
---|---|
00 | Codare generală a datelor (alfabet specificat în biții 5-4) |
01 | Rezervat |
10 | Codare UCS2 (16 biți) |
11 | Codare a datelor/Clasă mesaj (de ex., SMS Flash) |
Exemple de valori DCS
DCS (Hex) | Descriere | Binar |
---|---|---|
0x00 | Alfabet implicit GSM-7 | 00000000 |
0x04 | Date binare pe 8 biți | 00000100 |
0x08 | UCS2 (Unicode) | 00001000 |
0x10 | SMS Flash (GSM-7) | 00010000 |
0xF0 | SMS Flash (UCS2) | 11110000 |
Exemple de PDU-uri SMPP cu DCS
Exemplul 1: SubmitSM cu codare GSM-7 (DCS=0x00)
0000001D // Lungimea comenzii (29 de octeți) 00000004 // ID-ul comenzii (SubmitSM) 00000001 // Numărul de secvență 00 // Sursa TON 00 // Sursa NPI 736F7572636500 // Adresa sursă ("source") 00 // Destinația TON 00 // Destinația NPI 36353433323100 // Adresa destinație ("654321") 00 // Clasa ESM 00 // ID-ul protocolului 00 // Prioritatea 00 // Ora de livrare programată 00 // Perioada de valabilitate 00 // Livrare înregistrată 00 // Înlocuire-dacă-prezentă 00 // Codarea datelor (DCS=0x00) 00 // ID-ul implicit al mesajului SM 07 // Lungimea SM (7 septeți) C8329BFD06DDDF72 // Mesaj scurt ("Hello!")
Exemplul 2: SubmitSM cu codare UCS2 (DCS=0x08)
00000024 // Lungimea comenzii (36 de octeți) 00000004 // ID-ul comenzii (SubmitSM) 00000002 // Numărul de secvență 00 // Sursa TON 00 // Sursa NPI 736F7572636500 // Adresa sursă ("source") 00 // Destinația TON 00 // Destinația NPI 36353433323100 // Adresa destinație ("654321") 00 // Clasa ESM 00 // ID-ul protocolului 00 // Prioritatea 00 // Ora de livrare programată 00 // Perioada de valabilitate 00 // Livrare înregistrată 00 // Înlocuire-dacă-prezentă 08 // Codarea datelor (DCS=0x08) 00 // ID-ul implicit al mesajului SM 0C // Lungimea SM (12 octeți) 00480065006C006C006F0021 // "Hello!" în UCS2
Exemplul 3: SMS Flash (DCS=0x10)
0000001D // Lungimea comenzii (29 de octeți) 00000004 // ID-ul comenzii (SubmitSM) 00000003 // Numărul de secvență 00 // Sursa TON 00 // Sursa NPI 736F7572636500 // Adresa sursă ("source") 00 // Destinația TON 00 // Destinația NPI 36353433323100 // Adresa destinație ("654321") 00 // Clasa ESM 00 // ID-ul protocolului 00 // Prioritatea 00 // Ora de livrare programată 00 // Perioada de valabilitate 00 // Livrare înregistrată 00 // Înlocuire-dacă-prezentă 10 // Codarea datelor (DCS=0x10: SMS Flash) 00 // ID-ul implicit al mesajului SM 07 // Lungimea SM (7 septeți) C8329BFD06DDDF72 // Mesaj scurt ("Hello!")
Concluzie
Câmpul DCS este esențial pentru a asigura că mesajele SMS sunt codate și afișate corect. Implementările pot varia, așa că consultați specificația SMPP (v3.4 sau v5.0) pentru detalii precise despre masca de biți. Utilizarea corectă a DCS evită erorile de codare și asigură compatibilitatea între SMSC-uri.
More information
- Cum să configurezi câmpul Tip serviciu SMPP
- Cum să configurezi câmpurile Număr de telefon SMPP
- Cum să configurezi câmpul SMPP ESM Class
- Cum să configurezi câmpul SMPP PID
- Cum să configurezi câmpul Prioritate SMPP
- Cum să configurezi câmpul Ora programată SMPP
- Cum să configurezi câmpul Perioadă de valabilitate SMPP
- Cum să configurezi câmpul Livrare înregistrată SMPP
- Cum să configurezi câmpul Înlocuire dacă prezent SMPP
- Cum să configurezi câmpul sm_default_msg_id
- Cum să configurezi câmpul SMPP DCS
- Cum să calculezi câmpul Lungime SM SMPP
- Cum să introduci date în câmpul SM SMPP