Az SMPP telefonszám-mezők konfigurálása
Az SMPP (Short Message Peer-to-Peer) egy olyan protokoll, amelyet a távközlési rendszerek használnak SMS-üzenetek cseréjére az SMSC-k (Short Message Service Centers) és az ESME-k (External Short Messaging Entities) között. A protokoll kulcsfontosságú összetevője, hogyan kódolja a telefonszámokat (forrás- és célcímeket) az SMPP PDU-ban (Protocol Data Unit).
Címparaméterek az SMPP-ben
Az SMPP-ben a telefonszám meghatározásához használt fő mezők:
- addr_ton (Type of Number)
- addr_npi (Numbering Plan Indicator)
- address_range vagy source_addr/destination_addr
Type of Number (TON)
Ez a mező határozza meg a szám formátumát. Gyakori értékek:
| Érték | TON | Leírás |
|---|---|---|
| 0 | Ismeretlen | Ismeretlen formátum |
| 1 | Nemzetközi | A szám tartalmaz országkódot |
| 2 | Nemzeti | Helyi számformátum |
| 5 | Alfanumerikus | Feladónévhez használatos, pl. "MyCompany" |
Numbering Plan Indicator (NPI)
Ez a mező a számozási formátumot jelzi. Gyakori értékek:
| Érték | NPI | Leírás |
|---|---|---|
| 0 | Ismeretlen | Ismeretlen formátum |
| 1 | ISDN (E.164) | Szabványos nemzetközi telefonszám-formátum |
| 3 | Adat | Adathálózat (X.121) |
Cím kódolása
Amikor egy telefonszámot kódolunk az SMPP-ben, a rendszer a számot nullával lezárt ASCII-karakterláncként küldi el, a megfelelő TON és NPI értékekkel együtt.
Példa:
Telefonszám: +14155552671 TON: 1 (Nemzetközi) NPI: 1 (ISDN/E.164) Kódolva: 31 34 31 35 35 35 35 32 36 37 31 00 (ASCII "14155552671" + NULL)
Példa SMPP PDU
Az alábbi példa egy submit_sm PDU-t mutat be, amely tartalmaz egy célcím számot:
0000003F // Parancs hossza (63 bájt)
00000004 // Parancs azonosító (submit_sm)
00000000 // Parancs állapot
00000001 // Sorszám
74657374 // service_type: "test"
01 // source_addr_ton: Nemzetközi
01 // source_addr_npi: ISDN
31323334 // source_addr: "1234" (ASCII)
00 // NULL lezáró
01 // dest_addr_ton: Nemzetközi
01 // dest_addr_npi: ISDN
2B393138 // destination_addr: "+918123456789" (ASCII, + nélkül)
31323334
35363738
3900 // NULL lezáró
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 (alapértelmezett GSM)
00 // sm_default_msg_id
0D // sm_length (13)
48656C6C // Rövid üzenet ("Hello, World!")
6F2C2057
6F726C64
2100
Alfanumerikus feladó példa
Alfanumerikus feladónév használata esetén (gyakori egyirányú tömeges SMS-eknél):
Feladó: "MyBrand" TON: 5 (Alfanumerikus) NPI: 0 (Ismeretlen vagy irreleváns) Kódolva: ASCII karakterlánc "MyBrand" + NULL lezáró
Fontos megjegyzések
- Az alfanumerikus feladói azonosítók legfeljebb 11 karakter hosszúak lehetnek.
- Az alfanumerikus címek nem támogatottak minden országban.
- Mindig párosítsa helyesen a TON és NPI értékeket a címformátummal, hogy elkerülje az útválasztási problémákat.
Összegzés
Az SMPP számkódolás kritikus fontosságú a megfelelő üzenetkézbesítés biztosításához. A helyes TON, NPI beállításával és a cím helyes ASCII-ben (nullával lezárt) történő kódolásával a fejlesztők biztosíthatják az SMSC-kkel és mobilhálózatokkal való kompatibilitást.