Jak nakonfigurovat pole Priority v SMPP
Co je pole Priority?
Priority Flag v SMPP (Short Message Peer-to-Peer Protocol) je 1bajtové pole v SMPP PDU, jako jsou submit_sm a deliver_sm.
Označuje naléhavost zprávy a ovlivňuje, jak SMSC (Short Message Service Centers) zpracovávají fronty, opakované doručování a směrování.
Klíčové případy použití zahrnují:
- Upřednostnění nouzových upozornění před propagačními SMS
- Optimalizace alokace síťových zdrojů
- Splnění požadavků SLA pro vysoce prioritní zprávy
Hodnoty pole Priority a jejich význam
Definované v SMPP v3.4, pole priority používá 4bitovou hodnotu (ačkoli se obvykle používají pouze hodnoty 0-3):
| Priorita (Hex) | Desítkově | Popis |
|---|---|---|
| 0x00 | 0 | Nejnižší priorita (hromadné zprávy) |
| 0x01 | 1 | Normální priorita (standardní SMS) |
| 0x02 | 2 | Interaktivní priorita (časově citlivé) |
| 0x03 | 3 | Nejvyšší priorita (nouzová upozornění) |
Jak priorita ovlivňuje zpracování zpráv
1. Chování ve frontě
Vysoce prioritní zprávy se ve frontách SMSC dostávají na přední místo. Příklad:
Priorita 3: Doručena před zprávami s prioritou 0
2. Opakované pokusy o doručení
Vyšší priority mohou mít více pokusů o doručení. Příklad politiky SMSC:
Priorita 3: 5 pokusů během 24 hodin
Priorita 0: 2 pokusy během 2 hodin
3. Síťové směrování
Některá SMSC směrují vysoce prioritní zprávy přes vyhrazené kanály.
Příklady SMPP PDU
Příklad 1: Hromadná SMS (Priority=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 (PID)
00 // Příznak priority (0x00: Nejnižší)
00 // Čas plánovaného doručení
00 // Doba platnosti
00 // Registrované doručení
00 // Nahradit, pokud existuje
00 // Kódování dat (DCS=0x00)
00 // Výchozí ID zprávy SM
07 // Délka SM (7 septetů)
C8329BFD06DDDF72 // Obsah ("Hello!")
Příklad 2: Nouzové upozornění (Priority=0x03)
0000001D // Délka příkazu (29 bajtů)
00000004 // ID příkazu (SubmitSM)
00000002 // Čí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 (PID)
03 // Příznak priority (0x03: Nejvyšší)
00 // Čas plánovaného doručení
FF // Doba platnosti (max)
01 // Registrované doručení (potvrzení)
00 // Nahradit, pokud existuje
00 // Kódování dat (DCS=0x00)
00 // Výchozí ID zprávy SM
0A // Délka SM (10 septetů)
E8329BFD0E... // Obsah ("ALERT: Flood!")
Interakce s dalšími poli
- Priority bity v ESM Class: Bity 3-2 v ESM Class mohou na některých SMSC přepsat toto pole.
- validity_period: Vysoce prioritní zprávy často mají kratší dobu platnosti (např. 1 hodina vs 3 dny).
- registered_delivery: Zprávy s prioritou 3 často vyžadují potvrzení o doručení.
Běžné problémy
- Předpoklad, že všechna SMSC respektují úrovně priority (ověřte u poskytovatele)
- Záměna SMPP Priority s GSM
TP-Status-Report-Indication - Nastavení Priority=3 pro neurgentní obsah (může porušovat předpisy)
- Nesoulad Priority a validity_period (např. Priority=3 s validity=7 dní)
Některé země omezují použití Priority=3 na autorizované subjekty (např. vládní upozornění).
Priority vs Priority bity v ESM Class
| Pole | Bity | Úrovně priority | Typické použití |
|---|---|---|---|
| SMPP Priority Flag | Celý oktet | 0-3 | End-to-end priorita |
| ESM Class (bity 3-2) | 2 bity | 00=Normální, 01=Interaktivní, 10=Urgentní, 11=Nouzové | Prioritizace na úrovni sítě |
Závěr
Pole Priority je klíčové pro správu naléhavosti doručení SMS, ale vyžaduje pečlivou koordinaci s možnostmi SMSC a předpisy. Vždy testujte chování priority s vaším poskytovatelem a slaďte nastavení s místními telekomunikačními směrnicemi. Pro podrobné implementace se řiďte SMPP v3.4, sekce 5.2.12 a dokumentací GSM 03.40.