Porozumění poli SMPP PID
Co je pole SMPP PID?
Protokolový identifikátor (PID) v SMPP (Short Message Peer-to-Peer Protocol) je 1bajtové pole v rámci SMPP PDU (Protocol Data Units).
Identifikuje protokol používaný zdrojovým systémem nebo poskytuje speciální instrukce pro zpracování zprávy. Pole PID je definováno v operacích
submit_sm
, deliver_sm
a data_sm
a je klíčové pro:
- Specifikaci protokolů vyšších vrstev (např. X.400, Telnet)
- Aktivaci speciálních typů zpráv (např. upozornění na hlasovou poštu)
- Zpracování nahrazení zprávy (např. přepsání existujících zpráv)
Struktura PID a bitová maska
PID je bitová maska, kde specifické bity řídí chování protokolu. Jeho struktura odpovídá specifikacím GSM 03.40:
Bity | Popis |
---|---|
7-5 | Typ protokolu: Určuje protokol (např. GSM, Telex nebo SMS). |
4-0 | Instrukce/Příznaky: Speciální zpracování (např. nahrazení zprávy, hlasová pošta). |
Klíčové hodnoty PID a jejich interpretace
PID (Hex) | Binární | Popis |
---|---|---|
0x00 | 00000000 | Výchozí (žádný speciální protokol) |
0x01 | 00000001 | Telex (zastaralé) |
0x03 | 00000011 | X.400 (zastaralé) |
0x40 | 01000000 | Zpráva pro zpětné volání (zpracování SIM karty) |
0x41 | 01000001 | Nahrazení krátké zprávy (přepsání existující) |
0x42 | 01000010 | Upozornění na hlasovou poštu |
0x7F | 01111111 | Rezervováno pro budoucí použití |
Případy použití a scénáře
1. Nahrazení zprávy (PID=0x41)
Používá se k přepsání existující zprávy uložené na zařízení příjemce. Běžné v systémech OTP (One-Time Password), kde nové heslo nahrazuje staré.
2. Upozornění na hlasovou poštu (PID=0x42)
Spouští vizuální/zvukové upozornění na zařízení příjemce pro novou hlasovou poštu. Tělo SMS je často prázdné, protože samotné PID je spouštěčem.
3. Stažení dat na SIM (PID=0x40)
Instruuje SIM kartu ke zpracování zprávy (např. aktualizace přednastavených nastavení).
Příklady SMPP PDU s PID
Příklad 1: Výchozí PID (0x00)
0000001D // Délka příkazu (29 bajtů) 00000004 // ID příkazu (SubmitSM) 00000001 // Pořadové číslo 00 // Zdrojový TON 00 // Zdrojový NPI 736F7572636500 // Zdrojová adresa ("source") 00 // Cílový TON 00 // Cílový NPI 36353433323100 // Cílová adresa ("654321") 00 // Třída ESM 00 // Protokolový ID (PID=0x00) 00 // Příznak priority 00 // Čas plánovaného doručení 00 // Platnost 00 // Registrované doručení 00 // Nahradit-pokud-je-přítomno 00 // Schéma kódování dat (DCS=0x00) 00 // Výchozí ID zprávy SM 07 // Délka SM (7 septetů) C8329BFD06DDDF72 // Datová část ("Hello!")
Příklad 2: Upozornění na hlasovou poštu (PID=0x42)
0000001D // Délka příkazu (29 bajtů) 00000004 // ID příkazu (SubmitSM) 00000002 // Pořadové číslo 00 // Zdrojový TON 00 // Zdrojový NPI 736F7572636500 // Zdrojová adresa ("source") 00 // Cílový TON 00 // Cílový NPI 36353433323100 // Cílová adresa ("654321") 00 // Třída ESM 42 // Protokolový ID (PID=0x42: Hlasová pošta) 00 // Příznak priority 00 // Čas plánovaného doručení 00 // Platnost 00 // Registrované doručení 00 // Nahradit-pokud-je-přítomno 00 // Kódování dat (DCS=0x00) 00 // Výchozí ID zprávy SM 00 // Délka SM (0 bajtů: Žádná datová část)
Příklad 3: Nahrazení existující zprávy (PID=0x41)
0000001D // Délka příkazu (29 bajtů) 00000004 // ID příkazu (SubmitSM) 00000003 // Pořadové číslo 00 // Zdrojový TON 00 // Zdrojový NPI 736F7572636500 // Zdrojová adresa ("source") 00 // Cílový TON 00 // Cílový NPI 36353433323100 // Cílová adresa ("654321") 00 // Třída ESM 41 // Protokolový ID (PID=0x41: Nahradit) 00 // Příznak priority 00 // Čas plánovaného doručení 00 // Platnost 01 // Registrované doručení (vyžádáno potvrzení) 00 // Nahradit-pokud-je-přítomno 00 // Kódování dat (DCS=0x00) 00 // Výchozí ID zprávy SM 07 // Délka SM (7 septetů) C8329BFD06DDDF72 // Datová část ("Nové OTP: 1234")
Interakce PID s TP-Protocol-Identifier (GSM)
V sítích GSM se PID mapuje na TP-Protocol-Identifier
v SMS TPDU. Klíčová mapování zahrnují:
- 0x41: Příkaz nahradit (GSM 03.40 TP-PID=0x41)
- 0x42: Hlasová pošta (GSM 03.40 TP-PID=0x42)
Běžné problémy
- Použití rezervovaných hodnot PID (např. 0x7F) bez podpory SMSC.
- Nesoulad PID a DCS (např. použití UCS2 kódování pro data SIM).
- Ignorování pravidel specifických pro síť (např. PID=0x40 může vyžadovat speciální konfiguraci SMSC).
Závěr
Pole PID je nezbytné pro pokročilé směrování a zpracování SMS. I když je často nastaveno na 0x00 (výchozí), jeho specializované hodnoty umožňují funkce jako nahrazení zprávy, aktualizace SIM a upozornění na hlasovou poštu. Vždy testujte konfiguraci PID s vaším SMSC a pro přesné chování se řiďte specifikacemi GSM 03.40 nebo SMPP v5.0.
More information
- Jak nakonfigurovat pole Typ služby SMPP
- Jak nakonfigurovat pole Telefonní čísla SMPP
- Jak nakonfigurovat pole Třída ESM SMPP
- Jak nakonfigurovat pole PID SMPP
- Jak nakonfigurovat pole Priorita SMPP
- Jak nakonfigurovat pole Naplánovaný čas SMPP
- Jak nakonfigurovat pole Platnost SMPP
- Jak nakonfigurovat pole Registrované doručení SMPP
- Jak nakonfigurovat pole Nahradit pokud existuje SMPP
- Jak nakonfigurovat pole sm_default_msg_id
- Jak nakonfigurovat pole DCS SMPP
- Jak vypočítat pole Délka SM SMPP
- Jak vložit data do pole SMPP SM