Kako konfigurisati polja za telefonske brojeve u SMPP-u

SMPP (Short Message Peer-to-Peer) je protokol koji telekomunikacioni sistemi koriste za razmenu 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 definisanje 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 definiše format broja. Uobičajene vrednosti uključuju:

VrednostTONOpis
0NepoznatoNepoznat format
1InternacionalniBroj uključuje pozivni broj države
2NacionalniLokalni format broja
5AlfanumeričkiKoristi se za imena pošiljalaca kao što je "MyCompany"

Numbering Plan Indicator (NPI)

Ovo polje označava format numeracije. Uobičajene vrednosti:

VrednostNPIOpis
0NepoznatoNepoznat format
1ISDN (E.164)Standardni format internacionalnog telefonskog broja
3DataData mreža (X.121)

Kodiranje adrese

Prilikom kodiranja telefonskog broja u SMPP-u, sistem šalje broj kao ASCII string koji se završava null karakterom, uz odgovarajuće TON i NPI vrednosti.

Primer:

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

Primer SMPP PDU

Ispod je primer submit_sm PDU koji uključuje odredišni broj:

0000003F  // Dužina komande (63 bajta)
00000004  // ID komande (submit_sm)
00000000  // Status komande
00000001  // Redni broj sekvence
74657374  // service_type: "test"
01        // source_addr_ton: Internacionalni
01        // source_addr_npi: ISDN
31323334  // source_addr: "1234" (ASCII)
00        // NULL terminator
01        // dest_addr_ton: Internacionalni
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

Primer alfanumeričkog pošiljaoca

Kada se koristi alfanumeričko ime pošiljaoca (uobičajeno za jednosmerne masovne SMS poruke):

Pošiljalac: "MyBrand"
TON: 5 (Alfanumerički)
NPI: 0 (Nepoznato ili nebitno)
Kodirano: ASCII string "MyBrand" + NULL terminator

Važne napomene

  • Alfanumerički ID pošiljaoca moraju imati 11 karaktera ili manje.
  • Alfanumeričke adrese nisu podržane u svim zemljama.
  • Uvek pravilno podesite TON i NPI u skladu sa formatom adrese kako biste izbegli probleme sa rutiranjem.

Zaključak

SMPP kodiranje brojeva je ključno za osiguranje isporuke poruka. Podešavanjem ispravnih vrednosti TON, NPI i pravilnim kodiranjem adrese u ASCII (null-terminated), programeri mogu osigurati kompatibilnost sa SMSC i mobilnim mrežama.

More information