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:
| Vrednost | TON | Opis |
|---|---|---|
| 0 | Neznano | Neznana oblika |
| 1 | Mednarodno | Številka vključuje klicno kodo države |
| 2 | Nacionalno | Lokalna oblika številke |
| 5 | Alfanumerično | Uporabljeno za pošiljateljska imena, kot je "MyCompany" |
Numbering Plan Indicator (NPI)
To polje označuje obliko številčenja. Pogoste vrednosti:
| Vrednost | NPI | Opis |
|---|---|---|
| 0 | Neznano | Neznana oblika |
| 1 | ISDN (E.164) | Standardna mednarodna oblika telefonske številke |
| 3 | Podatkovno | Podatkovno 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.