Cum să configurezi câmpul Priority în SMPP
Ce este câmpul Priority?
Priority Flag în SMPP (Short Message Peer-to-Peer Protocol) este un câmp de 1 octet în PDU-urile SMPP precum submit_sm
și deliver_sm
.
Acesta indică urgența unui mesaj, influențând modul în care SMSC-urile (Short Message Service Centers) gestionează cozile, încercările de livrare și rutarea.
Cazuri de utilizare cheie includ:
- Prioritizarea alertelor de urgență față de SMS-urile promoționale
- Optimizarea alocării resurselor de rețea
- Îndeplinirea cerințelor SLA pentru mesaje de prioritate ridicată
Valori și interpretare ale câmpului Priority
Definit în SMPP v3.4, flagul de prioritate utilizează o valoare de 4 biți (deși, de obicei, sunt utilizate doar valori 0-3):
Prioritate (Hex) | Zecimal | Descriere |
---|---|---|
0x00 | 0 | Prioritate cea mai mică (mesaje bulk) |
0x01 | 1 | Prioritate normală (SMS standard) |
0x02 | 2 | Prioritate interactivă (sensibilă la timp) |
0x03 | 3 | Prioritate cea mai mare (alerte de urgență) |
Cum afectează Priority gestionarea mesajelor
1. Comportamentul în coadă
Mesajele cu prioritate ridicată trec în față în cozile SMSC. Exemplu:
Prioritate 3: Livrat înaintea mesajelor cu Prioritate 0
2. Reîncercări de livrare
Prioritățile mai ridicate pot primi mai multe încercări de livrare. Exemplu de politică SMSC:
Prioritate 3: 5 reîncercări în 24 de ore Prioritate 0: 2 reîncercări în 2 ore
3. Rutarea în rețea
Unele SMSC-uri routează mesajele cu prioritate ridicată prin canale dedicate.
Exemple de PDU-uri SMPP
Exemplul 1: SMS Bulk (Priority=0x00)
0000001D // Lungimea comenzii (29 de octeți) 00000004 // ID-ul comenzii (SubmitSM) 00000001 // Numărul de secvență 00 // Sursa TON 00 // Sursa NPI 736F7572636500 // Adresa sursă ("source") 00 // Destinația TON 00 // Destinația NPI 36353433323100 // Adresa destinație ("654321") 00 // Clasa ESM 00 // Protocol ID (PID) 00 // Flagul de prioritate (0x00: Cea mai mică) 00 // Ora de livrare programată 00 // Perioada de valabilitate 00 // Livrare înregistrată 00 // Înlocuire-dacă-prezent 00 // Codarea datelor (DCS=0x00) 00 // ID-ul implicit al mesajului SM 07 // Lungimea SM (7 septeți) C8329BFD06DDDF72 // Conținut ("Hello!")
Exemplul 2: Alertă de urgență (Priority=0x03)
0000001D // Lungimea comenzii (29 de octeți) 00000004 // ID-ul comenzii (SubmitSM) 00000002 // Numărul de secvență 00 // Sursa TON 00 // Sursa NPI 736F7572636500 // Adresa sursă ("source") 00 // Destinația TON 00 // Destinația NPI 36353433323100 // Adresa destinație ("654321") 00 // Clasa ESM 00 // Protocol ID (PID) 03 // Flagul de prioritate (0x03: Cea mai mare) 00 // Ora de livrare programată FF // Perioada de valabilitate (maximă) 01 // Livrare înregistrată (confirmare) 00 // Înlocuire-dacă-prezent 00 // Codarea datelor (DCS=0x00) 00 // ID-ul implicit al mesajului SM 0A // Lungimea SM (10 septeți) E8329BFD0E... // Conținut ("ALERTĂ: Inundație!")
Interacțiuni cu alte câmpuri
- Biții de prioritate din ESM Class: Biții 3-2 din ESM Class pot suprascrie acest câmp pe unele SMSC-uri.
- validity_period: Mesajele cu prioritate ridicată au adesea o valabilitate mai scurtă (de ex., 1 oră vs 3 zile).
- registered_delivery: Mesajele cu Prioritate 3 necesită adesea confirmări de livrare.
Capcane comune
- Presupunerea că toate SMSC-urile respectă nivelurile de prioritate (verifică cu furnizorul)
- Confundarea Priority din SMPP cu
TP-Status-Report-Indication
din GSM - Setarea Priority=3 pentru conținut neurgent (poate încălca reglementările)
- Neconcordanța dintre Priority și validity_period (de ex., Priority=3 cu validity=7 zile)
Unele țări restricționează utilizarea Priority=3 la entități autorizate (de ex., alerte guvernamentale).
Priority vs Biții de prioritate din ESM Class
Câmp | Biți | Niveluri de prioritate | Utilizare tipică |
---|---|---|---|
Flagul de prioritate SMPP | Întreg octet | 0-3 | Prioritate end-to-end |
ESM Class (biții 3-2) | 2 biți | 00=Normal, 01=Interactiv, 10=Urgent, 11=Urgență | Prioritizare la nivel de rețea |
Concluzie
Câmpul Priority este crucial pentru gestionarea urgenței livrării SMS-urilor, dar necesită o coordonare atentă cu capacitățile SMSC-ului și reglementările. Testează întotdeauna comportamentul priorității cu furnizorul tău și aliniază setările cu ghidurile locale de telecomunicații. Pentru implementări detaliate, consultă SMPP v3.4 Secțiunea 5.2.12 și documentația GSM 03.40.