ΠΠ΄ΡΠ°Π²Π΅ΠΉΡΠ΅! ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ ΠΌΠ΅ΡΠΈΠ½Π΄ΠΆΡΡΠΈΡΠ΅ ΠΈ ΡΠΎΡΠΈΠ°Π»Π½ΠΈΡΠ΅ ΠΌΡΠ΅ΠΆΠΈ Π·Π°ΠΌΠ΅ΡΡΠ²Π°Ρ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π·Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ Π²ΡΠ΅ΠΊΠΈ Π΄Π΅Π½, ΡΠΎΠ²Π° Π½Π΅ Π½Π°ΠΌΠ°Π»ΡΠ²Π° ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡΠ° Π½Π° SMS. ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΏΠΎΠΏΡΠ»ΡΡΠ΅Π½ ΡΠ°ΠΉΡ ΠΈΠ»ΠΈ ΠΈΠ·Π²Π΅ΡΡΠΈΠ΅ Π·Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΏΠΎΠ²ΡΠ°ΡΡ, ΡΠ΅ ΡΠ΅ ΠΆΠΈΠ²Π΅ΡΡ ΠΈ ΡΠ΅ ΠΆΠΈΠ²Π΅ΡΡ. ΠΠ°ΠΌΠΈΡΠ»ΡΠ»ΠΈ Π»ΠΈ ΡΡΠ΅ ΡΠ΅ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈ Π²ΡΠΈΡΠΊΠΎ? ΠΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΡΡ SMPP ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° Π³ΡΡΠΏΠΎΠ²ΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΎΠ±ΡΡΠ΄Π΅Π½ΠΈ Π² ΡΠ°Π·Π΄Π΅Π»Π°.
HabrΓ© Π²Π΅ΡΠ΅ ΠΈΠΌΠ°ΡΠ΅ ΡΡΠ°ΡΠΈΠΈ Π·Π° smpp,
ΠΡΠΎΡΠΎΠΊΠΎΠ»ΡΡ SMPP Π΅ peer-to-peer ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π·Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ. Π’ΠΎΠ²Π° ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ Π²ΡΠ΅ΠΊΠΈ peer/hub ΡΡΡΠ²ΡΡ Π΅ ΡΠ°Π²Π΅Π½. Π Π½Π°ΠΉ-ΠΏΡΠΎΡΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉ ΡΡ Π΅ΠΌΠ°ΡΠ° Π·Π° SMS ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΡΠ°ΠΊΠ°:
ΠΠΎ Π°ΠΊΠΎ Π½Π°ΡΠΈΠΎΠ½Π°Π»Π½ΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π½ΡΠΌΠ° ΠΌΠ°ΡΡΡΡΡ, ΡΠΎΠΉ ΠΈΡΠΊΠ° ΠΏΠΎΡΡΠ΅Π΄Π½ΠΈΠΊ Π·Π° ΡΠΎΠ²Π° Π΄ΠΎ Π½ΡΠΊΠΎΠΉ ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ ΡΠ΅Π³ΠΈΠΎΠ½ - SMS Ρ
ΡΠ±. ΠΠΎΠ½ΡΠΊΠΎΠ³Π°, Π·Π° Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠΈΡΠ΅ Π΅Π΄ΠΈΠ½ SMS, ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ·Π³ΡΠ°Π΄ΠΈΡΠ΅ Π²Π΅ΡΠΈΠ³Π° ΠΌΠ΅ΠΆΠ΄Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π΄ΡΡΠΆΠ°Π²ΠΈ ΠΈΠ»ΠΈ Π΄ΠΎΡΠΈ ΠΊΠΎΠ½ΡΠΈΠ½Π΅Π½ΡΠΈ.
ΠΡΠ½ΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°
SMPP Π΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ½ΠΎ Π½ΠΈΠ²ΠΎ, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π²Π° Π½Π° ΠΎΠ±ΠΌΠ΅Π½ Π½Π° PDU ΠΈ ΡΠ΅ ΠΏΡΠ΅Π΄Π°Π²Π° ΠΏΡΠ΅Π· TCP / IP ΠΈΠ»ΠΈ X25 ΡΠ΅ΡΠΈΠΈ Π·Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° sms ΠΈ ussd ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ. ΠΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ SMPP ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΏΠΎΡΡΠΎΡΠ½Π½Π° Π²ΡΡΠ·ΠΊΠ°, ΠΊΠΎΠ΅ΡΠΎ ΡΠΏΠ΅ΡΡΡΠ²Π° Π²ΡΠ΅ΠΌΠ΅. SMPP ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΎΠ½Π΅Π½ ΠΌΠΎΠ΄Π΅Π» ΠΊΠ»ΠΈΠ΅Π½Ρ-ΡΡΡΠ²ΡΡ.
Π Π΅ΠΆΠΈΠΌ Π½Π° Π²ΡΡΠ·ΠΊΠ°
ΠΠ±ΠΌΠ΅Π½ΡΡ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΠ΄Π°ΡΠ΅Π»Ρ ΠΈ SMS ΡΠ΅Π½ΡΡΡΠ° ΡΡΠ΅Π· SMPP ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° Π² ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΡΠ΅ΠΆΠΈΠΌΠΈ:
ΠΡΠ΅Π΄Π°Π²Π°ΡΠ΅Π» (ΠΏΡΠ΅Π΄Π°Π²Π°ΡΠ΅Π») - ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π² Π΅Π΄Π½Π° ΠΏΠΎΡΠΎΠΊΠ°, Π½Π° ΡΠ²ΠΎΠΉ ΡΠ΅Π΄
ΠΠΎΠ»ΡΡΠ°ΡΠ΅Π» (ΠΏΡΠΈΠ΅ΠΌΠ½ΠΈΠΊ) - ΡΠ°ΠΌΠΎ ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΡ SMS ΡΠ΅Π½ΡΡΡΠ°.
Transreceiver (ΡΡΠ°Π½ΡΠΈΠ²ΡΡ) - ΠΠ±ΠΌΠ΅Π½ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ SMS ΡΠ΅Π½ΡΡΡΠ° ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ
Π‘ΡΡΡΠΊΡΡΡΠ°
ΠΡΠ»ΠΆΠΈΠ½Π° Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ
ΠΠ΄Π½ΠΎ SMS ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΡΠ΄ΡΡΠΆΠ° 70 ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΏΡΠΈ Π²ΡΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΊΠΈΡΠΈΠ»ΠΈΡΠ° ΠΈ Π½Π΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 157 Π·Π½Π°ΠΊΠ° Π½Π° Π»Π°ΡΠΈΠ½ΠΈΡΠ° + 3 UDH ΠΠΊΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠΈΡΠ΅ SMS Ρ Π³ΠΎΠ»ΡΠΌ Π±ΡΠΎΠΉ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ, ΡΠΎΠΉ ΡΠ΅ Π±ΡΠ΄Π΅ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ° ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°Π½ Π² ΠΏΡΠΈΠ΅ΠΌΠ°ΡΠΎΡΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ. Π ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π΅, Π±ΡΠΎΡΡ Π½Π° Π·Π½Π°ΡΠΈΡΠ΅ ΡΠ΅ Π½Π°ΠΌΠ°Π»ΡΠ²Π° ΠΎΡ Π·Π°Π³Π»Π°Π²ΠΊΠΈΡΠ΅ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ ΡΠ°ΡΡΡΠ° ΠΎΡ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠ°ΡΠ΅ Π³ΠΎΠ»ΡΠΌΠΎ SMS ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΡΠΎ ΡΡΠ΄ΡΡΠΆΠ° ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ 153 Π»Π°ΡΠΈΠ½ΡΠΊΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΈΠ»ΠΈ 67 Π½Π΅ΡΠΈΠΏΠΈΡΠ½ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π°.
Π‘Ρ Π΅ΠΌΠ° Π·Π° ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ
ΠΠ½Π°ΡΠΈΡΠ΅ ΠΎΠ±Π°ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ ΠΊΠΎΠ΄ΠΈΡΠ°Π½ΠΈ, Π·Π° Π΄Π° ΠΏΡΠ΅Π΄Π°Π΄Π°Ρ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅. Π ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° SMPP ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ ΠΏΠΎΠ»Π΅ Π΅ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ½ΠΎ Π·Π° ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ΡΠΎ - Data Coding Scheme ΠΈΠ»ΠΈ DCS. Π’ΠΎΠ²Π° Π΅ ΠΏΠΎΠ»Π΅, ΠΊΠΎΠ΅ΡΠΎ ΡΠΊΠ°Π·Π²Π° ΠΊΠ°ΠΊ Π΄Π° ΡΠ΅ ΡΠ°Π·ΠΏΠΎΠ·Π½Π°Π²Π°Ρ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡΡΠ°. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΠΏΠΎΠ»Π΅ΡΠΎ DCS Π²ΠΊΠ»ΡΡΠ²Π°:
- Π½Π°Π±ΠΎΡΡΡ ΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ, ΠΊΠΎΠΉΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Ρ ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ΡΠΎ;
- ΠΊΠ»Π°Ρ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ;
- Π·Π°ΡΠ²ΠΊΠ° Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅ ΡΠ»Π΅Π΄ ΠΏΡΠΎΡΠΈΡΠ°Π½Π΅;
- ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΈΡ Π·Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ;
- Π΅Π·ΠΈΠΊ Π½Π° ΠΈΠ·Π»ΡΡΠ²Π°Π½ΠΎΡΠΎ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅;
Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½Π° 7-Π±ΠΈΡΠΎΠ²Π° Π°Π·Π±ΡΠΊΠ° (GSM 03.38). Π Π°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ Π΅ Π·Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² GSM. Π’ΠΎΠ²Π° ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΎ Π·Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈ ΠΈ ΡΠ΅Π΄ΠΈΡΠ° Π»Π°ΡΠΈΠ½ΡΠΊΠΈ Π΅Π·ΠΈΡΠΈ. ΠΡΠ΅ΠΊΠΈ ΡΠΈΠΌΠ²ΠΎΠ» ΡΠ΅ ΡΡΡΡΠΎΠΈ ΠΎΡ 7 Π±ΠΈΡΠ° ΠΈ Π΅ ΠΊΠΎΠ΄ΠΈΡΠ°Π½ Π² ΠΎΠΊΡΠ΅Ρ.
UTF-16 (Π² GSM UCS2) ΠΠ° Π΄Π° ΡΠ΅ Π²ΠΊΠ»ΡΡΠ°Ρ Π»ΠΈΠΏΡΠ²Π°ΡΠΈΡΠ΅ Π·Π½Π°ΡΠΈ Π² 7-Π±ΠΈΡΠΎΠ²Π°ΡΠ° Π°Π·Π±ΡΠΊΠ°, Π±Π΅ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ΠΎ ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ΡΠΎ UTF-16, ΠΊΠΎΠ΅ΡΠΎ Π΄ΠΎΠ±Π°Π²Ρ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π·Π½Π°ΡΠΈ (Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΊΠΈΡΠΈΠ»ΡΠΊΠΈ) ΡΡΠ΅Π· Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΎΡ 160 Π½Π° 70, ΡΠΎΠ·ΠΈ ΡΠΈΠΏ ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ ΠΏΠΎΡΡΠΈ Π½Π°ΠΏΡΠ»Π½ΠΎ ΠΏΠΎΠ²ΡΠ°ΡΡ Unicode.
8-Π±ΠΈΡΠΎΠ²ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ΠΈ Π΄Π°Π½Π½ΠΈ. Π’Π΅ Π²ΠΊΠ»ΡΡΠ²Π°Ρ KOI8-R ΠΈ Windows-1251. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ ΡΠΎΠ²Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΏΠΎ-ΠΈΠΊΠΎΠ½ΠΎΠΌΠΈΡΠ½ΠΎ Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΡΡ ΡΡΡΠΈΡ UTF-16. ΠΠΌΠ° ΡΠ°Π·ΡΠΌΠ΅Π½ Π²ΡΠΏΡΠΎΡ Π·Π° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡΠ° Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°. Π’ΡΠΉ ΠΊΠ°ΡΠΎ Π² ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ ΠΈ Π΄Π²Π΅ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½ΠΈ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ.
ΠΠ»Π°Ρ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ
- Class0, ΠΈΠ»ΠΈ flash, ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΡΡΡ ΡΠ°Π½ΡΠ²Π°Π½ΠΎ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° ΡΠ΅Π»Π΅ΡΠΎΠ½Π° ΠΏΠΎ ΠΈΡΠΊΠ°Π½Π΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ;
- Class1, ΠΈΠ»ΠΈ ΡΠ΅Π·ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° ΡΠ΅Π»Π΅ΡΠΎΠ½Π°;
- Class1, ΠΈΠ»ΠΈ ΡΠ΅Π·ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° ΡΠ΅Π»Π΅ΡΠΎΠ½Π°;
- Class2, ΡΡΡΠ±Π²Π° Π΄Π° Π³Π°ΡΠ°Π½ΡΠΈΡΠ°, ΡΠ΅ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π΅ ΡΡΡ ΡΠ°Π½Π΅Π½ΠΎ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈΡ ΡΠ΅ΡΠΌΠΈΠ½Π°Π», Π² ΠΏΡΠΎΡΠΈΠ²Π΅Π½ ΡΠ»ΡΡΠ°ΠΉ ΡΡΡΠ±Π²Π° Π΄Π° Π΄Π°Π΄Π΅ ΠΈΠ·Π²Π΅ΡΡΠΈΡ Π½Π° SMS ΡΠ΅Π½ΡΡΡΠ° Π·Π° Π½Π΅Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅;
- Class3 - Π² ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ ΡΠ΅Π»Π΅ΡΠΎΠ½ΡΡ ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠΈ ΠΈΠ·Π²Π΅ΡΡΠΈΠ΅, ΡΠ΅ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π·Π°ΠΏΠ°Π·Π΅Π½ΠΎ, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΡΠΎ ΠΏΠ°ΠΌΠ΅Ρ Π² ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ. Π’ΠΎΠ·ΠΈ ΡΠΈΠΏ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°, ΡΠ΅ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π΅ Π΄ΠΎΡΡΠΈΠ³Π½Π°Π»ΠΎ ΠΌΠ΅ΡΡΠΎΠ½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΠΈ;
Π’ΠΈΠΏ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅
ΠΠ΅Π·ΡΡΠΌΠ½ΠΎ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ (SMS0) Π’ΠΈΠΏ SMS ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π±Π΅Π· ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅. Π’Π°ΠΊΠΈΠ²Π° SMS ΠΈΠ΄Π²Π°Ρ Π±Π΅Π· ΠΈΠ·Π²Π΅ΡΡΠΈΠ΅ ΠΈ Π½Π΅ ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ Π½Π° Π΅ΠΊΡΠ°Π½Π° Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ.
PDU
ΠΡΡΠΊΠ° pdu ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π΅ ΡΠ΄Π²ΠΎΠ΅Π½Π° ΠΈ ΡΠ΅ ΡΡΡΡΠΎΠΈ ΠΎΡ Π·Π°ΡΠ²ΠΊΠ° ΠΈ ΠΎΡΠ³ΠΎΠ²ΠΎΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ: ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΊΠΎΡΡΠΎ ΠΊΠ°Π·Π²Π°, ΡΠ΅ Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π΅Π½Π° Π²ΡΡΠ·ΠΊΠ° (bind_transmitter / bind_transmitter_resp), ΠΈΠ»ΠΈ ΡΠ΅ Π΅ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ΠΎ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ (deliver_sm / deliver_sm_resp)
ΠΡΠ΅ΠΊΠΈ pdu ΠΏΠ°ΠΊΠ΅Ρ ΡΠ΅ ΡΡΡΡΠΎΠΈ ΠΎΡ Π΄Π²Π΅ ΡΠ°ΡΡΠΈ - Π·Π°Π³Π»Π°Π²ΠΊΠ° (header) ΠΈ ΡΡΠ»ΠΎ (body). Π‘ΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° Π·Π°Π³Π»Π°Π²ΠΊΠ°ΡΠ° Π΅ Π΅Π΄Π½Π° ΠΈ ΡΡΡΠ° Π·Π° Π²ΡΠ΅ΠΊΠΈ pdu ΠΏΠ°ΠΊΠ΅Ρ: Π΄ΡΠ»ΠΆΠΈΠ½Π°ΡΠ° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° Π΅ Π΄ΡΠ»ΠΆΠΈΠ½Π°ΡΠ° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ°, id Π΅ ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ°, Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° Π·Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π²Π° Π΄Π°Π»ΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π΅ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ΠΎ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΡΠΏΠ΅ΡΠ½ΠΎ.
ΠΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ TLV ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ
TLV (Tag Length Value) ΠΈΠ»ΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΏΠΎΠ»Π΅ΡΠ°. Π’Π°ΠΊΠΈΠ²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π·Π° ΡΠ°Π·ΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ΠΈ Π½Π΅ ΡΠ° Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΈ. Π’ΠΎΠ²Π° ΠΏΠΎΠ»Π΅ Π΅ ΠΏΠΎΡΠΎΡΠ΅Π½ΠΎ Π² ΠΊΡΠ°Ρ Π½Π° ΠΏΠΎΠ»Π΅ΡΠΎ pdu. ΠΠ°ΡΠΎ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ dest_addr_np_information TLV, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΠ½Π΅ΡΠΎ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΏΡΠ΅Π½Π°ΡΡΠ½Π΅ΡΠΎ Π½Π° Π½ΠΎΠΌΠ΅ΡΠ°.
Π’ΠΎΠ½ ΠΈ Npi
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡΡΡ TON (Π’ΠΈΠΏ Π½ΠΎΠΌΠ΅Ρ) ΠΈΠ½ΡΠΎΡΠΌΠΈΡΠ° SMSC Π·Π° ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° Π°Π΄ΡΠ΅ΡΠΈΡΠ°Π½Π΅ ΠΈ ΡΠΈΠΏΠ° Π½Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ°.
NPI (Numbering Plan Identification) ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΡΠΊΠ°Π·Π²Π°Ρ Π½ΠΎΠΌΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡ ΠΏΠ»Π°Π½.
ΠΠ΄ΡΠ΅Ρ Π½Π° ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊΠ° Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΈΠ»ΠΈ Π°Π»ΡΠ° ΠΈΠΌΠ΅
Π‘ΡΠΎΠ±ΡΠ΅Π½ΠΈΡΡΠ°, ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ΠΈ Π΄ΠΎ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°, ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ Π² Π΄Π²Π° Π²ΠΈΠ΄Π°: ΡΠΈΡΡΠΎΠ²ΠΈ ΠΈ Π°Π·Π±ΡΡΠ½ΠΈ. ΠΠΎΠΌΠ΅ΡΠ°ΡΠ° ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ Π΄ΡΠ»Π³ΠΈ (ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° ΡΠ΅Π»Π΅ΡΠΎΠ½Π΅Π½ Π½ΠΎΠΌΠ΅Ρ) ΠΈΠ»ΠΈ ΠΊΡΠ°ΡΠΊΠΈ. ΠΠΎΠ½ΡΠΊΠΎΠ³Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈΡΠ΅ ΠΈΠΌΠ°Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π·Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ ΠΎΡ Π½Π΅ΡΡΡΠ°Π»Π½ΠΈ ΠΈΠΌΠ΅Π½Π°, ΠΊΠ°ΡΠΎ Infosms, Alert ΠΈ Π΄Ρ. ΠΠΎΠ½ΡΠΊΠΎΠ³Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈΡΠ΅ Π½Π΅ ΡΠ°Π·ΡΠ΅ΡΠ°Π²Π°Ρ ΡΡΠ°ΡΠΈΠΊ, Π°ΠΊΠΎ ΠΈΠΌΠ΅ΡΠΎ Π½Π΅ Π΅ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½ΠΎ Π² ΡΡΡ Π½Π°ΡΠ° ΠΌΡΠ΅ΠΆΠ°. Π’ΠΎΠ²Π° ΠΎΠ±Π°ΡΠ΅ Π΅ ΠΏΠΎ-ΡΠΊΠΎΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°.
ΠΡΠ°ΠΏΠΈ Π½Π° ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅
SMS-ΠΠΠΠ ΠΠ©ΠΠΠ ΠΈΠ·ΠΏΡΠ°ΡΠ° MO FSM ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ (ΠΊΡΠ°ΡΠΊΠΎ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΡ ΠΌΠΎΠ±ΠΈΠ»Π΅Π½ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»)
SMS-ΠΠΠΠ ΠΠ’ΠΠ’Π ΠΠ’Π§ΠΠ’ β ΠΏΠΎΡΠ²ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅, ΡΠ΅ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π΅ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ΠΎ ΠΎΡ SMSC
SRI SM (SendRoutingInfo) - SMSC ΠΏΠΎΠ»ΡΡΠ°Π²Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡ HLR ΠΎΡΠ½ΠΎΡΠ½ΠΎ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° MSC/VLR Π½Π° Π°Π±ΠΎΠ½Π°ΡΠ°
SRI SM RESP β ΠΎΡΠ³ΠΎΠ²ΠΎΡ ΠΎΡ HLR ΠΎΡΠ½ΠΎΡΠ½ΠΎ ΠΏΠΎΠ·ΠΈΡΠΈΡΡΠ° Π½Π° Π°Π±ΠΎΠ½Π°ΡΠ°
MT-FSM - ΡΠ»Π΅Π΄ ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅Π· ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ° "ΠΡΠ΅ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° ΠΊΡΠ°ΡΠΊΠΎ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅".
MT-FSM-ACK β ΠΎΡΠ³ΠΎΠ²ΠΎΡ ΠΎΡ SMSC, ΡΠ΅ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π΅ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ΠΎ
ΠΠ’Π§ΠΠ’ ΠΠ Π‘ΠͺΠ‘Π’ΠΠ―ΠΠΠΠ’Π Π½Π° SMS β SMSC ΠΈΠ·ΠΏΡΠ°ΡΠ° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° Π΄ΠΎΡΡΠ°Π²ΠΊΠ° Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ.
Π‘ΡΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π° Π΄ΠΎΡΡΠ°Π²ΠΊΠ° Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ
ΠΠ’Π§ΠΠ’ ΠΠ Π‘ΠͺΠ‘Π’ΠΠ―ΠΠΠΠ’Π Π½Π° SMS ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠΈΠ΅ΠΌΠ° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ:
ΠΠΠΠΠΠ Π ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π΅ Π΄ΠΎΡΡΠ°Π²Π΅Π½ΠΎ ΡΡΠΏΠ΅ΡΠ½ΠΎ
ΠΠ’Π₯ΠΠͺΠ ΠΠΠΠ β ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π΅ ΠΎΡΡ
Π²ΡΡΠ»Π΅Π½ΠΎ ΠΎΡ SMS ΡΠ΅Π½ΡΡΡΠ°
ΠΠ ΠΠ‘Π ΠΠ§ΠΠ - ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΠ΅ ΠΏΡΠ΅ΠΌΠ°Ρ
Π²Π° ΠΎΡ ΠΎΠΏΠ°ΡΠΊΠ°ΡΠ° Π·Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ ΡΠ»Π΅Π΄ ΠΊΡΠ°Ρ Π½Π° TTL (ΠΆΠΈΠ²ΠΎΡ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ)
ΠΠΠΠΠΠΠ - Π΄ΡΡΠ³ΠΈ ΡΠ»ΡΡΠ°ΠΈ Π½Π° Π»ΠΈΠΏΡΠ° Π½Π° Π΄ΠΎΡΡΠ°Π²ΠΊΠ°
UNKNOWN- ΠΠ΅ Π΅ ΠΏΠΎΠ»ΡΡΠ΅Π½ ΠΎΡΠ³ΠΎΠ²ΠΎΡ.
ΠΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅
ΠΠΎΠ½ΡΠΊΠΎΠ³Π° ΠΏΡΠΈΡΠΈΠ½ΠΈΡΠ΅, ΠΏΠΎΡΠ°Π΄ΠΈ ΠΊΠΎΠΈΡΠΎ SMS ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡΡΠ° Π½Π΅ ΡΠ΅ Π΄ΠΎΡΡΠ°Π²ΡΡ Π½Π° Π°Π±ΠΎΠ½Π°ΡΠ°. ΠΠΎΡΠ»Π΅Π΄ΠΈΡΠ°ΡΠ° ΠΎΡ ΡΠ΅Π·ΠΈ ΠΏΡΠΈΡΠΈΠ½ΠΈ Π΅ ΠΏΠΎΡΠ²Π°ΡΠ° Π½Π° Π³ΡΠ΅ΡΠΊΠΈ. ΠΡΠ΅ΡΠΊΠΈΡΠ΅ ΡΠ΅ Π²ΡΡΡΠ°Ρ Π² PDUs_sms_resp. ΠΡΠΈΡΠΊΠΈ Π³ΡΠ΅ΡΠΊΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈ Π½Π° Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈ (Temporary) ΠΈ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΈ (Permanent).
ΠΠ°ΡΠΎ ΠΏΡΠΈΠΌΠ΅Ρ, absent_subscriber Π΅ Π²ΡΠ΅ΠΌΠ΅Π½Π΅Π½, Π°Π±ΠΎΠ½Π°ΡΡΡ Π½Π΅ Π΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΈΠ»ΠΈ Π½Π΅ Π΅ ΠΎΠ½Π»Π°ΠΉΠ½, ΠΈ ΠΏΠΎΡΡΠΎΡΠ½Π΅Π½ - ββΠ°Π±ΠΎΠ½Π°ΡΡΡ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°. Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ Π²ΡΠ·Π½ΠΈΠΊΠ½Π°Π»ΠΈΡΠ΅ Π³ΡΠ΅ΡΠΊΠΈ ΡΠ΅ ΡΠΎΡΠΌΠΈΡΠ° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ° Π·Π° ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° ΡΠ΅Π·ΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΠΊΠΎ Π°Π±ΠΎΠ½Π°ΡΡΡ Π΅ Π±ΠΈΠ» Π·Π°Π΅Ρ Π΄Π° Π³ΠΎΠ²ΠΎΡΠΈ ΠΈ Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ» Π³ΡΠ΅ΡΠΊΠ° ΠΠ’ ΡΠ»ΡΡΠ°Π»ΠΊΠ°ΡΠ° Π΅ Π·Π°Π΅ΡΠ°, ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ΠΎ ΠΎΡΠ½ΠΎΠ²ΠΎ ΡΠ»Π΅Π΄ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΌΠΈΠ½ΡΡΠΈ, Π½ΠΎ Π°ΠΊΠΎ Π°Π±ΠΎΠ½Π°ΡΡΡ Π΅ Π±Π»ΠΎΠΊΠΈΡΠ°Π» ΡΡΠ»ΡΠ³Π°ΡΠ° Π·Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΡΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½ΡΠΌΠ° Π΄Π° ΠΈΠΌΠ° ΡΠΌΠΈΡΡΠ». ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈΡΠ΅ ΡΠΏΠΈΡΡΠΊ Ρ Π³ΡΠ΅ΡΠΊΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π½Π° SMSC, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠ°ΡΠΎ
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com