Kako konfigurirati SMPP ESM Class polje
Postavke ESM klase u Ozeki SMS Gatewayu
Ozeki SMS Gateway omogućuje ručno konfiguriranje ESM class polja (Slika 1)
Što je ESM Class polje?
Extended Service Message (ESM) Class u SMPP-u je 1-bajtno polje u SMPP PDU-ovima koje kontrolira napredne značajke rukovanja porukama.
Koristi se u operacijama submit_sm
, deliver_sm
i data_sm
kako bi se specificiralo:
- Vrste poruka (npr. SMS, potvrda o isporuci)
- Ponašanje potvrde o isporuci
- Prisutnost UDH-a (User Data Header)
- Prioritet poruke i zastavice za usmjeravanje
Struktura ESM Classa i bitmask
ESM class je bitmask gdje svaki bit ili grupa bitova aktivira specifične značajke:
Bitovi | Opis |
---|---|
7 | Način slanja poruka: 0 = Zadano, 1 = Datagram |
6 | Vrsta poruke: 0 = Normalna, 1 = Potvrda o isporuci |
5 | UDHI indikator: 1 = UDH prisutan u payloadu |
4 | Putanja odgovora: 1 = Zahtijevana putanja odgovora |
3-2 | Prioritet poruke (00 = Normalan, 01 = Interaktivan, 10 = Hitno, 11 = Hitno) |
1-0 | Rezervirano |
Uobičajene vrijednosti ESM Classa
ESM (Hex) | Binarno | Opis |
---|---|---|
0x00 | 00000000 | Zadano (bez posebnog rukovanja) |
0x04 | 00000100 | UDHI zastavica postavljena (UDH prisutan) |
0x08 | 00001000 | Zahtijevana putanja odgovora |
0x20 | 00100000 | Potvrda o isporuci (bit 6 = 1) |
0x30 | 00110000 | Hitni prioritet + potvrda o isporuci |
0x60 | 01100000 | Datagram način + potvrda o isporuci |
Ključni slučajevi korištenja
1. Spojeni SMS (UDHI zastavica)
Prilikom slanja višedijelnih poruka, postavite bit 5 (UDHI=1) i uključite User Data Header (UDH) u payload. Primjer za 3-dijelnu poruku:
ESM Class: 0x40 (binarno 01000000: UDHI omogućen) Payload: 05 00 03 02 01 // UDH (5 bajtova: IEI=00, IEDL=03, dio 1 od 2) C8329BFD06 // GSM-7 payload ("Hello")
2. Zahtjevi za potvrdom o isporuci
Postavite bit 6 (0x20) kako biste zatražili potvrdu o isporuci. Često se kombinira s poljem registered_delivery
:
ESM Class: 0x20 (binarno 00100000) registered_delivery: 0x01 (zahtjev za potvrdom)
3. Poruke s prioritetom
Koristite bitove 3-2 kako biste postavili prioritet poruka. Primjer za hitni prioritet:
ESM Class: 0x10 (binarno 00010000: Hitni prioritet)
Primjeri SMPP PDU-a
Primjer 1: Osnovni SMS (ESM=0x00)
0000001D // Duljina naredbe (29 bajtova) 00000004 // ID naredbe (SubmitSM) 00000001 // Redni broj sekvence 00 // Izvorni TON 00 // Izvorni NPI 736F7572636500 // Izvorna adresa ("source") 00 // Odredišni TON 00 // Odredišni NPI 36353433323100 // Odredišna adresa ("654321") 00 // ESM Class (0x00: Zadano) 00 // ID protokola (PID) 00 // Prioritet 00 // Vrijeme planirane isporuke 00 // Valjanost razdoblja 00 // Registrirana isporuka 00 // Zamijeni-ako-postoji 00 // Kodiranje podataka (DCS=0x00) 00 // Zadani ID poruke 07 // Duljina poruke (7 septeta) C8329BFD06DDDF72 // Payload ("Hello!")
Primjer 2: Spojeni SMS (ESM=0x40)
00000025 // Duljina naredbe (37 bajtova) 00000004 // ID naredbe (SubmitSM) 00000002 // Redni broj sekvence 00 // Izvorni TON 00 // Izvorni NPI 736F7572636500 // Izvorna adresa ("source") 00 // Odredišni TON 00 // Odredišni NPI 36353433323100 // Odredišna adresa ("654321") 40 // ESM Class (0x40: UDHI omogućen) 00 // ID protokola (PID) 00 // Prioritet 00 // Vrijeme planirane isporuke 00 // Valjanost razdoblja 00 // Registrirana isporuka 00 // Zamijeni-ako-postoji 00 // Kodiranje podataka (DCS=0x00) 00 // Zadani ID poruke 0C // Duljina poruke (12 bajtova) 0500030201C8329BFD06DDDF72 // UDH + "Hello" (Dio 1/2)
Primjer 3: Potvrda o isporuci (ESM=0x20)
0000001D // Duljina naredbe (29 bajtova) 00000004 // ID naredbe (SubmitSM) 00000003 // Redni broj sekvence 00 // Izvorni TON 00 // Izvorni NPI 736F7572636500 // Izvorna adresa ("source") 00 // Odredišni TON 00 // Odredišni NPI 36353433323100 // Odredišna adresa ("654321") 20 // ESM Class (0x20: Potvrda o isporuci) 00 // ID protokola (PID) 00 // Prioritet 00 // Vrijeme planirane isporuke 00 // Valjanost razdoblja 01 // Registrirana isporuka (zahtjev za potvrdom) 00 // Zamijeni-ako-postoji 00 // Kodiranje podataka (DCS=0x00) 00 // Zadani ID poruke 07 // Duljina poruke (7 septeta) C8329BFD06DDDF72 // Payload ("Hello!")
Interakcije s drugim poljima
- UDHI (ESM) + DCS: Ako je UDHI postavljen, osigurajte da DCS podržava UDH (npr. GSM-7 ili 8-bitni).
- ESM Class + registered_delivery: Koristite oba kako biste eksplicitno zatražili potvrde o isporuci.
- Prioritetni bitovi + Prioritetna zastavica: Neki SMSC-ovi daju prioritet porukama na temelju ESM bitova umjesto zasebnog prioritetnog polja.
Uobičajene zamke
- Postavljanje UDHI-a bez uključivanja valjanog User Data Headera.
- Korištenje zastavica za potvrdu o isporuci (ESM=0x20) bez postavljanja
registered_delivery
. - Nepodudaranje ESM prioritetnih bitova sa zasebnim poljem
priority_flag
.
ESM klasa je moćan alat za kontrolu ponašanja poruka u SMPP-u. Njen dizajn s bitmaskom omogućuje značajke poput spajanja, potvrda i prioritizacije. Uvijek provjerite podršku SMSC-a za napredne zastavice i temeljito testirajte konfiguracije. Za autoritativne pojedinosti, pogledajte SMPP specifikaciju v3.4 ili v5.0.
More information
- Kako konfigurirati polje SMPP vrsta usluge
- Kako konfigurirati polja SMPP telefonskih brojeva
- Kako konfigurirati polje SMPP ESM klasa
- Kako konfigurirati polje SMPP PID
- Kako konfigurirati polje SMPP prioritet
- Kako konfigurirati polje SMPP planirano vrijeme
- Kako konfigurirati polje SMPP rok valjanosti
- Kako konfigurirati polje SMPP registrirana isporuka
- Kako konfigurirati polje SMPP zamijeni ako postoji
- Kako konfigurirati polje sm_default_msg_id
- Kako konfigurirati polje SMPP DCS
- Kako izračunati polje SMPP SM duljina
- Kako staviti podatke u SMPP SM polje