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ță)
Notă: Valorile 0x04-0x0F sunt rezervate. Majoritatea SMSC-urilor ignoră acești biți.

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)
Notă reglementară:
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