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é |
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
aesm_class
- Ignorovanie limitov SMSC pre generovanie potvrdení
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
- How to configure the SMPP Service Type field
- How to configure the SMPP Phone Number fields
- How to configure the SMPP ESM Class field
- How to configure the SMPP PID field
- How to configure the SMPP Prioirity field
- How to configure the SMPP Scheduled Time field
- How to configure the SMPP Validity Period field
- How to configure the SMPP Registered Delivery field
- How to configure the SMPP Replace if Present field
- How to configure the sm_default_msg_id field
- How to configure the SMPP DCS field
- How to calculate the SMPP SM Length field
- How to put data into the SMPP SM field