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:
Vrednost | TON | Opis |
---|---|---|
0 | Nepoznato | Nepoznat format |
1 | Internacionalni | Broj uključuje pozivni broj države |
2 | Nacionalni | Lokalni format broja |
5 | Alfanumerički | Koristi se za imena pošiljalaca kao što je "MyCompany" |
Numbering Plan Indicator (NPI)
Ovo polje označava format numeracije. Uobičajene vrednosti:
Vrednost | NPI | Opis |
---|---|---|
0 | Nepoznato | Nepoznat format |
1 | ISDN (E.164) | Standardni format internacionalnog telefonskog broja |
3 | Data | Data 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
- Kako konfigurisati SMPP Tip usluge polje
- Kako konfigurisati SMPP polja za telefonske brojeve
- Kako konfigurisati SMPP ESM Class polje
- Kako konfigurisati SMPP PID polje
- Kako konfigurisati SMPP Prioritet polje
- Kako konfigurisati SMPP Zakazano vreme polje
- Kako konfigurisati SMPP Period važenja polje
- Kako konfigurisati SMPP Registrovana isporuka polje
- Kako konfigurisati SMPP Zameni ako postoji polje
- Kako konfigurisati sm_default_msg_id polje
- Kako konfigurisati SMPP DCS polje
- Kako izračunati SMPP SM Dužina polje
- Kako uneti podatke u SMPP SM polje