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.
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