Kako vstaviti podatke v polje SM SMPP
V SMPP (Short Message Peer-to-Peer) je kratko sporočilo (SM) dejansko besedilo (ali binarni podatki) SMS sporočila, ki se prenaša. Za zagotovitev pravilne interpretacije te vsebine igra polje data_coding v PDU ključno vlogo, saj označuje obliko kodiranja sporočila.
Pogosta kodiranja SMPP
Polje data_coding
je 1 bajt in obvešča SMSC, kako interpretirati vsebino sporočila.
Hex | Decimalno | Kodiranje | Opis |
---|---|---|---|
0x00 | 0 | GSM 7-bit privzeto | Standardni nabor znakov SMS |
0x01 | 1 | ASCII | 8-bit ASCII (podmnožica Latin-1) |
0x03 | 3 | Latin-1 (ISO 8859-1) | Zahodnoevropski nabor znakov |
0x08 | 8 | UCS2 | Unicode (16-bit, big-endian) |
0x04 | 4 | Binarno | Surovi 8-bitni binarni podatki |
Primeri kodiranih sporočil
1. GSM 7-bit (data_coding = 0x00)
Standardno kodiranje SMS. Učinkovito (do 160 znakov v enem sporočilu).
Besedilo: "Hello" GSM 7-bit Pakirano: C8 32 9B FD 06
2. UCS2 (data_coding = 0x08)
Uporablja se za nelatinske pisave (npr. arabščina, kitajščina, emoji). Podpira 70 znakov na sporočilo.
Besedilo: "مرحبا" UCS2 Hex: 0645 0631 062D 0628 0627 Bajti (hex): 06 45 06 31 06 2D 06 28 06 27
3. ASCII (data_coding = 0x01)
Le osnovni latinični znaki, manj prostorsko učinkovito kot GSM 7-bit.
Besedilo: "Hello" ASCII Hex: 48 65 6C 6C 6F
Primer SMPP PDU z UCS2 kodiranjem
Tukaj je SMPP submit_sm
PDU, ki prenaša Unicode sporočilo:
0000004B // Dolžina ukaza (75 bajtov) 00000004 // ID ukaza (submit_sm) 00000000 // Status ukaza 00000001 // Zaporedna številka 74657374 // service_type: "test" 01 // source_addr_ton: Mednarodno 01 // source_addr_npi: ISDN 31323334 // source_addr: "1234" (ASCII) 00 01 // dest_addr_ton 01 // dest_addr_npi 35363738 // destination_addr: "5678" 00 00 // esm_class 00 // protocol_id 00 // priority_flag 00 // schedule_delivery_time 00 // validity_period 00 // registered_delivery 00 // replace_if_present_flag 08 // data_coding: UCS2 00 // sm_default_msg_id 0A // sm_length: 10 bajtov 06450631 // Sporočilo v UCS2 (npr. "مر") 062D0628
Kodiranje in združevanje
Dolga sporočila so razdeljena na dele z UDH (User Data Header). To zmanjša največjo velikost nosilca:
- GSM 7-bit: 160 → 153 znakov na del
- UCS2: 70 → 67 znakov na del
Primer UDH za del sporočila:
05 00 03 CC 02 01 // 05: dolžina glave // 00 03: Združevalni IEI // CC: Referenca sporočila // 02: skupni deli // 01: trenutni del
Povzetek
SMPP ponuja prilagodljive možnosti kodiranja prek polja data_coding
. Pravilno kodiranje zagotavlja združljivost med globalnimi omrežji, zlasti pri obdelavi večjezičnega besedila ali binarnih podatkov. Razvijalci morajo uskladiti vrste kodiranja z vsebino in pričakovanimi prejemniki, da se izognejo pokvarjenju sporočil.
Reference
- SMPP 3.4 Specifikacija
- GSM 03.38 Nabor znakov
- Unicode Standard
More information
- Kako konfigurirati polje Vrsta storitve SMPP
- Kako konfigurirati polja Telefonske številke SMPP
- Kako konfigurirati polje SMPP ESM Class
- Kako konfigurirati polje SMPP PID
- Kako konfigurirati polje SMPP Prioritetnost
- Kako konfigurirati polje SMPP Načrtovani čas
- Kako konfigurirati polje SMPP Veljavnost
- Kako konfigurirati polje SMPP Registrirana dostava
- Kako konfigurirati polje SMPP Zamenjaj, če je prisoten
- Kako konfigurirati polje sm_default_msg_id
- Kako konfigurirati polje SMPP DCS
- Kako izračunati polje SMPP Dolžina SM
- Kako vnesti podatke v polje SMPP SM