Разборка SMS и отправка на e-mail

Здесь выкладываем скрипты
Правила форума
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
Ответить
DyadyaGenya
Сообщения: 31
Зарегистрирован: 08 май 2023, 01:29

pepelxl писал(а): 12 июн 2023, 14:02 Я уже ни черта не помню. Но кажется, что как раз в 7бит надо парсить отдельно и собирать вместе, а всё остальное надо собрать сначала, а потом парсить.
Парсить - это перекодировать символы в человеческий вид?

И что про мой код? Вылаживать сейчас или уже потом?


DyadyaGenya
Сообщения: 31
Зарегистрирован: 08 май 2023, 01:29

И ещё, не напомните, как ещё отличать кодировку? Потому что пока встречал описание поля DCS только либо "00", либо "08". Если "00", то это вроде бы 7 бит. А если "08", то вроде как UCS2. Но вроде бы ж есть и другие кодировки. Да и как различить на каком конкретно языке написана смс? Это ж как-то связано с "08"?


pepelxl
Сообщения: 161
Зарегистрирован: 23 июл 2013, 18:47

1) да
2) готовое. Как видите вы ведёте монолог, сыромятина ни кого не интересует. Всё ждут готовое за спасибо и лайки.


DyadyaGenya
Сообщения: 31
Зарегистрирован: 08 май 2023, 01:29

pepelxl писал(а): 12 июн 2023, 15:19 1) да
Связано с 8-ми битным кодированием или про парсить?

И может подскажите дополнительные параметры для определения языка смс и его кодирования?


pepelxl
Сообщения: 161
Зарегистрирован: 23 июл 2013, 18:47

Смс не содержит язык, оно или 7бит альфабет, или ucs2. Языки есть в cbm, но там совершенно другая структура. 8бит не используют для передачи текстовых смс.


DyadyaGenya
Сообщения: 31
Зарегистрирован: 08 май 2023, 01:29

pepelxl писал(а): 12 июн 2023, 20:42 Смс не содержит язык, оно или 7бит альфабет, или ucs2.
Тоесть поле DCS может быть только либо "00", либо "08"
pepelxl писал(а): 12 июн 2023, 20:42 8бит не используют для передачи текстовых смс
Возможно я не верно выразился, но я думал, что UCS2 это 8 бит или 16 бит. Да и у вас в файле functionMTI написано "# Тип кодировки сообщения (7-bit, 8-bit, UCS2)"
pepelxl писал(а): 30 май 2020, 10:56
содержимое functionMTI

Код: Выделить всё


# Тип кодировки сообщения (7-bit, 8-bit, UCS2)

Хорошо, а про алгоритм перекодировки с вот этого UCS2 на удобочитаемый, можете пояснить? В него сразу кодируется или нужно как-то сперва в 7 бит перегонять, а потом уже в этот UCS2? Или как?
И ещё, этот вот альфабет отличается от той кодировки, что в микротике? Вроде как читал, что в микротике для вывода в терминал какая-то CP1252 применяется.

Да, и ещё хотелось уточнить. Поле TP-UDL - длина смс. Как оно пересчитывается? Я понимаю, что для варианта 7бит пересчет один, а для UCS2 - другой. Но все же. Пробовал разбирать смс с помощью программки PDUspy. Там эта длина измеряется либо в септетах, либо в октетах


pepelxl
Сообщения: 161
Зарегистрирован: 23 июл 2013, 18:47

У вас до сих пор полная каша в голове по кодировкам.
Поле dcs описано в документе gsm3.38. на все биты и варианты. И по факту половину из них я встречал.
Как считается длинна пользовательских данных описано в соседнем документе(кажется gsm3.40). Какие символы может выводить mikrotik в терминал указано в wiki микротиков( условно заявлено только печатные символы английской раскладки, остальное на ваш страх риск). То есть даже влезут не все символы от альфабета. Ucs2 имеет фиксированную длинну в 2 байта.


DyadyaGenya
Сообщения: 31
Зарегистрирован: 08 май 2023, 01:29

pepelxl писал(а): 14 июн 2023, 08:30 У вас до сих пор полная каша в голове по кодировкам.
Да я не спорю. Я ж только стал разбираться с этим вопросом. Потому так много уточнений задаю.

И все же, по поводу кодировки хотел уточнить, где и в чем я вас не правильно понимаю:
pepelxl писал(а): 12 июн 2023, 20:42 8бит не используют для передачи текстовых смс.
и
pepelxl писал(а): 30 май 2020, 10:56

Код: Выделить всё

# Тип кодировки сообщения (7-bit, 8-bit, UCS2)
Текстовое сообщение - это же текст в PDU формате, тоесть текст смс? Или это идет речь не про PDU режим, а про текстовый режим работы модема?
pepelxl писал(а): 14 июн 2023, 08:30 Поле dcs описано в документе gsm3.38. на все биты и варианты. И по факту половину из них я встречал.
К сожалению я ещё плохо понимаю этот документ. Есть подвижки, но медленно. Если бы ещё был вариант на русском )))) возможно было бы быстрее. При этом встречал значение 10 и 18. Тоесть это какие-то другие кодировки


pepelxl
Сообщения: 161
Зарегистрирован: 23 июл 2013, 18:47

берём актуальную версию от организации следящим за стандартом https://www.etsi.org/deliver/etsi_ts/10 ... 70200p.pdf
открываем станицу 6 и 7, и глазеем до тех пор, пока не наступит прозрение. Все байты которые будут находится после поля dcs будут зависеть от битов в этом поле. НИ какого русского НЕ будет, и пока НЕ наступит полное просветление, дальше вы НИ в чём разобраться не сможете.


DyadyaGenya
Сообщения: 31
Зарегистрирован: 08 май 2023, 01:29

pepelxl писал(а): 14 июн 2023, 12:01 НИ какого русского НЕ будет, и пока НЕ наступит полное просветление, дальше вы НИ в чём разобраться не сможете.
А в терминале микротика вообще есть способ вывести кирилический текст? Я не говорю про смс. Имеется ввиду вообще, кирилица в терминале микротика возможна? Вообще, что-то кроме латиницы в терминале возможно? Если да, то подскажите как, или хотя бы где прочитать


Ответить