Ako nakonfigurovať pole Registered Delivery v SMPP

Čo je pole Registered Delivery?

Pole Registered Delivery v SMPP je 1-bajtová bitová maska v PDU ako submit_sm a data_sm, ktorá kontroluje doručovacie potvrdenia a potvrdenia o prijatí. Umožňuje odosielateľom sledovať stav doručenia správy prostredníctvom potvrdení generovaných SMSC. Medzi kľúčové funkcie patrí:

  • Žiadosť o konečné potvrdenie o doručení (úspech/zlyhanie)
  • Povolenie priebežných oznámení o doručení
  • Spracovanie potvrdení SME (Short Message Entity)

Štruktúra poľa a bitová maska

Podľa SMPP v3.4 má pole nasledujúcu bitovú masku:

Bit Popis
0 Potvrdenie o doručení od SMSC (0 = vypnuté, 1 = zapnuté)
1 Potvrdenie od SME (0 = vypnuté, 1 = zapnuté)
2 Priebežné oznámenie (0 = vypnuté, 1 = zapnuté)
3-7 Rezervované
Poznámka: Mnohé SMSC podporujú iba bit 0 (potvrdenia od SMSC). Overte si možnosti u svojho poskytovateľa.

Bežné hodnoty

Hodnota (Hex) Binárne Popis
0x00 00000000 Bez potvrdení
0x01 00000001 Iba potvrdenie o doručení od SMSC
0x03 00000011 Potvrdenie od SMSC + potvrdenie od SME
0x05 00000101 Potvrdenie od SMSC + priebežné oznámenia

Príklady použitia

1. Základné potvrdenia o doručení

registered_delivery: 0x01  // Žiadosť o konečný stav doručenia

2. Správy s vysokou spoľahlivosťou

registered_delivery: 0x05  // Potvrdenie + priebežné oznámenia

3. Obojsmerná komunikácia

registered_delivery: 0x03  // Potvrdenie od SMSC aj SME

Príklady SMPP PDU

Príklad 1: Bez potvrdení (0x00)

0000001D  // Dĺžka príkazu (29 bajtov)
00000004  // ID príkazu (SubmitSM)
00000001  // Poradové číslo
00        // Zdrojový TON
00        // Zdrojový NPI
736F7572636500  // Zdrojová adresa ("source")
00        // Cieľový TON
00        // Cieľový NPI
36353433323100  // Cieľová adresa ("654321")
00        // Trieda ESM
00        // ID protokolu
00        // Príznak priority
00        // Čas naplánovaného doručenia
00        // Platnosť
00        // Registered Delivery (0x00: Bez potvrdení)
00        // Nahradiť, ak je prítomné
00        // Kódovanie dát (DCS=0x00)
00        // Predvolené ID správy
07        // Dĺžka správy (7 septetov)
C8329BFD06DDDF72  // Obsah ("Hello!")

Príklad 2: Potvrdenie o doručení od SMSC (0x01)

0000001D  // Dĺžka príkazu (29 bajtov)
00000004  // ID príkazu (SubmitSM)
00000002  // Poradové číslo
...
00        // Platnosť
01        // Registered Delivery (0x01: Potvrdenie od SMSC)
00        // Nahradiť, ak je prítomné
...

Príklad 3: Priebežné oznámenia (0x05)

0000001D  // Dĺžka príkazu (29 bajtov)
00000004  // ID príkazu (SubmitSM)
00000003  // Poradové číslo
...
05        // Registered Delivery (0x05: Potvrdenie od SMSC + priebežné oznámenia)
...

Formát potvrdenia o doručení

SMSC vracajú potvrdenia prostredníctvom PDU deliver_sm s obsahom vo formáte:

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

Príklad potvrdenia o doručenej správe:

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

Interakcie s inými poľami

  • esm_class: Bit 6 (príznak potvrdenia o doručení) musí byť v súlade s nastaveniami registered_delivery
  • validity_period: Určuje, ako dlho sa SMSC bude pokúšať doručiť správu pred odoslaním potvrdenia o zlyhaní
  • message_id: Kritické pre spárovanie potvrdení s pôvodnými správami

Bežné problémy

  • Povolenie potvrdení, ale nepočúvanie PDU deliver_sm
  • Predpoklad, že všetky SMSC podporujú potvrdenia od SME (0x02)
  • Nesúlad medzi príznakmi registered_delivery a esm_class
  • Ignorovanie limitov SMSC pre generovanie potvrdení
Poznámka k fakturácii:
Niektorí poskytovatelia si účtujú extra poplatky za potvrdenia o doručení. Overte si ceny pred aktiváciou.

Záver

Pole Registered Delivery je nevyhnutné pre sledovanie stavu doručenia SMS v SMPP. Zatiaľ čo základné spracovanie potvrdení (0x01) je široko podporované, pokročilé funkcie ako priebežné oznámenia vyžadujú testovanie konkrétneho SMSC. Vždy implementujte robustné spracovanie potvrdení a spárujte správy pomocou message_id. Pre podrobné správanie sa pozrite na sekciu 5.2.17 v SMPP v3.4 a dokumentáciu vášho poskytovateľa.

More information