Kako konfigurirati polja telefonskih številk v SMPP

SMPP (Short Message Peer-to-Peer) je protokol, ki ga uporabljajo telekomunikacijski sistemi za izmenjavo SMS sporočil med SMSC (Short Message Service Centers) in ESME (External Short Messaging Entities). Ključna komponenta protokola je način kodiranja telefonskih številk (izvornih in ciljnih naslovov) v SMPP PDU (Protocol Data Unit).

Parametri naslova v SMPP

Ključna polja, ki se uporabljajo za določanje telefonske številke v SMPP, so:

  • addr_ton (Type of Number)
  • addr_npi (Numbering Plan Indicator)
  • address_range ali source_addr/destination_addr

Type of Number (TON)

To polje določa obliko številke. Pogoste vrednosti vključujejo:

VrednostTONOpis
0NeznanoNeznana oblika
1MednarodnoŠtevilka vključuje klicno kodo države
2NacionalnoLokalna oblika številke
5AlfanumeričnoUporabljeno za pošiljateljska imena, kot je "MyCompany"

Numbering Plan Indicator (NPI)

To polje označuje obliko številčenja. Pogoste vrednosti:

VrednostNPIOpis
0NeznanoNeznana oblika
1ISDN (E.164)Standardna mednarodna oblika telefonske številke
3PodatkovnoPodatkovno omrežje (X.121)

Kodiranje naslova

Pri kodiranju telefonske številke v SMPP sistem pošlje številko kot ničelno zaključen niz v ASCII, skupaj z ustreznima vrednostma TON in NPI.

Primer:

Telefonska številka: +14155552671
TON: 1 (Mednarodno)
NPI: 1 (ISDN/E.164)
Kodirano kot: 31 34 31 35 35 35 35 32 36 37 31 00  (ASCII "14155552671" + NULL)

Primer SMPP PDU

Spodaj je primer submit_sm PDU, ki vključuje ciljno številko:

0000003F  // Dolžina ukaza (63 bajtov)
00000004  // ID ukaza (submit_sm)
00000000  // Status ukaza
00000001  // Zaporedna številka
74657374  // service_type: "test"
01        // source_addr_ton: Mednarodno
01        // source_addr_npi: ISDN
31323334  // source_addr: "1234" (ASCII)
00        // NULL terminator
01        // dest_addr_ton: Mednarodno
01        // dest_addr_npi: ISDN
2B393138  // destination_addr: "+918123456789" (ASCII, brez +)
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 (default GSM)
00        // sm_default_msg_id
0D        // sm_length (13)
48656C6C  // Kratko sporočilo ("Hello, World!")
6F2C2057
6F726C64
2100

Primer alfanumeričnega pošiljatelja

Pri uporabi alfanumeričnega imena pošiljatelja (pogosto za enosmerne množične SMS):

Pošiljatelj: "MyBrand"
TON: 5 (Alfanumerično)
NPI: 0 (Neznano ali nepomembno)
Kodirano: ASCII niz "MyBrand" + NULL terminator

Pomembne opombe

  • Alfanumerični ID-ji pošiljatelja morajo biti dolgi 11 znakov ali manj.
  • Alfanumerični naslovi niso podprti v vseh državah.
  • Vedno pravilno uskladite TON in NPI z obliko naslova, da se izognete težavam z usmerjanjem.

Zaključek

Kodiranje številk v SMPP je ključnega pomena za zagotavljanje pravilne dostave sporočil. Z nastavitvijo pravilnih vrednosti TON, NPI in pravilnim kodiranjem naslova v ASCII (ničelno zaključen), lahko razvijalci zagotovijo združljivost s SMSC in mobilnimi omrežji.

More information