Jak skonfigurować pole Priority w SMPP
Co to jest pole Priority?
Flaga Priority w SMPP (Short Message Peer-to-Peer Protocol) to 1-bajtowe pole w PDU SMPP, takich jak submit_sm
i deliver_sm
.
Wskazuje ono pilność wiadomości, wpływając na sposób, w jaki SMSC (Short Message Service Centers) obsługują kolejkowanie, ponowne próby dostarczenia i routing.
Kluczowe przypadki użycia obejmują:
- Priorytetyzowanie alertów awaryjnych nad SMS-ami promocyjnymi
- Optymalizację alokacji zasobów sieciowych
- Spełnianie wymagań SLA dla wiadomości o wysokim priorytecie
Wartości pola Priority i ich interpretacja
Zdefiniowana w SMPP v3.4 flaga priority używa 4-bitowej wartości (choć zazwyczaj używane są tylko wartości 0-3):
Priority (Hex) | Dziesiętnie | Opis |
---|---|---|
0x00 | 0 | Najniższy priorytet (wiadomości masowe) |
0x01 | 1 | Normalny priorytet (standardowe SMS-y) |
0x02 | 2 | Priorytet interaktywny (czasowo wrażliwy) |
0x03 | 3 | Najwyższy priorytet (alerty awaryjne) |
Jak Priority wpływa na obsługę wiadomości
1. Zachowanie kolejkowania
Wiadomości o wysokim priorytecie przeskakują na początek kolejek SMSC. Przykład:
Priority 3: Dostarczane przed wiadomościami Priority 0
2. Ponowne próby dostarczenia
Wyższe priorytety mogą otrzymać więcej prób dostarczenia. Przykładowa polityka SMSC:
Priority 3: 5 prób w ciągu 24 godzin Priority 0: 2 próby w ciągu 2 godzin
3. Routing sieciowy
Niektóre SMSC routują wiadomości o wysokim priorytecie przez dedykowane kanały.
Przykładowe PDU SMPP
Przykład 1: SMS masowy (Priority=0x00)
0000001D // Długość polecenia (29 bajtów) 00000004 // ID polecenia (SubmitSM) 00000001 // Numer sekwencji 00 // Źródłowy TON 00 // Źródłowy NPI 736F7572636500 // Adres źródłowy ("source") 00 // Docelowy TON 00 // Docelowy NPI 36353433323100 // Adres docelowy ("654321") 00 // Klasa ESM 00 // ID protokołu (PID) 00 // Flaga Priority (0x00: Najniższy) 00 // Czas planowanego dostarczenia 00 // Okres ważności 00 // Zarejestrowane dostarczenie 00 // Zastąp-jeśli-obecne 00 // Kodowanie danych (DCS=0x00) 00 // Domyślne ID wiadomości SM 07 // Długość SM (7 septetów) C8329BFD06DDDF72 // Ładunek ("Hello!")
Przykład 2: Alert awaryjny (Priority=0x03)
0000001D // Długość polecenia (29 bajtów) 00000004 // ID polecenia (SubmitSM) 00000002 // Numer sekwencji 00 // Źródłowy TON 00 // Źródłowy NPI 736F7572636500 // Adres źródłowy ("source") 00 // Docelowy TON 00 // Docelowy NPI 36353433323100 // Adres docelowy ("654321") 00 // Klasa ESM 00 // ID protokołu (PID) 03 // Flaga Priority (0x03: Najwyższy) 00 // Czas planowanego dostarczenia FF // Okres ważności (maks.) 01 // Zarejestrowane dostarczenie (potwierdzenie) 00 // Zastąp-jeśli-obecne 00 // Kodowanie danych (DCS=0x00) 00 // Domyślne ID wiadomości SM 0A // Długość SM (10 septetów) E8329BFD0E... // Ładunek ("ALERT: Flood!")
Interakcje z innymi polami
- Bity Priority w klasie ESM: Bity 3-2 klasy ESM mogą nadpisać to pole w niektórych SMSC.
- validity_period: Wiadomości o wysokim priorytecie często mają krótszy okres ważności (np. 1 godzina vs 3 dni).
- registered_delivery: Wiadomości Priority 3 często wymagają potwierdzeń dostarczenia.
Typowe pułapki
- Zakładanie, że wszystkie SMSC respektują poziomy priorytetów (należy to zweryfikować z dostawcą)
- Mylenie Priority SMPP z
TP-Status-Report-Indication
w GSM - Ustawianie Priority=3 dla treści niebędących alarmami (może naruszać przepisy)
- Niezgodność Priority i validity_period (np. Priority=3 z validity=7 dni)
W niektórych krajach użycie Priority=3 jest ograniczone do uprawnionych podmiotów (np. alerty rządowe).
Priority vs bity Priority w klasie ESM
Pole | Bity | Poziomy priorytetów | Typowe użycie |
---|---|---|---|
Flaga Priority SMPP | Cały oktet | 0-3 | Priorytet end-to-end |
Klasa ESM (bity 3-2) | 2 bity | 00=Normalny, 01=Interaktywny, 10=Pilny, 11=Awaryjny | Priorytetyzacja na poziomie sieci |
Podsumowanie
Pole Priority jest kluczowe dla zarządzania pilnością dostarczania SMS-ów, ale wymaga starannej koordynacji z możliwościami SMSC i przepisami. Zawsze testuj zachowanie priorytetów z dostawcą i dostosuj ustawienia do lokalnych wytycznych telekomunikacyjnych. Szczegółowe implementacje można znaleźć w SMPP v3.4 Sekcja 5.2.12 i dokumentacji GSM 03.40.
More information
- Jak skonfigurować pole Typ usługi SMPP
- Jak skonfigurować pola numerów telefonów SMPP
- Jak skonfigurować pole klasy ESM SMPP
- Jak skonfigurować pole PID SMPP
- Jak skonfigurować pole priorytetu SMPP
- Jak skonfigurować pole zaplanowanego czasu SMPP
- Jak skonfigurować pole okresu ważności SMPP
- Jak skonfigurować pole zarejestrowanej dostawy SMPP
- Jak skonfigurować pole Zastąp jeśli obecne SMPP
- Jak skonfigurować pole sm_default_msg_id
- Jak skonfigurować pole DCS SMPP
- Jak obliczyć pole długości wiadomości SMPP
- Jak umieścić dane w polu SM SMPP