реклама на сайте
подробности

 
 
> вопрос по СМС PDU кодировка
Павел_Б
сообщение Oct 24 2013, 16:15
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 354
Регистрация: 21-11-10
Пользователь №: 61 046



Здравствуйте.
Знаю что вопрос обсуждался уже тысячу раз но не могу найти ответ sad.gif
Есть 2 устройства А и Б.
Устройство А передаёт СМС устройству Б в PDU с кодированием данных в 7-ми битном виде.
Устройство Б получает СМС в виде: 07919720740800F1240B919721954856F20000909020914412020431D98C06
Вопрос - именно устройство А задаёт в каком виде будут зашифрованы данные.
Т.е. по приходу новой СМС устройсту Б нужно сперва определиться в каком виде находятся данные а уже после этого расшифровывать их определённым образом.
Правильно? Именно устройство А определяет как закодированы данные. Так?
Если так, тогда логичен следующий вопрос - устройство А на SIM900. Какой командой ему "сказать" чтобы он например кодировал данные в 8-ми битном формате?
Т.е. чтобы при чтении СМС у устройства Б была строка в виде: 07919720740800F1240B919721954856F20004909020914412020431323334
Заранее спасибо!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 8)
jack_avenger
сообщение Oct 24 2013, 18:46
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 170
Регистрация: 30-06-05
Из: Киев
Пользователь №: 6 426



Что-то нет желающих отвечать. А Вы не задумывались что между А и Б есть еще и ОПСОС с его базовыми станциями?
Go to the top of the page
 
+Quote Post
gerber
сообщение Oct 24 2013, 19:06
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 750
Регистрация: 1-11-11
Пользователь №: 68 088



СМС-ки кодируются 7-битным кодом, если нужно выйти за пределы стандартного знакогенератора, передать, к примеру, русские буквы, то каждый символ кодируется двумя последовательными 7-битными кодами.


--------------------
"... часами я мог наблюдать, как люди работают." (М. Горький)
Go to the top of the page
 
+Quote Post
andrewlekar
сообщение Oct 24 2013, 19:27
Сообщение #4


Знающий
****

Группа: Участник
Сообщений: 837
Регистрация: 8-02-07
Пользователь №: 25 163



По моему опыту, смс приходит всегда в той кодировке, в какой его отправило устройство A. Опсос ни разу ниче не перекодировал, в том числе и при работе по SMPP протоколам.
Если вы отправляете смс в PDU режиме, то выставьте поле DCS в F4.
Если не в PDU режиме, то насколько я помню, GSM 8 бит формат в SIM не поддерживается.
Go to the top of the page
 
+Quote Post
Андрей190
сообщение Oct 25 2013, 06:23
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 43
Регистрация: 24-12-06
Из: Орел
Пользователь №: 23 838



Цитата(Павел_Б @ Oct 24 2013, 20:15) *
... Какой командой ему "сказать" чтобы он например кодировал данные в 8-ми битном формате?
Т.е. чтобы при чтении СМС у устройства Б была строка в виде: 07919720740800F1240B919721954856F20004909020914412020431323334
Заранее спасибо!


см. Формат передаваемого SMS, поле DCS

Прикрепленные файлы
Прикрепленный файл  _______PDU____________________________________SMS.pdf ( 213.24 килобайт ) Кол-во скачиваний: 44
 
Go to the top of the page
 
+Quote Post
Romashki
сообщение Oct 25 2013, 06:31
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 209
Регистрация: 5-12-10
Пользователь №: 61 419



Я думаю СМС придет в том формате, на который настроен приемный терминал. На сколько мне помнится оператора все равно перекодирует по-своему.
Go to the top of the page
 
+Quote Post
Павел_Б
сообщение Oct 26 2013, 03:20
Сообщение #7


Местный
***

Группа: Участник
Сообщений: 354
Регистрация: 21-11-10
Пользователь №: 61 046



Спасибо всем ответившим!
Но только осталось впечатление, что у каждого сеть работает по-своему sm.gif
Go to the top of the page
 
+Quote Post
Frolov Kirill
сообщение Oct 28 2013, 12:58
Сообщение #8


Местный
***

Группа: Участник
Сообщений: 212
Регистрация: 2-02-11
Пользователь №: 62 643



Цитата(Павел_Б @ Oct 24 2013, 20:15) *
Здравствуйте.
Знаю что вопрос обсуждался уже тысячу раз но не могу найти ответ sad.gif
Есть 2 устройства А и Б.
Устройство А передаёт СМС устройству Б в PDU с кодированием данных в 7-ми битном виде.
Устройство Б получает СМС в виде: 07919720740800F1240B919721954856F20000909020914412020431D98C06
Вопрос - именно устройство А задаёт в каком виде будут зашифрованы данные.
Т.е. по приходу новой СМС устройсту Б нужно сперва определиться в каком виде находятся данные а уже после этого расшифровывать их определённым образом.
Правильно? Именно устройство А определяет как закодированы данные. Так?


Так. Именно A определяет. Хотя, допускаю, могут быть и странности в середине процесса, вплоть до вставки рекламы в SMS и т.п. И трудности с прохождением SMS с нетиповыми форматами. А также трудности с их интерпретацией на приёмной стороне (см. ниже).

Цитата
Если так, тогда логичен следующий вопрос - устройство А на SIM900. Какой командой ему "сказать" чтобы он например кодировал данные в 8-ми битном формате?


А зачем именно в 8-битном? Под 8-битным понимается, обычно, "бинарные" SMS. Которые модем во-первых может интерпретировать по-своему (оно нужно для ряда странных вещей вроде приложений в SIM-карте). А самое главное, во-вторых, непонятно как их потом передать от модема с контроллеру. Символы с кодами 0x80..0xff и 0x00..0x1f будут вызывать традиционные проблемы. Потому, видимо, такого извращения и нет.

Цитата
Т.е. чтобы при чтении СМС у устройства Б была строка в виде: 07919720740800F1240B919721954856F20004909020914412020431323334


Принимать в 7-битном виде и не морочить мозг. Даже если действительно нужна передача бинарных данных: они достаточно эффективно передаются в base64 в 7-битной кодировке (на передачу 6 бит данных нужно 7 бит в SMS). Единственная закавыка тут: кодировка многосегментных 7-битных SMS -- мозг сломаешь.
Go to the top of the page
 
+Quote Post
Alechek
сообщение Oct 28 2013, 13:09
Сообщение #9


Профессионал
*****

Группа: Свой
Сообщений: 1 241
Регистрация: 15-11-05
Из: Челябинск
Пользователь №: 10 882



Цитата(Frolov Kirill @ Oct 28 2013, 18:58) *
А зачем именно в 8-битном? Под 8-битным понимается, обычно, "бинарные" SMS. Которые модем во-первых может интерпретировать по-своему (оно нужно для ряда странных вещей

Именно! 8 бит это не текст, это DATA. В свое время пробовали использовать для передачи данных с мобильного терминала ява-приложению на телефоне (с использованием UDH порта назначения), все проходило без проблем.
Для текста - либо 7 бит либо 16 бит.

ЗЫ для того, чтобы модем хавал сообщения (и отдавал их через STK симке), надо чтобы
Цитата(3GPP TS 11.14)
protocol identifier = SIM data download or ANSI-136 R-DATA (see 3G TS 23.040 [30])
and
data coding scheme = class 2 message
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 12:55
Рейтинг@Mail.ru


Страница сгенерированна за 0.01429 секунд с 7
ELECTRONIX ©2004-2016