Jak nakonfigurovat pole pro telefonní čísla v SMPP
SMPP (Short Message Peer-to-Peer) je protokol používaný telekomunikačními systémy pro výměnu SMS zpráv mezi SMSC (Short Message Service Centers) a ESME (External Short Messaging Entities). Klíčovou součástí protokolu je způsob, jakým kóduje telefonní čísla (zdrojové a cílové adresy) v SMPP PDU (Protocol Data Unit).
Parametry adresy v SMPP
Hlavní pole používaná k definování telefonního čísla v SMPP jsou:
- addr_ton (Type of Number)
- addr_npi (Numbering Plan Indicator)
- address_range nebo source_addr/destination_addr
Type of Number (TON)
Toto pole definuje formát čísla. Běžné hodnoty zahrnují:
Hodnota | TON | Popis |
---|---|---|
0 | Neznámý | Neznámý formát |
1 | Mezinárodní | Číslo obsahuje kód země |
2 | Národní | Místní formát čísla |
5 | Alfanumerický | Používá se pro jména odesílatelů jako "MojeFirma" |
Numbering Plan Indicator (NPI)
Toto pole určuje formát číslování. Běžné hodnoty:
Hodnota | NPI | Popis |
---|---|---|
0 | Neznámý | Neznámý formát |
1 | ISDN (E.164) | Standardní mezinárodní formát telefonního čísla |
3 | Data | Datová síť (X.121) |
Kódování adresy
Při kódování telefonního čísla v SMPP systém odešle číslo jako řetězec ukončený nulou v ASCII, doplněný o příslušné hodnoty TON a NPI.
Příklad:
Telefonní číslo: +14155552671 TON: 1 (Mezinárodní) NPI: 1 (ISDN/E.164) Zakódováno jako: 31 34 31 35 35 35 35 32 36 37 31 00 (ASCII "14155552671" + NULL)
Příklad SMPP PDU
Níže je příklad submit_sm PDU, který obsahuje cílové číslo:
0000003F // Délka příkazu (63 bajtů) 00000004 // ID příkazu (submit_sm) 00000000 // Stav příkazu 00000001 // Pořadové číslo 74657374 // service_type: "test" 01 // source_addr_ton: Mezinárodní 01 // source_addr_npi: ISDN 31323334 // source_addr: "1234" (ASCII) 00 // NULL terminator 01 // dest_addr_ton: Mezinárodní 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 // Krátká zpráva ("Hello, World!") 6F2C2057 6F726C64 2100
Příklad alfanumerického odesílatele
Při použití alfanumerického jména odesílatele (běžné pro jednosměrné hromadné SMS):
Odesílatel: "MojeZnačka" TON: 5 (Alfanumerický) NPI: 0 (Neznámý nebo irelevantní) Zakódováno: ASCII řetězec "MojeZnačka" + NULL terminator
Důležité poznámky
- Alfanumerická ID odesílatele musí mít 11 nebo méně znaků.
- Alfanumerické adresy nejsou podporovány ve všech zemích.
- Vždy správně přiřaďte TON a NPI k formátu adresy, abyste předešli problémům s směrováním.
Závěr
Kódování čísel v SMPP je klíčové pro zajištění správného doručení zpráv. Nastavením správných hodnot TON
, NPI
a správným kódováním adresy v ASCII (ukončené nulou) mohou vývojáři zajistit kompatibilitu s SMSC a mobilními sítěmi.
More information
- Jak nakonfigurovat pole Typ služby SMPP
- Jak nakonfigurovat pole Telefonní čísla SMPP
- Jak nakonfigurovat pole Třída ESM SMPP
- Jak nakonfigurovat pole PID SMPP
- Jak nakonfigurovat pole Priorita SMPP
- Jak nakonfigurovat pole Naplánovaný čas SMPP
- Jak nakonfigurovat pole Platnost SMPP
- Jak nakonfigurovat pole Registrované doručení SMPP
- Jak nakonfigurovat pole Nahradit pokud existuje SMPP
- Jak nakonfigurovat pole sm_default_msg_id
- Jak nakonfigurovat pole DCS SMPP
- Jak vypočítat pole Délka SM SMPP
- Jak vložit data do pole SMPP SM