Jak nakonfigurovat pole Registered Delivery v SMPP
Co je pole Registered Delivery?
Pole Registered Delivery v SMPP je 1bajtová bitová maska v PDU jako submit_sm
a data_sm
, která řídí
doručovací potvrzení a potvrzení o přijetí. Umožňuje odesílatelům sledovat stav doručení zpráv prostřednictvím potvrzení generovaných SMSC. Mezi klíčové funkce patří:
- Žádost o konečné potvrzení doručení (úspěch/neúspěch)
- Povolení průběžných oznámení o doručení
- Zpracování potvrzení od SME (Short Message Entity)
Struktura pole a bitová maska
Definováno v SMPP v3.4, pole používá následující bitovou masku:
Bit | Popis |
---|---|
0 | Potvrzení doručení od SMSC (0 = vypnuto, 1 = zapnuto) |
1 | Potvrzení od SME (0 = vypnuto, 1 = zapnuto) |
2 | Průběžné oznámení (0 = vypnuto, 1 = zapnuto) |
3-7 | Rezervováno |
Běžné hodnoty
Hodnota (Hex) | Binární | Popis |
---|---|---|
0x00 | 00000000 | Bez potvrzení |
0x01 | 00000001 | Pouze potvrzení od SMSC |
0x03 | 00000011 | Potvrzení od SMSC + potvrzení od SME |
0x05 | 00000101 | Potvrzení od SMSC + průběžná oznámení |
Příklady použití
1. Základní potvrzení doručení
registered_delivery: 0x01 // Žádost o konečný stav doručení
2. Vysoká spolehlivost zpráv
registered_delivery: 0x05 // Potvrzení + průběžná oznámení
3. Obousměrná komunikace
registered_delivery: 0x03 // Potvrzení od SMSC i SME
Příklady SMPP PDU
Příklad 1: Bez potvrzení (0x00)
0000001D // Délka příkazu (29 bajtů) 00000004 // ID příkazu (SubmitSM) 00000001 // Číslo sekvence 00 // Zdrojový TON 00 // Zdrojový NPI 736F7572636500 // Zdrojová adresa ("source") 00 // Cílový TON 00 // Cílový NPI 36353433323100 // Cílová adresa ("654321") 00 // Třída ESM 00 // ID protokolu 00 // Priorita 00 // Čas plánovaného doručení 00 // Platnost 00 // Registered Delivery (0x00: Bez potvrzení) 00 // Nahradit, pokud existuje 00 // Kódování dat (DCS=0x00) 00 // Výchozí ID zprávy 07 // Délka zprávy (7 septetů) C8329BFD06DDDF72 // Obsah ("Hello!")
Příklad 2: Potvrzení od SMSC (0x01)
0000001D // Délka příkazu (29 bajtů) 00000004 // ID příkazu (SubmitSM) 00000002 // Číslo sekvence ... 00 // Platnost 01 // Registered Delivery (0x01: Potvrzení od SMSC) 00 // Nahradit, pokud existuje ...
Příklad 3: Průběžná oznámení (0x05)
0000001D // Délka příkazu (29 bajtů) 00000004 // ID příkazu (SubmitSM) 00000003 // Číslo sekvence ... 05 // Registered Delivery (0x05: Potvrzení od SMSC + průběžná oznámení) ...
Formát potvrzení doručení
SMSC vrací potvrzení prostřednictvím PDU deliver_sm
s obsahem ve formátu:
id:IIIIIIIIII sub:SSS dlvrd:DDD submit date:YYMMDDhhmm done date:YYMMDDhhmm stat:STATUS err:EEE
Příklad potvrzení pro doručenou zprávu:
id:1896384752 sub:001 dlvrd:001 submit date:2310151430 done date:2310151431 stat:DELIVRD err:000
Interakce s dalšími poli
- esm_class: Bit 6 (flag potvrzení doručení) musí odpovídat nastavení registered_delivery
- validity_period: Určuje, jak dlouho se SMSC bude pokoušet o doručení před odesláním potvrzení o neúspěchu
- message_id: Klíčové pro propojení potvrzení s původními zprávami
Běžné problémy
- Povolení potvrzení, ale neposlouchání PDU
deliver_sm
- Předpoklad, že všechny SMSC podporují potvrzení od SME (0x02)
- Nesoulad mezi flagy
registered_delivery
aesm_class
- Ignorování limitů SMSC pro generování potvrzení
Někteří poskytovatelé účtují extra poplatky za potvrzení doručení. Ověřte si ceny před aktivací.
Závěr
Pole Registered Delivery je klíčové pro sledování stavu doručení SMS v SMPP. Zatímco základní potvrzení (0x01) je široce podporováno,
pokročilé funkce jako průběžná oznámení vyžadují testování specifické pro SMSC. Vždy implementujte robustní parsování potvrzení a propojujte zprávy
pomocí message_id
. Pro podrobné chování konzultujte SMPP v3.4 Sekci 5.2.17 a dokumentaci vašeho poskytovatele.
More information
- Jak nakonfigurovat pole Typ služby SMPP
- Jak nakonfigurovat pole Telefonní čísla SMPP
- Jak nakonfigurovat pole Třída ESM SMPP
- Jak nakonfigurovat pole PID SMPP
- Jak nakonfigurovat pole Priorita SMPP
- Jak nakonfigurovat pole Naplánovaný čas SMPP
- Jak nakonfigurovat pole Platnost SMPP
- Jak nakonfigurovat pole Registrované doručení SMPP
- Jak nakonfigurovat pole Nahradit pokud existuje SMPP
- Jak nakonfigurovat pole sm_default_msg_id
- Jak nakonfigurovat pole DCS SMPP
- Jak vypočítat pole Délka SM SMPP
- Jak vložit data do pole SMPP SM