Kako konfigurirati polje Registered Delivery v SMPP

Kaj je polje Registered Delivery?

Polje Registered Delivery v SMPP je 1-bajtna bitna maska v PDU-jih, kot sta submit_sm in data_sm, ki nadzira potrditve o dostavi in potrditve prejema. Omogoča pošiljateljem sledenje stanju dostave sporočil prek potrdil, ki jih generira SMSC. Ključne funkcije vključujejo:

  • Zahteva za končna potrdila o dostavi (uspeh/neuspeh)
  • Omogoča vmesna obvestila o dostavi
  • Upravlja potrditve SME (Short Message Entity)

Struktura polja in bitna maska

V SMPP v3.4 je polje definirano z naslednjo strukturo bitne maske:

Bit Opis
0 Potrdilo o dostavi SMSC (0 = onemogočeno, 1 = omogočeno)
1 Potrditev prejema SME (0 = onemogočeno, 1 = omogočeno)
2 Vmesno obvestilo (0 = onemogočeno, 1 = omogočeno)
3-7 Rezervirano
Opomba: Mnogi SMSC podpirajo le bit 0 (potrdila SMSC). Preverite zmogljivosti pri svojem ponudniku.

Pogoste vrednosti

Vrednost (Hex) Binarno Opis
0x00 00000000 Brez zahtevanih potrdil
0x01 00000001 Samo potrdilo o dostavi SMSC
0x03 00000011 Potrdilo SMSC + potrditev SME
0x05 00000101 Potrdilo SMSC + vmesna obvestila

Primeri uporabe

1. Osnovna potrdila o dostavi

registered_delivery: 0x01  // Zahteva za končno stanje dostave

2. Sporočila z visoko zanesljivostjo

registered_delivery: 0x05  // Potrdilo + vmesna obvestila

3. Dvosmerna komunikacija

registered_delivery: 0x03  // Potrdi dostavo tako SMSC kot SME

Primeri SMPP PDU-jev

Primer 1: Brez potrdil (0x00)

0000001D  // Dolžina ukaza (29 bajtov)
00000004  // ID ukaza (SubmitSM)
00000001  // Zaporedna številka
00        // Vir TON
00        // Vir NPI
736F7572636500  // Naslov pošiljatelja ("source")
00        // Cilj TON
00        // Cilj NPI
36353433323100  // Ciljni naslov ("654321")
00        // Razred ESM
00        // Protokol ID
00        // Prioritetna zastavica
00        // Čas načrtovane dostave
00        // Obdobje veljavnosti
00        // Registered Delivery (0x00: Brez potrdil)
00        // Replace-if-Present
00        // Kodiranje podatkov (DCS=0x00)
00        // Privzeti ID sporočila SM
07        // Dolžina SM (7 septetov)
C8329BFD06DDDF72  // Vsebina ("Hello!")

Primer 2: Potrdilo o dostavi SMSC (0x01)

0000001D  // Dolžina ukaza (29 bajtov)
00000004  // ID ukaza (SubmitSM)
00000002  // Zaporedna številka
...
00        // Obdobje veljavnosti
01        // Registered Delivery (0x01: Potrdilo SMSC)
00        // Replace-if-Present
...

Primer 3: Vmesna obvestila (0x05)

0000001D  // Dolžina ukaza (29 bajtov)
00000004  // ID ukaza (SubmitSM)
00000003  // Zaporedna številka
...
05        // Registered Delivery (0x05: Potrdilo SMSC + vmesna obvestila)
...

Oblika potrdila o dostavi

SMSC vrača potrdila prek PDU-jev deliver_sm z vsebino, oblikovano kot:

id:IIIIIIIIII sub:SSS dlvrd:DDD submit date:YYMMDDhhmm done date:YYMMDDhhmm stat:STATUS err:EEE

Primer potrdila za dostavljeno sporočilo:

id:1896384752 sub:001 dlvrd:001 submit date:2310151430 done date:2310151431 stat:DELIVRD err:000

Interakcije z drugimi polji

  • esm_class: Bit 6 (zastavica potrdila o dostavi) mora biti usklajen z nastavitvami registered_delivery
  • validity_period: Določa, kako dolgo bo SMSC poskušal dostaviti sporočilo, preden pošlje potrdilo o neuspehu
  • message_id: Ključno za povezovanje potrdil z izvirnimi sporočili

Pogoste napake

  • Omogočanje potrdil, vendar ne poslušanje PDU-jev deliver_sm
  • Predpostavka, da vsi SMSC podpirajo potrditve SME (0x02)
  • Neusklajenost zastavic registered_delivery in esm_class
  • Ignoriranje omejitev hitrosti SMSC za generiranje potrdil
Opomba o obračunu:
Nekateri ponudniki zaračunavajo dodatno za potrdila o dostavi. Pred aktiviranjem preverite cene.

Zaključek

Polje Registered Delivery je ključno za sledenje stanju dostave SMS-jev v SMPP. Medtem ko je osnovna podpora za potrdila (0x01) široko razširjena, zahtevnejše funkcije, kot so vmesna obvestila, zahtevajo testiranje s specifičnim SMSC. Vedno implementirajte robustno razčlenjevanje potrdil in povezujte sporočila z uporabo message_id. Za podrobno vedenje se posvetujte z razdelkom 5.2.17 SMPP v3.4 in dokumentacijo vašega ponudnika.

More information