E71.RU E71.RU
Добро пожаловать, Гость! Регистрация недоступна • Вход RSS
Понедельник, 23.12.2024
tiano - плохой человек, злой... (c) tiano
[
Меню сайта
]
Новости [Форум]
FAQ-ЧаВо Видеоуроки
Статьи Файлы Обои
Библиотека функций
Патчи Kibab Патчи e71.ru
Прошивки и сервис
Центр Данных
Комментарии Зал славы
Дневник Гостевая книга
О сайте О команде
-
[
Категории каталога
]
Хитрости и тюнинг [16]
Разное [5]
Мобильные технологии [14]
О музыке и т.п. [4]
FAQ'и [19]
История компании Siemens [5]
-
[
Наш опрос
]
Какой раздел форума вы посещаете чаще всего?
Всего ответов: 1256
-
[
Каталог статей
]
Начало » Статьи » Мобильные технологии

SMS и все о нем

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

1. SMS-центры

Упрощенная схема передачи коротких сообщений в домашней сети, когда оба абонента находятся в одной сети, выглядит так:

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

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

Можно усмотреть некоторую аналогию в работе сетей телефонии SS7 и компьютерных сетей TCP/IP. В такой модели роль SMS-центра выполняет шлюз по умолчанию (default gateway).
Напрямую передать сообщение с телефона на телефон, прописав в качестве SMS-центра номер телефона получателя, невозможно.

Как происходит обмен сообщениями (прием, регистрация, доставка, ALERT-SC)

Абонент совместно со своим аппаратом составляют сообщение, выбирают адресата и отправляют сообщение. Коммутатор сети, получив сообщение, извлекает из него номер SMS-центра и пытается передать сообщение ему. SMS-центр анализирует поля "От кого" и "Кому" и на их основании решает - принять это сообщение или отвергнуть. Его решение коммутатор ретранслирует отправителю сообщения, который все это время находится в режиме ожидания подтверждения. Получив ответ, телефон отображает его на

экране в удобочитаемом виде - например "Сообщение отправлено" или "Ошибка передачи сообщения"; модем "отмерзает" и готов принимать новые команды и т.д. Если ответ не получен в течение определенного времени (обычно 30-60 секунд), аппарат считает что передача не удалась.

SMS-центр, приняв сообщение, сохраняет его в базе данных и периодически пытается найти получателя и доставить ему сообщение.

Если телефон получателя не может принять сообщение, сообщение откладывается в "долгий ящик", а коммутатор в своей базе данных делает пометку - "для этого абонента есть сообщения". Позже, когда аппарат абонента зарегистрируется в сети, коммутатор даст знать об этом SMS-центру и тот выдаст аппарату всю накопленную корреспонденцию.

Номер SMS-центра всегда записывается в международном формате. Примеры:
Номер SMS-центра:
БВК: +79025110010
Мегафон ДВ: +79242000690
МТС Примтелефон: +79147991000
Теле2:+79043490000, в иркутских SIM-картах используется псевдоним +79043559999

2.Оконечное оборудование - телефоны, модемы, SMS-центры


Номер SMS-центра, профили сообщений, хранение сообщений в телефоне/SIM-карте. Ограничения на длину сообщения.

3. Параметры сообщения:

Многие знают о четырех параметрах sms - дата и время отправки, дата и время доставки, отправитель, текст. Но их гораздо больше.

Дата/время доставки/отправки - на самом деле почти все телефоны вместо этого показывают дату/время отправки, а не доставки. Иногда это совсем не одно и тоже. Во-первых, сообщения в любой случае доставляется не мгновенно, однако этот параметр проставляет сам SMS-центр, а для большинства сообщений задержка между отправкой и доставкой составляет несколько секунд. Однако если sms нельзя доставить сразу, SMS-центр будет пытаться доставлять сообщение в течение срока жизни сообщения (об этом параметре позже). Причин невозможности мгновенной доставки может быть несколько - телефон находится вне зоны действия сети, на балансе недостаточно средств (некоторые операторы не позволяют принимать входящие sms при отрицательном или нулевом балансе), переполнена память телефона и др. Но основной интерес этого параметра заключается в том, что дату/время проставляет не телефон, а SMS-центр по собственным часам. Таким образом, если Вы только что получили сообщение, а время отправки сдвинуто на 2 часа назад, то, вероятно, SMS-центр отправителя находится западнее Вас на 2 часовых пояса. Впрочем, время внутри sms может быть указано по Гринвичу - в этом случае телефон преобразует его в локальное время и Вы никакой разницы не увидите.

Адрес отправителя - интересен тем, что может не иметь никакого отношения к реальному отправителю sms. Не так давно пользователи мобильных телефонов пребывали в полной уверенности, что если им приходит sms от их знакомого Васи Пупкина, то отправил его именно Вася, или, во всяком случае, с Васиного телефона. На самом деле это верно только в том случае, если отправка производилась с мобильного телефона. При отправке через специальные каналы возможно указание совершенно произвольного номера, как существующего, так и вымышленного. Кроме того, вместо номера можно указывать небольшую строку текста латинскими буквами и/или цифрами (не более 11 символов). Как правило, при получении sms телефон пытается найти запись для этого номера во внутреннем справочнике. Если Вы добавляли в него этот номер, то Вы, скорее всего, увидите вместо номера имя или фамилию абонента. Даже зная о том, что номер отправителя можно подделать, люди автоматически доверяют подобной информации.

Тело сообщения - помимо содержания в себе текста или бинарных данных, тело sms может быть...пустым - и это может иметь смысл. Например, пользователи голосовой почты наверняка видели на экранах своих мобильников значок, означающий, что пришло новое голосовое сообщения. На самом деле этот значок появляется и исчезает при передаче на телефон sms специального типа. Тело такой sms пустое, а указание, какой именно значок нужно отобразить, задается параметром data_coding. Сообщение как таковое не отображается на экране телефона.

Помимо собственно текста сообщения, SMS содержит несколько параметров, которые при отправке формирует устройство отправителя.

Управлять этими параметрами можно опосредованно, через пункты меню телефона или напрямую - в случае работы с модемом. Не все устройства позволяют управлять всем набором параметров.

Параметры таковы (названия достаточно условны):

PRIORITY: приоритетность/срочность сообщения. Существует 4 уровня приоритетности сообщений, от 0 до 3. При получении сообщения с приоритетом выше стандартного 0, SMS-центр попытается доставить его "вне очереди". Если попытка доставки не удалась, этот флаг устанавливается в стандартное значение. В сетях GSM градация уровней срочности выглядит как обычное (0) и срочное (все, что больше 0).

VALIDITY PERIOD: срок актуальности сообщения. В течение этого срока SMS-центр будет пытаться доставить сообщение. Если этот параметр не задан, срок актуальности будет использован тот, что задан в настройках SMS-центра.

REGISTERED DELIVERY: вынуждает SMS-центр отсылать отправителю отчет о состоянии доставки. Например если сообщение доставлено, отправителю придет уведомление, которое телефон отобразит как "Доставлено", или, если не доставлено в течение заданного с помощью VALIDITY PERIOD срока, "Не доставлено". Конкретный текст, отображаемый телефоном, зависит от русификации.
Список комбинаций разнообразный - можно запрашивать отчет только в случае удачной доставки, либо только в случае неудачной доставки, либо и то и другое, либо запрашивать промежуточные состояния (принято sms-центром, отправлено, временно невозможно). Программа отправки сообщений с этого сайта (http://everyday.ru) эксплуатирует этот параметр для визуального отображения состояния сообщения.

SCHEDULED DELIVERY: запланированная (отложенная) доставка. Этот параметр информирует о том, когда надо начинать доставку. Если не задан, то доставка сообщения начнется немедленно.

REPLACE IF PRESENT: с этим установленным параметром SMS-центр заменит предыдущее отправленное, но еще не доставленное сообщение с теми же значениями полей "От:" и "Кому:". Полезно использовать в системах оповещения о приходе голосовой почты.

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

Дело вот в чем. Если этот параметр включен у отправителя сообщения, то проблем при обмене сообщениями не возникает пока оба участника обслуживаются одним SMS-центром (почти то же самое, что и обслуживаются одним оператором). Как только получателем сообщений становится абонент, которому запрещено отправлять сообщения через SMS-центр абонента-отправителя (читай - абонент другого оператора), при попытке ответить на поступившее сообщение получаем ошибку: "сеть не поддерживает передачу сообщений" или что-то подобное. Это естественно, так как операторы запрещают "чужакам" отправлять сообщения через свой SMS-центр.

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

Особую пикантность проблеме придают два обстоятельства: страдает человек, который в общем-то не виноват в том, что его телефон не может ответить на такое сообщение, и то, что в телефоне отправителя может и не быть возможности выключить этот параметр.

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

Как именно трактуется содержимое поля, определяет одно из значений параметра ESM CLASS (значение UDHI - User-Data Header Indicator). Если при отправке указать, что часть сообщения содержит пользовательские данные (т.е. в ESM CLASS включен индикатор UDHI), то помимо текста в сообщении можно передать:
элементы форматирования (например, то, что часть текста подчеркнута, часть выделена жирным шрифтом и т.п.)
один из 32 встроенных в телефон шаблонов картинок
один из 7 встроенных в телефон шаблонов мелодий
одну из специальным образом подготовленных картинок или мелодий

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

TON: Type Of Number (Тип номера). Определяет тип адреса отправителя/получателя. Позволяет обслуживать сообщения, отправленные на номер в локальном (например городском) формате - в пределах действия домашней сети, федеральном - в пределах нумерации страны или в международном формате. Помимо этого,
для контент- и сервис-провайдеров может быть интересна такая возможность, как задание буквенного идентификатора отправителя. В качестве примера можно ознакомиться с работой провайдера ZANZARA (http://zanzara.ru).
Оператор TELE2 отправляет свои сервисные сообщения с буквенного адреса ".TELE2.", а сообщения с корпоративного сайта tele2.ru - с адреса "WWW".

DATA CODING: схема кодирования символов. Упрощенно говоря, кодировка, в которой набрано сообщение, но и не только кодировка.

ESM CLASS: класс сообщения. Самая интересная пара параметров. Манипулируя этими двумя параметрами, можно отсылать

  • текстовые сообщения,
  • flash-сообщения (они отображаются сразу на экране)
  • черно-белые картинки и монофонические мелодии
  • длинные сообщения,
  • порезанные на кусочки, которые затем будут собраны аппаратом получателя
  • уведомления о голосовой почте (иконка диктофона)
  • уведомления о факсах уведомления о e-mail (иконка @)
    (Чтобы убрать значок уведомления, нужно послать еще одно такое же сообщение, но уже с выключенным параметром, ;или дождаться истечения VALIDITY PERIOD, телефон сам уберет значок.)
  • WAP-PUSH сообщения - ссылки на WAP-ресурсы, сохраняемые не в ячейках памяти для SMS, а в закладках WAP-браузера телефона
  • OTA-SMS (Over-The-Air сообщения) - различные настройки конфигурации и сервисные приложения для телефона и SIM-карты

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 символов, поскольку на самом деле используются только латинские символы и греческие символы из той же кодировки. Правда, для этого нужно проявить недюжинную фантазию и богатство лексикона.

Источник: http://www.everyday.ru/index.php?type=special&area=1&p=articles&id=17

Категория: Мобильные технологии | Добавлено: tiano (21.07.2007) | Автор: Степан
Просмотров: 18649 | Комментарии: 5 | Рейтинг: 5.0

Всего комментариев: 5
5 sim_emrom  
0
Саня, действительно... Эти ресурсы были удалены в источнике :(

4 Горыныч  
0
Блин, оч нужны картинки, а они не показываются :'(

3 CUKE  
0
Спасибо.
интерсесно узнать о такой мелоче побольше

2 Majestic  
0
занимательно)

1 DOMINATOR  
0
Спасибо Степан! Очень познавательно и интересно!

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Использование материалов сайта возможно только при согласовании с администрацией
[ ]
[
Форма входа
]
-
[
Информация
]
Online-конференция сайта
siemensx85@ conference.jabber.ru

Последние версии
Библиотеки функций:
E71: 27.08.2010,
EL71: 10.06.2010
-
[
Мини-чат
]
-
[
Статистика
]
Онлайн всего: 2
Гостей: 2
Пользователей: 0

Новости: 321
Заметки: 30
Отзывы: 157
FAQ: 55 Статьи: 62
Файлы: 1373 Обои: 1286
Комментарии: 2715
Форум: 44345/1139

Web Stats Rambler's Top100 Рейтинг@Mail.ru
-