Pole DCS w SMPP (i kodowanie znaków w SMPP)
Ta strona zawiera informacje na temat kodowania pola DCS w SMPP.
Jak Ozeki SMS Gateway koduje pole DCS w SMPP
W większości przypadków nie musisz ręcznie konfigurować pola DCS w PDU SMPP. Ozeki SMS Gateway robi to za Ciebie. Aby kontrolować sposób kodowania przez Ozeki SMS Gateway, możesz skonfigurować domyślny alfabet w formularzu konfiguracji klienta SMPP (Rysunek 1).
W tym formularzu możesz ustawić preferowany zestaw znaków lub poprosić Ozeki SMS Gateway o użycie stałej wartości dla parametru DCS w PDU SMS.
Co to jest pole DCS w SMPP?
Data Coding Scheme (DCS) w SMPP (Short Message Peer-to-Peer Protocol) to 1-bajtowe pole w PDU (Protocol Data Units) SMPP. Definiuje sposób kodowania ładunku wiadomości, umożliwiając prawidłową interpretację przez odbiorcę. DCS określa:
- Kodowanie znaków (np. GSM-7, UCS2, 8-bitowe binarne)
- Klasę wiadomości (np. Flash SMS)
- Flagi kompresji
Struktura DCS i maska bitowa
DCS to maska bitowa, w której każda grupa bitów ma określone znaczenie:
Bity | Opis |
---|---|
7-6 | Grupa kodowania: Określa ogólny typ kodowania. |
5-4 | Alfabet: Określa zestaw znaków (jeśli Grupa kodowania = 00). |
3-0 | Klasa wiadomości/Flagi: Wskazuje typ wiadomości (np. Flash) lub kompresję. |
Wartości grupy kodowania
Grupa kodowania (Bity 7-6) | Opis |
---|---|
00 | Ogólne kodowanie danych (alfabet określony w bitach 5-4) |
01 | Zarezerwowane |
10 | Kodowanie UCS2 (16-bitowe) |
11 | Kodowanie danych/Klasa wiadomości (np. Flash SMS) |
Przykładowe wartości DCS
DCS (Hex) | Opis | Binarnie |
---|---|---|
0x00 | Domyślny alfabet GSM-7 | 00000000 |
0x04 | Dane binarne 8-bitowe | 00000100 |
0x08 | UCS2 (Unicode) | 00001000 |
0x10 | Flash SMS (GSM-7) | 00010000 |
0xF0 | Flash SMS (UCS2) | 11110000 |
Przykładowe PDU SMPP z DCS
Przykład 1: SubmitSM z kodowaniem GSM-7 (DCS=0x00)
0000001D // Długość polecenia (29 bajtów) 00000004 // ID polecenia (SubmitSM) 00000001 // Numer sekwencji 00 // Źródłowy TON 00 // Źródłowy NPI 736F7572636500 // Adres źródłowy ("source") 00 // Docelowy TON 00 // Docelowy NPI 36353433323100 // Adres docelowy ("654321") 00 // Klasa ESM 00 // ID protokołu 00 // Priorytet 00 // Czas dostawy 00 // Okres ważności 00 // Dostawa zarejestrowana 00 // Zastąp jeśli obecne 00 // Kodowanie danych (DCS=0x00) 00 // Domyślne ID wiadomości 07 // Długość wiadomości (7 septetów) C8329BFD06DDDF72 // Krótka wiadomość ("Hello!")
Przykład 2: SubmitSM z kodowaniem UCS2 (DCS=0x08)
00000024 // Długość polecenia (36 bajtów) 00000004 // ID polecenia (SubmitSM) 00000002 // Numer sekwencji 00 // Źródłowy TON 00 // Źródłowy NPI 736F7572636500 // Adres źródłowy ("source") 00 // Docelowy TON 00 // Docelowy NPI 36353433323100 // Adres docelowy ("654321") 00 // Klasa ESM 00 // ID protokołu 00 // Priorytet 00 // Czas dostawy 00 // Okres ważności 00 // Dostawa zarejestrowana 00 // Zastąp jeśli obecne 08 // Kodowanie danych (DCS=0x08) 00 // Domyślne ID wiadomości 0C // Długość wiadomości (12 bajtów) 00480065006C006C006F0021 // "Hello!" w UCS2
Przykład 3: Flash SMS (DCS=0x10)
0000001D // Długość polecenia (29 bajtów) 00000004 // ID polecenia (SubmitSM) 00000003 // Numer sekwencji 00 // Źródłowy TON 00 // Źródłowy NPI 736F7572636500 // Adres źródłowy ("source") 00 // Docelowy TON 00 // Docelowy NPI 36353433323100 // Adres docelowy ("654321") 00 // Klasa ESM 00 // ID protokołu 00 // Priorytet 00 // Czas dostawy 00 // Okres ważności 00 // Dostawa zarejestrowana 00 // Zastąp jeśli obecne 10 // Kodowanie danych (DCS=0x10: Flash SMS) 00 // Domyślne ID wiadomości 07 // Długość wiadomości (7 septetów) C8329BFD06DDDF72 // Krótka wiadomość ("Hello!")
Podsumowanie
Pole DCS jest kluczowe dla zapewnienia prawidłowego kodowania i wyświetlania wiadomości SMS. Implementacje mogą się różnić, dlatego należy zapoznać się ze specyfikacją SMPP (wersja 3.4 lub 5.0) w celu uzyskania szczegółowych informacji na temat masek bitowych. Prawidłowe użycie DCS zapobiega błędom kodowania i zapewnia kompatybilność między różnymi SMSC.
More information
- Jak skonfigurować pole Typ usługi SMPP
- Jak skonfigurować pola numerów telefonów SMPP
- Jak skonfigurować pole klasy ESM SMPP
- Jak skonfigurować pole PID SMPP
- Jak skonfigurować pole priorytetu SMPP
- Jak skonfigurować pole zaplanowanego czasu SMPP
- Jak skonfigurować pole okresu ważności SMPP
- Jak skonfigurować pole zarejestrowanej dostawy SMPP
- Jak skonfigurować pole Zastąp jeśli obecne SMPP
- Jak skonfigurować pole sm_default_msg_id
- Jak skonfigurować pole DCS SMPP
- Jak obliczyć pole długości wiadomości SMPP
- Jak umieścić dane w polu SM SMPP