Kako konfigurisati SMPP ESM Class polje
Podešavanja ESM klase u Ozeki SMS Gateway-u
Ozeki SMS Gateway vam omogućava ručno podešavanje ESM class polja (Slika 1)
Šta je ESM Class polje?
Extended Service Message (ESM) Class u SMPP je 1-bajtno polje u SMPP PDU-ima koje kontroliše napredne funkcije rukovanja porukama.
Koristi se u submit_sm
, deliver_sm
, i data_sm
operacijama da specificira:
- Tipove poruka (npr. SMS, potvrda o isporuci)
- Ponašanje potvrde o isporuci
- Prisustvo UDH (User Data Header)
- Prioritet poruke i flagove za rutiranje
Struktura ESM Class i bitmask
ESM klasa je bitmask gde svaki bit ili grupa bitova aktivira specifične funkcije:
Bitovi | Opis |
---|---|
7 | Mod slanja poruka: 0 = Podrazumevano, 1 = Datagram |
6 | Tip poruke: 0 = Normalna, 1 = Potvrda o isporuci |
5 | UDHI indikator: 1 = UDH prisutan u sadržaju |
4 | Putanja odgovora: 1 = Zahtevana putanja odgovora |
3-2 | Prioritet poruke (00 = Normalan, 01 = Interaktivan, 10 = Hitno, 11 = Hitno hitno) |
1-0 | Rezervisano |
Uobičajene vrednosti ESM Class
ESM (Hex) | Binarno | Opis |
---|---|---|
0x00 | 00000000 | Podrazumevano (bez specijalnog rukovanja) |
0x04 | 00000100 | UDHI flag postavljen (UDH prisutan) |
0x08 | 00001000 | Zahtevana putanja odgovora |
0x20 | 00100000 | Potvrda o isporuci (bit 6 = 1) |
0x30 | 00110000 | Hitni prioritet + potvrda o isporuci |
0x60 | 01100000 | Datagram mod + potvrda o isporuci |
Ključni slučajevi upotrebe
1. Spojeni SMS (UDHI flag)
Prilikom slanja višedelnih poruka, postavite bit 5 (UDHI=1) i uključite User Data Header (UDH) u sadržaj. Primer za 3-delnu poruku:
ESM Class: 0x40 (binarno 01000000: UDHI omogućen) Sadržaj: 05 00 03 02 01 // UDH (5 bajta: IEI=00, IEDL=03, deo 1 od 2) C8329BFD06 // GSM-7 sadržaj ("Zdravo")
2. Zahtevi za potvrdom o isporuci
Postavite bit 6 (0x20) da zatražite potvrdu o isporuci. Često se kombinuje sa registered_delivery
poljem:
ESM Class: 0x20 (binarno 00100000) registered_delivery: 0x01 (zahtev za potvrdom)
3. Poruke sa prioritetom
Koristite bitove 3-2 da postavite prioritet poruka. Primer za hitni prioritet:
ESM Class: 0x10 (binarno 00010000: Hitni prioritet)
Primeri SMPP PDU-a
Primer 1: Osnovni SMS (ESM=0x00)
0000001D // Dužina komande (29 bajta) 00000004 // ID komande (SubmitSM) 00000001 // Redni broj sekvence 00 // Source TON 00 // Source NPI 736F7572636500 // Source adresa ("source") 00 // Dest TON 00 // Dest NPI 36353433323100 // Destinaciona adresa ("654321") 00 // ESM Class (0x00: Podrazumevano) 00 // Protocol ID (PID) 00 // Prioritet 00 // Vreme planirane isporuke 00 // Period važenja 00 // Registrovana isporuka 00 // Zameni ako postoji 00 // Kodiranje podataka (DCS=0x00) 00 // Podrazumevani ID poruke 07 // Dužina poruke (7 septeta) C8329BFD06DDDF72 // Sadržaj ("Zdravo!")
Primer 2: Spojeni SMS (ESM=0x40)
00000025 // Dužina komande (37 bajta) 00000004 // ID komande (SubmitSM) 00000002 // Redni broj sekvence 00 // Source TON 00 // Source NPI 736F7572636500 // Source adresa ("source") 00 // Dest TON 00 // Dest NPI 36353433323100 // Destinaciona adresa ("654321") 40 // ESM Class (0x40: UDHI omogućen) 00 // Protocol ID (PID) 00 // Prioritet 00 // Vreme planirane isporuke 00 // Period važenja 00 // Registrovana isporuka 00 // Zameni ako postoji 00 // Kodiranje podataka (DCS=0x00) 00 // Podrazumevani ID poruke 0C // Dužina poruke (12 bajta) 0500030201C8329BFD06DDDF72 // UDH + "Zdravo" (Deo 1/2)
Primer 3: Potvrda o isporuci (ESM=0x20)
0000001D // Dužina komande (29 bajta) 00000004 // ID komande (SubmitSM) 00000003 // Redni broj sekvence 00 // Source TON 00 // Source NPI 736F7572636500 // Source adresa ("source") 00 // Dest TON 00 // Dest NPI 36353433323100 // Destinaciona adresa ("654321") 20 // ESM Class (0x20: Potvrda o isporuci) 00 // Protocol ID (PID) 00 // Prioritet 00 // Vreme planirane isporuke 00 // Period važenja 01 // Registrovana isporuka (zahtev za potvrdom) 00 // Zameni ako postoji 00 // Kodiranje podataka (DCS=0x00) 00 // Podrazumevani ID poruke 07 // Dužina poruke (7 septeta) C8329BFD06DDDF72 // Sadržaj ("Zdravo!")
Interakcije sa drugim poljima
- UDHI (ESM) + DCS: Ako je UDHI postavljen, osigurajte da DCS podržava UDH (npr. GSM-7 ili 8-bit).
- ESM Class + registered_delivery: Koristite oba da eksplicitno zatražite potvrdu o isporuci.
- Prioritet bitovi + Prioritet flag: Neki SMSC-ovi daju prioritet porukama na osnovu ESM bitova umesto zasebnog prioritetnog polja.
Uobičajene greške
- Postavljanje UDHI bez uključivanja validnog User Data Header-a.
- Korišćenje flagova za potvrdu o isporuci (ESM=0x20) bez postavljanja
registered_delivery
. - Neusklađenost ESM prioritet bitova sa zasebnim
priority_flag
poljem.
Zaključak
ESM klasa je moćan alat za kontrolu ponašanja poruka u SMPP-u. Njen dizajn sa bitmaskom omogućava funkcije kao što su spajanje, potvrde i prioritizacija. Uvek proverite da li SMSC podržava napredne flagove i temeljito testirajte konfiguracije. Za autoritativne detalje, pogledajte SMPP specifikaciju v3.4 ili v5.0.
More information
- Kako konfigurisati SMPP Tip usluge polje
- Kako konfigurisati SMPP polja za telefonske brojeve
- Kako konfigurisati SMPP ESM Class polje
- Kako konfigurisati SMPP PID polje
- Kako konfigurisati SMPP Prioritet polje
- Kako konfigurisati SMPP Zakazano vreme polje
- Kako konfigurisati SMPP Period važenja polje
- Kako konfigurisati SMPP Registrovana isporuka polje
- Kako konfigurisati SMPP Zameni ako postoji polje
- Kako konfigurisati sm_default_msg_id polje
- Kako konfigurisati SMPP DCS polje
- Kako izračunati SMPP SM Dužina polje
- Kako uneti podatke u SMPP SM polje