Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Pavel Отъезжающий на ПМЖ на форум
Зарегистрирован: 01.10.2005 Сообщения: 496 Откуда: CПб
|
Добавлено: Чт Май 17, 2007 5:38 pm Заголовок сообщения: формат расширенной ЕМS |
|
|
Расширенная EMS позволяет разбивать большие сообщения (больше 140 байт вместе с заголовком) на составляющие. [передать несколькими SMSками]
По сравнению с черно-белым растровым изображением основной EMS, размеры растровых изображений расширенной EMS могут достигать максимум 255х255 пикселов.
Большой объект разбивается на несколько частей (не более 8 информационных элементов) каждая из которых содержит часть первоначального целого сообщения.
Размер первого информационного элемента (кусок картинки) в первом расширенном объекте (объект - заголовки = кусок картинки) равен 124 октетам. (для картинки заголовок первого элемента 9 байт => в первый элемент поместится 122 октета).
Чтобы посчитать длину пользовательской информации (информации о картинке) передаваемой в данном блоке, следует сформировать "заголовок расширенного объекта", и вычесть из 140 (размер UDHL) минус (размер UDH) минус "заголовок расширенного объекта".
(
Расчёт:
140 октетов (размер TP-User Data) минус
1 октет (User Data Head Length) минус
6 октетов (User Data Header)(информационный элемент сочленения, 16-битный № ссылки) минус
1 октет (IEI) (для картинки IEI - 0х14) минус
1 октетов (IEDL) (Количество байтов после этого байта, т.е. как правило, если сообщение разбито на несколько сегментов, то 140-7-2=131)
9 октетов (информационный элемент первого расширенного объекта без полезной нагрузки)
равно 122 октета.
)
Во втором и всех последующих элементах 9 октетов заголовка расширенного объекта опускается, поэтому они могут содержать в себе до 131 октета информации. (140 - UDHL - UDH - IEI - IEDL = 131)
UDHL - длина заголовка данных пользователя (напр. 0x05)
IEI - (IE Identifier) тип информационного сочленения (0х00 - сочленение с 8-битным № ссылки; 0х08 с 16-битным № ссылки )
IEDL - (IE Data Length) длина IED (напр. 0x03). Идентифицирует длину IED в октетах. Это помогает SME-получателю пропустить IED, если он его распознал.
IED - (IE Data) содержит полезную нагрузку информационного элемента.
Каждый IE имеет особую структуру в соответствии со своим типом.
При представлении в виде информационного элемента инструкций сочленения полезная
нагрузка состоит из :
1-й октет - № ссылки сочлененнного сообщения. Это число по модулю 256, если IEI содержит 8 бит (0х00).
(1 и 2 октет, если IEI состоит из 16 бит (0x08). Тогда в них записано число по модулю 65536.)
2-й октет - количество сегментов в сообщении
3-й октет - порядковый № этого сегмента в сообщении (от 1 до
ВОПРОС КАСАЕТСЯ ЗАГОЛОВКА ПЕРВОГО ИНФОРМАЦИОННОГО ЭЛЕМЕНТА.
IEI 0х14 (первый байт) - расширенный объект
IEDL переменная длина байткода рисунка (до 4 байт)
IED байты 1..9 - заголовок расширенного объекта (только для первого сегмента) (может получаться и больше 9 байт); 10..n битовый массив ч.б. изображения (слева направо, сверху вниз)
1-й байт № уникальной ссылки расширенного объекта (используется для повторного вставки объекта в другую часть сообщения)
НА СКОЛЬКО Я ПОНИМАЮ СЮДА ^^^ МОЖНО ЗАПИСЫВАТЬ ЛЮБОЕ ЧИСЛО УМЕЩАЮЩЕЕСЯ В 1 БАЙТ.
2,3 байт Длина объекта ( ВИДИМО, ЭТО ДЛИНА ВСЕЙ ПЕРЕДАВАЕМОЙ ИНФОРМАЦИОННОЙ ЧАСТИ: сегменты 1..n)
4-й байт Статус обработки объекта (как объект будет обрабатываться на стороне оператора-(00000000)bin )
5-й байт Тип расширяемого объекта (2)dec - (0x02)hex - черно-белое изображение
6,7 байты Абсолютная символьная позиция в сообщении, на которую помещается объект (Я думаю, если выставлять нулевое значение, то будет все работать, но НЕ СОВСЕМ ПОНЯТНО НАЗНАЧЕНИЕ ЭТОГО БАЙТА, Т.К. ЭТА ИНФОРМАЦИЯ УКАЗЫВАЕТСЯ ТОЛЬКО В ЗАГОЛОВКЕ ПЕРВОГО СЕГМЕНТА. )
8-й байт Ширина изображения (1..255)dec
9-й байт Высота изображения (1..255)dec
10..n сюда вставляется 1-я часть сообщения
Если кто-нибудь найдет ошибки в описании протокола или сможет его чем-то дополнить, буду очень признателен.
P.S.:
EMS формируется как битовый массив, размер которого указывается в заголовке EMS (в заголовке еще много чего размещается ). Так вот, вопрос по фомированию (правильности формирования) этого самого заголовка, т.к. ошибка всего в одном байте и зголовок телефоном не распознается, данные о картинке телефон знать не будет и отобразит двочный код в котором закодирована картинка не как картинку, а как двоичный код. С основной EMS (до 140 байт - передается 1 SMSкой) все просто, а вот в расширенной (> 140 байт - бъется на куски по 140 и передается за N sms) заголовки (ососбенно у первого сегмента) монструозные.
Более подробно можно посмотреть в книжице
Гвинель Ле-Бодик
Мобильные сообщения. Службы и технологии SMS, EMS и MMS
Но там неоправданно заумно написано о простых вещах, и не всё совсем ясно....
p.s.2:
http://www.mconline.ru/magazine/mc/035/054/1.asp
Эта статья в оригинале
http://www.isms.ru/article.shtml?art_9_1
Продолжение статьи: рассматривается структура EMS
http://www.isms.ru/article.shtml?art_9_2
Книга: Гвинель Ле-Бодик
Мобильные сообщения. Службы и технологии SMS, EMS и MMS
http://www.softlenta.com/ru/document/26692 (файл приаттачен к статье) (глава EMS - стр.152) |
|
Вернуться к началу |
|
|
MMD Почётный форумчанин.
Зарегистрирован: 19.02.2006 Сообщения: 201 Откуда: Краснодарский край
|
Добавлено: Пт Май 18, 2007 12:26 am Заголовок сообщения: Re: формат расширенной ЕМS |
|
|
Pavel писал(а): |
Если кто-нибудь найдет ошибки в описании протокола или сможет его чем-то дополнить, буду очень признателен.
|
Круто! Копая вечером грядки так сильно задумался, что перекопал уже засеянные! Пожалуйста не надо больше таких вопросов, мне предстоит колодец выкапывать. |
|
Вернуться к началу |
|
|
Жирнов Борис Отъезжающий на ПМЖ на форум
Зарегистрирован: 07.06.2006 Сообщения: 389 Откуда: Веселый Поселок
|
Добавлено: Пт Май 18, 2007 10:31 am Заголовок сообщения: |
|
|
Круто, вопрос как раз для Окаводского форума
Цитата: | Если кто-нибудь найдет ошибки в описании протокола или сможет его чем-то дополнить, буду очень признателен. |
Среди RFC не пробовал искать описание стандарта протокола? По идее, должон быть...
Цитата: | Так вот, вопрос по фомированию (правильности формирования) этого самого заголовка, т.к. ошибка всего в одном байте и зголовок телефоном не распознается, данные о картинке телефон знать не будет и отобразит двочный код в котором закодирована картинка не как картинку, а как двоичный код. |
Возможно, используется избыточное кодирование (самовосстанавливающийся код), или вопрос гарантированной доставки решается протоколом более нижнего уровня.
P.S. Лично с EMS дел не имел, пока. |
|
Вернуться к началу |
|
|
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|