Razumevanje polja SMPP PID
Kaj je polje SMPP PID?
Protokolni identifikator (PID) v SMPP (Short Message Peer-to-Peer Protocol) je 1-bajtno polje znotraj SMPP PDU (Protocol Data Units).
Identificira protokol, ki ga uporablja izvorni sistem, ali zagotavlja posebna navodila za obdelavo sporočil. Polje PID je definirano v operacijah
submit_sm
, deliver_sm
in data_sm
ter je ključno za:
- Določanje protokolov višjih plasti (npr. X.400, Telnet)
- Sprožanje posebnih vrst sporočil (npr. obvestila o govorni pošti)
- Obdelavo zamenjave sporočil (npr. prepisovanje obstoječih sporočil)
Struktura in bitna maska PID
PID je bitna maska, kjer specifični biti nadzorujejo obnašanje protokola. Njegova struktura je skladna s specifikacijami GSM 03.40:
Bit | Opis |
---|---|
7-5 | Vrsta protokola: Označuje protokol (npr. GSM, Telex ali SMS). |
4-0 | Navodila/Zastavice: Posebna obdelava (npr. zamenjava sporočila, govorna pošta). |
Ključne vrednosti PID in njihova interpretacija
PID (Hex) | Binarno | Opis |
---|---|---|
0x00 | 00000000 | Privzeto (brez posebnega protokola) |
0x01 | 00000001 | Telex (zastarelo) |
0x03 | 00000011 | X.400 (zastarelo) |
0x40 | 01000000 | Sporočilo o povratnem klicu (obdelava SIM kartice) |
0x41 | 01000001 | Zamenjava kratkega sporočila (prepisovanje obstoječega) |
0x42 | 01000010 | Obvestilo o govorni pošti |
0x7F | 01111111 | Rezervirano za prihodnjo uporabo |
Primeri uporabe in scenariji
1. Zamenjava sporočila (PID=0x41)
Uporablja se za prepisovanje obstoječega sporočila, shranjenega na napravi prejemnika. Običajno v sistemih z enkratnim geslom (OTP), kjer novo geslo nadomesti starega.
2. Obvestilo o govorni pošti (PID=0x42)
Sproži vizualno/zvočno opozorilo na napravi prejemnika za novo govorno pošto. Telo SMS-a je pogosto prazno, saj je PID sam sprožilec.
3. Prenos podatkov na SIM (PID=0x40)
Navede SIM kartico, naj obdela sporočilo (npr. posodobitev vnaprej nastavljenih nastavitev).
Primeri SMPP PDU z PID
Primer 1: Privzeti PID (0x00)
0000001D // Dolžina ukaza (29 bajtov) 00000004 // ID ukaza (SubmitSM) 00000001 // Zaporedna številka 00 // Vir TON 00 // Vir NPI 736F7572636500 // Naslov pošiljatelja ("source") 00 // Cilj TON 00 // Cilj NPI 36353433323100 // Naslov prejemnika ("654321") 00 // Razred ESM 00 // Protokolni ID (PID=0x00) 00 // Prioritetna zastavica 00 // Čas načrtovane dostave 00 // Obdobje veljavnosti 00 // Registrirana dostava 00 // Zamenjava, če je prisotna 00 // Shema kodiranja podatkov (DCS=0x00) 00 // Privzeti ID sporočila SM 07 // Dolžina SM (7 septetov) C8329BFD06DDDF72 // Nosečina ("Hello!")
Primer 2: Obvestilo o govorni pošti (PID=0x42)
0000001D // Dolžina ukaza (29 bajtov) 00000004 // ID ukaza (SubmitSM) 00000002 // Zaporedna številka 00 // Vir TON 00 // Vir NPI 736F7572636500 // Naslov pošiljatelja ("source") 00 // Cilj TON 00 // Cilj NPI 36353433323100 // Naslov prejemnika ("654321") 00 // Razred ESM 42 // Protokolni ID (PID=0x42: Govorna pošta) 00 // Prioritetna zastavica 00 // Čas načrtovane dostave 00 // Obdobje veljavnosti 00 // Registrirana dostava 00 // Zamenjava, če je prisotna 00 // Kodiranje podatkov (DCS=0x00) 00 // Privzeti ID sporočila SM 00 // Dolžina SM (0 bajtov: Brez nosečine)
Primer 3: Zamenjava obstoječega sporočila (PID=0x41)
0000001D // Dolžina ukaza (29 bajtov) 00000004 // ID ukaza (SubmitSM) 00000003 // Zaporedna številka 00 // Vir TON 00 // Vir NPI 736F7572636500 // Naslov pošiljatelja ("source") 00 // Cilj TON 00 // Cilj NPI 36353433323100 // Naslov prejemnika ("654321") 00 // Razred ESM 41 // Protokolni ID (PID=0x41: Zamenjava) 00 // Prioritetna zastavica 00 // Čas načrtovane dostave 00 // Obdobje veljavnosti 01 // Registrirana dostava (zahtevano potrdilo) 00 // Zamenjava, če je prisotna 00 // Kodiranje podatkov (DCS=0x00) 00 // Privzeti ID sporočila SM 07 // Dolžina SM (7 septetov) C8329BFD06DDDF72 // Nosečina ("New OTP: 1234")
Interakcija PID s TP-Protocol-Identifier (GSM)
V omrežjih GSM se PID preslika v TP-Protocol-Identifier
v SMS TPDU. Ključne preslikave vključujejo:
- 0x41: Ukaz za zamenjavo (GSM 03.40 TP-PID=0x41)
- 0x42: Govorna pošta (GSM 03.40 TP-PID=0x42)
Pogoste pasti
- Uporaba rezerviranih vrednosti PID (npr. 0x7F) brez podpore SMSC.
- Neujemanje PID in DCS (npr. uporaba kodiranja UCS2 za podatke SIM).
- Ignoriranje pravil, specifičnih za omrežje (npr. PID=0x40 lahko zahteva posebno konfiguracijo SMSC).
Zaključek
Polje PID je bistveno za napredno usmerjanje in obdelavo SMS-ov. Čeprav je pogosto nastavljeno na 0x00 (privzeto), njegove specializirane vrednosti omogočajo funkcije, kot so zamenjava sporočil, posodobitve SIM in opozorila o govorni pošti. Vedno preizkusite konfiguracijo PID s svojim SMSC in se za natančno obnašanje sklicujte na specifikacije GSM 03.40 ali SMPP v5.0.
More information
- Kako konfigurirati polje Vrsta storitve SMPP
- Kako konfigurirati polja Telefonske številke SMPP
- Kako konfigurirati polje SMPP ESM Class
- Kako konfigurirati polje SMPP PID
- Kako konfigurirati polje SMPP Prioritetnost
- Kako konfigurirati polje SMPP Načrtovani čas
- Kako konfigurirati polje SMPP Veljavnost
- Kako konfigurirati polje SMPP Registrirana dostava
- Kako konfigurirati polje SMPP Zamenjaj, če je prisoten
- Kako konfigurirati polje sm_default_msg_id
- Kako konfigurirati polje SMPP DCS
- Kako izračunati polje SMPP Dolžina SM
- Kako vnesti podatke v polje SMPP SM