Kako konfigurirati polja za telefonske brojeve u SMPP-u

SMPP (Short Message Peer-to-Peer) je protokol koji telekomunikacijski sustavi koriste za razmjenu SMS poruka između SMSC (Short Message Service Centers) i ESME (External Short Messaging Entities). Ključna komponenta protokola je način na koji kodira telefonske brojeve (izvorne i odredišne adrese) u SMPP PDU (Protocol Data Unit).

Parametri adrese u SMPP-u

Ključna polja koja se koriste za definiranje telefonskog broja u SMPP-u su:

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

Type of Number (TON)

Ovo polje definira format broja. Uobičajene vrijednosti uključuju:

VrijednostTONOpis
0NepoznatoNepoznat format
1MeđunarodniBroj uključuje pozivni broj države
2NacionalniLokalni format broja
5AlfanumeričkiKoristi se za imena pošiljatelja poput "MyCompany"

Numbering Plan Indicator (NPI)

Ovo polje označava format numeriranja. Uobičajene vrijednosti:

VrijednostNPIOpis
0NepoznatoNepoznat format
1ISDN (E.164)Standardni međunarodni format telefonskog broja
3DataPodatkovna mreža (X.121)

Kodiranje adrese

Prilikom kodiranja telefonskog broja u SMPP-u, sustav šalje broj kao ASCII niz završen null znakom, zajedno s odgovarajućim vrijednostima TON i NPI.

Primjer:

Telefonski broj: +14155552671
TON: 1 (Međunarodni)
NPI: 1 (ISDN/E.164)
Kodirano kao: 31 34 31 35 35 35 35 32 36 37 31 00  (ASCII "14155552671" + NULL)

Primjer SMPP PDU-a

Ispod je primjer submit_sm PDU-a koji uključuje odredišni broj:

0000003F  // Duljina naredbe (63 bajta)
00000004  // ID naredbe (submit_sm)
00000000  // Status naredbe
00000001  // Redni broj
74657374  // service_type: "test"
01        // source_addr_ton: Međunarodni
01        // source_addr_npi: ISDN
31323334  // source_addr: "1234" (ASCII)
00        // NULL terminator
01        // dest_addr_ton: Međunarodni
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 (default GSM)
00        // sm_default_msg_id
0D        // sm_length (13)
48656C6C  // Kratka poruka ("Hello, World!")
6F2C2057
6F726C64
2100

Primjer alfanumeričkog pošiljatelja

Prilikom korištenja alfanumeričkog imena pošiljatelja (uobičajeno za jednosmjerni masovni SMS):

Pošiljatelj: "MyBrand"
TON: 5 (Alfanumerički)
NPI: 0 (Nepoznato ili nevažno)
Kodirano: ASCII niz "MyBrand" + NULL terminator

Važne napomene

  • Alfanumerički ID-ovi pošiljatelja moraju imati 11 znakova ili manje.
  • Alfanumeričke adrese nisu podržane u svim zemljama.
  • Uvijek pravilno uskladite TON i NPI s formatom adrese kako biste izbjegli probleme s usmjeravanjem.

Zaključak

Kodiranje brojeva u SMPP-u ključno je za osiguravanje isporuke poruka. Postavljanjem ispravnih vrijednosti TON, NPI i pravilnim kodiranjem adrese u ASCII (završeno null znakom), programeri mogu osigurati kompatibilnost s SMSC-ovima i mobilnim mrežama.

More information