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ú:

HodnotaTONPopis
0NeznámyNeznámy formát
1MedzinárodnýČíslo obsahuje predvoľbu krajiny
2NárodnýLokálny formát čísla
5Alfanumerický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:

HodnotaNPIPopis
0NeznámyNeznámy formát
1ISDN (E.164)Štandardný medzinárodný formát telefónneho čísla
3DátaDá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