Ako nakonfigurovať polia telefónneho čísla v SMPP
SMPP (Short Message Peer-to-Peer) je protokol používaný telekomunikačnými systémami na výmenu SMS správ medzi SMSC (Short Message Service Centers) a ESME (External Short Messaging Entities). Kľúčovou súčasťou protokolu je spôsob, akým kóduje telefónne čísla (zdrojové a cieľové adresy) v SMPP PDU (Protocol Data Unit).
Parametre adresy v SMPP
Kľúčové polia používané na definovanie telefónneho čísla v SMPP sú:
- addr_ton (Type of Number - Typ čísla)
- addr_npi (Numbering Plan Indicator - Indikátor číslovacieho plánu)
- address_range alebo source_addr/destination_addr
Typ čísla (TON)
Toto pole definuje formát čísla. Bežné hodnoty zahŕňajú:
Hodnota | TON | Popis |
---|---|---|
0 | Neznámy | Neznámy formát |
1 | Medzinárodný | Číslo obsahuje predvoľbu krajiny |
2 | Národný | Lokálny formát čísla |
5 | Alfanumerický | Používa sa pre mená odosielateľov ako "MojaSpoločnosť" |
Indikátor číslovacieho plánu (NPI)
Toto pole indikuje formát číslovania. Bežné hodnoty:
Hodnota | NPI | Popis |
---|---|---|
0 | Neznámy | Neznámy formát |
1 | ISDN (E.164) | Štandardný medzinárodný formát telefónneho čísla |
3 | Dáta | Dátová sieť (X.121) |
Kódovanie adresy
Pri kódovaní telefónneho čísla v SMPP systém odosiela číslo ako reťazec ukončený nulou v ASCII, sprevádzaný príslušnými hodnotami TON a NPI.
Príklad:
Telefónne číslo: +14155552671 TON: 1 (Medzinárodný) NPI: 1 (ISDN/E.164) Zakódované ako: 31 34 31 35 35 35 35 32 36 37 31 00 (ASCII "14155552671" + NULL)
Príklad SMPP PDU
Nižšie je príklad submit_sm PDU, ktorý obsahuje cieľové číslo:
0000003F // Dĺžka príkazu (63 bajtov) 00000004 // ID príkazu (submit_sm) 00000000 // Stav príkazu 00000001 // Poradové číslo 74657374 // service_type: "test" 01 // source_addr_ton: Medzinárodný 01 // source_addr_npi: ISDN 31323334 // source_addr: "1234" (ASCII) 00 // NULL terminator 01 // dest_addr_ton: Medzinárodný 01 // dest_addr_npi: ISDN 2B393138 // destination_addr: "+918123456789" (ASCII, bez +) 31323334 35363738 3900 // NULL terminator 00 // esm_class 00 // protocol_id 00 // priority_flag 00 // schedule_delivery_time (null) 00 // validity_period (null) 00 // registered_delivery 00 // replace_if_present_flag 00 // data_coding (predvolené GSM) 00 // sm_default_msg_id 0D // sm_length (13) 48656C6C // Krátka správa ("Hello, World!") 6F2C2057 6F726C64 2100
Príklad alfanumerického odosielateľa
Pri použití alfanumerického mena odosielateľa (bežné pre jednosmerné hromadné SMS):
Odosielateľ: "MojaZnačka" TON: 5 (Alfanumerický) NPI: 0 (Neznámy alebo irelevantný) Zakódované: ASCII reťazec "MojaZnačka" + NULL terminator
Dôležité poznámky
- Alfanumerické ID odosielateľa musia mať 11 znakov alebo menej.
- Alfanumerické adresy nie sú podporované vo všetkých krajinách.
- Vždy správne priraďte TON a NPI k formátu vašej adresy, aby ste sa vyhli problémom s smerovaním.
Záver
Kódovanie čísel v SMPP je kritické pre zabezpečenie správneho doručenia správ. Nastavením správnych hodnôt TON
, NPI
a správnym zakódovaním adresy v ASCII (ukončené nulou) môžu vývojári zabezpečiť kompatibilitu s SMSC a mobilnými sieťami.
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