Kako konfigurirati SMPP polje Registered Delivery
Što je polje Registered Delivery?
Polje Registered Delivery u SMPP-u je 1-bajtna bitmask u PDU-ovima poput submit_sm i data_sm koja kontrolira
potvrde o isporuci i potvrde o prijemu. Omogućuje pošiljateljima da prate status isporuke poruka putem potvrda generiranih od strane SMSC-a. Ključne funkcije uključuju:
- Zahtjev za konačnim potvrdama o isporuci (uspjeh/neuspjeh)
- Omogućavanje međuobavijesti o isporuci
- Rukovanje potvrdama SME (Short Message Entity)
Struktura polja i bitmask
Definirano u SMPP v3.4, polje koristi sljedeću strukturu bitmaske:
| Bit | Opis |
|---|---|
| 0 | SMSC potvrda o isporuci (0 = onemogućeno, 1 = omogućeno) |
| 1 | SME potvrda o prijemu (0 = onemogućeno, 1 = omogućeno) |
| 2 | Međuobavijest (0 = onemogućeno, 1 = omogućeno) |
| 3-7 | Rezervirano |
Uobičajene vrijednosti
| Vrijednost (Hex) | Binarno | Opis |
|---|---|---|
| 0x00 | 00000000 | Nema zahtjeva za potvrdama |
| 0x01 | 00000001 | Samo SMSC potvrda o isporuci |
| 0x03 | 00000011 | SMSC potvrda + SME potvrda o prijemu |
| 0x05 | 00000101 | SMSC potvrda + međuobavijesti |
Primjeri korištenja
1. Osnovne potvrde o isporuci
registered_delivery: 0x01 // Zahtjev za konačnim statusom isporuke
2. Poruke visoke pouzdanosti
registered_delivery: 0x05 // Potvrda + međuobavijesti
3. Dvosmjerna komunikacija
registered_delivery: 0x03 // Potvrda i SMSC i SME isporuke
Primjeri SMPP PDU-ova
Primjer 1: Bez potvrda (0x00)
0000001D // Duljina naredbe (29 bajtova)
00000004 // ID naredbe (SubmitSM)
00000001 // Redni broj
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 klasa
00 // ID protokola
00 // Zastavica prioriteta
00 // Vrijeme planirane isporuke
00 // Rok valjanosti
00 // Registered Delivery (0x00: Bez potvrda)
00 // Zamijeni ako postoji
00 // Kodiranje podataka (DCS=0x00)
00 // Zadani ID poruke
07 // Duljina poruke (7 septeta)
C8329BFD06DDDF72 // Sadržaj ("Hello!")
Primjer 2: SMSC potvrda o isporuci (0x01)
0000001D // Duljina naredbe (29 bajtova)
00000004 // ID naredbe (SubmitSM)
00000002 // Redni broj
...
00 // Rok valjanosti
01 // Registered Delivery (0x01: SMSC potvrda)
00 // Zamijeni ako postoji
...
Primjer 3: Međuobavijesti (0x05)
0000001D // Duljina naredbe (29 bajtova)
00000004 // ID naredbe (SubmitSM)
00000003 // Redni broj
...
05 // Registered Delivery (0x05: SMSC potvrda + međuobavijesti)
...
Format potvrde o isporuci
SMSC-ovi vraćaju potvrde putem deliver_sm PDU-ova sa sadržajem formatiranim kao:
id:IIIIIIIIII sub:SSS dlvrd:DDD submit date:YYMMDDhhmm done date:YYMMDDhhmm stat:STATUS err:EEE
Primjer potvrde za isporučenu poruku:
id:1896384752 sub:001 dlvrd:001 submit date:2310151430 done date:2310151431 stat:DELIVRD err:000
Interakcije s drugim poljima
- esm_class: Bit 6 (zastavica potvrde o isporuci) mora biti usklađen s postavkama registered_delivery
- validity_period: Određuje koliko dugo će SMSC pokušavati isporuku prije slanja potvrde o neuspjehu
- message_id: Ključno za povezivanje potvrda s izvornim porukama
Uobičajene zamke
- Omogućavanje potvrda ali ne slušanje
deliver_smPDU-ova - Pretpostavka da svi SMSC-ovi podržavaju SME potvrde (0x02)
- Neusklađenost
registered_deliveryiesm_classzastavica - Zanemarivanje ograničenja brzine SMSC-a za generiranje potvrda
Neki davatelji usluga naplaćuju dodatno za potvrde o isporuci. Provjerite cijene prije omogućavanja.
Zaključak
Polje Registered Delivery ključno je za praćenje statusa isporuke SMS-ova u SMPP-u. Dok je osnovno rukovanje potvrdama (0x01) široko podržano,
napredne značajke poput međuobavijesti zahtijevaju testiranje specifično za SMSC. Uvijek implementirajte robusno parsiranje potvrda i povezujte poruke
koristeći message_id. Za detaljno ponašanje, konzultirajte SMPP v3.4 Odjeljak 5.2.17 i dokumentaciju svog davatelja usluga.