Клуб фанатів benq-siemens e71

SMS механізм передачі

1. SMS-центри


Спрощена схема передачі коротких повідомлень в домашній мережі, коли обидва абонента знаходяться в одній мережі, виглядає так:

Якщо абоненти приписані до різних мереж (наприклад обслуговуються різними операторами),
схема буде виглядати так:

Давайте уважніше розглянемо SMS-центр.
SMS-центр це програмно-апаратний комплекс, призначений для прийому, реєстрації та пересилання коротких повідомлень. SMS-центр, як і будь-яке інше мережеве пристрій, має власний унікальний ідентифікатор - номер. SMS-центрів у одній мережі може бути безліч. При відправці повідомлення крім тексту передається інформація, який SMS-центр повинен обробити це повідомлення.

Як відбувається обмін повідомленнями (прийом, реєстрація, доставка, ALERT-SC)

екрані в зрозумілому людині вигляді - наприклад "Повідомлення надіслано" або "Помилка передачі повідомлення"; модем "отмерзает" і готовий приймати нові команди і т.д. Якщо відповіді не отримано протягом певного часу (зазвичай 30-60 секунд), апарат вважає що передача не вдалася.

SMS-центр, прийнявши повідомлення, зберігає його в базі даних і періодично намагається знайти одержувача і доставити йому повідомлення.

3. Параметри повідомлення:

Багато хто знає про чотирьох параметрах sms - дата і час відправлення, дата і час доставки, відправник, текст. Але їх набагато більше.

Крім власне тексту повідомлення, SMS містить кілька параметрів, які при відправці формує лад відправника.

Параметри такі (назви досить умовні):

PRIORITY. пріоритетність / терміновість повідомлення. Існує 4 рівня пріоритетності повідомлень, від 0 до 3. При отриманні повідомлення з пріоритетом вище стандартного 0, SMS-центр спробує доставити його "позачергово". Якщо спроба доставки не вдалася, цей прапор встановлюється в стандартне значення. У мережах GSM градація рівнів терміновості виглядає як звичайне (0) і термінове (все, що більше 0).

VALIDITY PERIOD. термін актуальності повідомлення. Протягом цього терміну SMS-центр буде намагатися надіслати Ваше повідомлення. Якщо цей параметр не заданий, термін актуальності буде використаний той, що заданий в налаштуваннях SMS-центру.

SCHEDULED DELIVERY. запланована (відкладена) доставка. Цей параметр інформує про те, коли треба починати доставку. Якщо не заданий, то доставка повідомлення почнеться негайно.

REPLACE IF PRESENT. з цим встановленим параметром SMS-центр замінить попередню відправлене, але ще не доставлене повідомлення з тими ж значеннями полів "Від:" і "Кому:". Корисно використовувати в системах оповіщення про прихід голосової пошти.

RPI. Return Path Indicator (Індикатор шляху відповіді). Інформує одержувача SMS про те, що відповідь на повідомлення слід послати тим самим шляхом, що й вихідне повідомлення (тобто через SMS-центр відправника). Спочатку параметр був задуманий для того, щоб дати можливість відповідати на деякі повідомлення абонентам, що знаходяться в роумінгу, але схоже шкоду від його запровадження переважує користь.

Справа ось у чому. Якщо цей параметр включений у відправника повідомлення, то проблем при обміні повідомленнями не виникає поки обидва учасники обслуговуються одним SMS-центром (майже те ж саме, що і обслуговуються одним оператором). Як тільки одержувачем повідомлень стає абонент, якому заборонено відправляти повідомлення через SMS-центр абонента-відправника (читай - абонент іншого оператора), при спробі відповісти на повідомлення, що надійшло отримуємо помилку: "відеодзвінки не підтримуються передачу повідомлень" або щось подібне. Це природно, тому що оператори забороняють "чужинцям" відправляти повідомлення через свій SMS-центр.

На малюнку зображено проходження відповідного повідомлення абонента А, коли абонент B включив RPI і відправив своє перше повідомлення абоненту А в іншу мережу.

UDH. User-Data Header (заголовок призначених для користувача даних). Власне, це не параметр, а частина текстового повідомлення. Саме поле, відведене для передачі тексту, може використовуватися двома способами - або цілком для передачі текстової інформації, або для передачі розширеної інформації і (якщо залишиться місце) тексту.

Специфікація оформлення заголовка UDH для передачі цієї інформації названа EMS (Extended Message Service) - служба розширених повідомлень. Крім цієї служби (її підтримують не всі виробники пристроїв), популярністю користується схожа за можливостями служба Nokia Smart Messaging.

DATA CODING. схема кодування символів. Спрощено кажучи, кодування, в якій набрано повідомлення, але і не тільки кодування.

4. Про кодуваннях і кількості символів в sms

Багато з нас вже знають, що в одній sms можна передати до 160 латинських або до 70 російських символів. Однак конкретна причина такої дискримінації російськомовної частини населення не всім зрозуміла. Спробуємо пролити світло на цю загадкову особливість sms.

Перш за все, хочу остаточно заплутати читача, сказавши, що максимальна довжина sms (ми зараз не маємо на увазі так звані long sms - довгі sms) становить 140 байт. Це обмеження накладається на рівні сигнальної мережі SS7 і єдине для всієї мереж GSM (наприклад, в мережах CDMA ця цифра ще менша). Таким чином, у нас вже

є три числа - 160, 140 і 70. Будемо розбиратися з кожним окремо.

140 - максимальна кількість байт, що відводиться на тіло sms. Тут саме час згадати, що крім текстових sms існують також і бінарні sms, які служать для передачі рингтонів, зображень, даних за технологією OTA і т.п. Їх максимальний розмір становить 140 байт.

160 - максимальне число латинських символів, яке можна передати в одній sms. Насправді, це ті ж самі 140 байт - символи упаковуються за допомогою процедури 7-бітної упаковки. Кодування для передачі латинських символів, містить 128 різних символів, для кодування будь-якого з них досить 7 біт замість 8. З огляду на, що 140 байт - це 1120 біт, ми отримуємо, що в 140 байт можна вмістити 160 7-бітних символів.

70 - максимальне число російських букв, які можна передати в одній sms. Причина такого різкого обмеження в тому, що кожна російська буква займає два байти, оскільки є підмножиною кодування UCS2 (16-бітна кодування для Unicode-символів). При цьому кодування для всієї sms єдина, тобто якщо використовується хоча б одна російська буква, то будь-який символ (навіть латинський) буде займати два байта.

Не всі знають, що деякі цілком звичайні символи, які зазвичай ставляться до стандартної ASCII-кодуванні, в GSM використовують два знакомісця. Цих символів небагато:

Використання таких символів у тексті, що містить тільки латинські букви, призведе до несподіваного зменшення максимальної довжини. Наприклад, sms, що складається з символів [], зможе вмістити тільки 80 таких символів. Цей ефект не враховується практично жодним мобільним оператором - при відправці sms з сайту Вам дозволять набрати до 160 подібних символів нарівні з усіма іншими.

І ще один цікавий момент - в цю ж кодування входять кілька грецьких символів. Особливо цікаво те, що частина з них виглядає точно так само, як російські літери:

Цю особливість можна використовувати для того, щоб писати sms російською мовою латинськими символами. Є досить багато букв латинської мови, які виглядають точно так само, як російські літери:

E T O P A H K X C B M e u o p a n m 3 bI

При цьому можна написати російською мовою повідомлення довжиною до 160 символів, оскільки насправді використовуються тільки латинські символи та грецькі символи з тієї ж кодування. Правда, для цього потрібно проявити неабияку фантазію і багатство лексикону.

Схожі статті