Yaumen
Mar 30 2015, 13:18
Пишу свой код, работающий с СМС в PDU формате. В определенный момент модуль принял СМС от оператора, в котором номер отправителя (ОА) был закодирован не цифрами, а символами:
"12D0CEE0942A7D265BCB20". Разбирая такую СМС, вижу:
12 - длина сообщения - 12 байт
D0 - алфавитно-цифровое представление
CEE0942A7D265BCB20 - адрес отправителя в 7-ми битной кодировке: "NASTROI-KA"
И все вроде бы понятно, за исключением того, почему длина 12 байт, если длина строки "NASTROI-KA" всего 10 байт ?
CADiLO
Mar 30 2015, 13:35
ключевой момент - "в 7-ми битной кодировке"
читаем пункт 7.12. Метод упаковки данных пользователя
Yaumen
Mar 30 2015, 13:38
Цитата(CADiLO @ Mar 30 2015, 16:35)

ключевой момент - "в 7-ми битной кодировке"
читаем пункт 7.12. Метод упаковки данных пользователя
Спасибо. Совершенно запутался во всех этих кодировках. Забыл, что тут считается не символами, а тетрадами, поэтому получается 18-ть тетрад, т.е. 0x12.
Вопрос немного не по теме, но тем не менее: Телефон определяет не только поле отправителя в который можно подсунуть все что угодно (древние телефоны даже предоставляли возможность самим его указывать), но и непосредственно номер отправителя. Есть ли какая-нибудь возможность получить эту информацию через модуль?
Модуль тут как-то не при чем. Если оператор или отправитель не скрыл информацию то она будет в поле OA принятого сообщения.
OA - Адрес (номер телефона) отправителя (от кого пришло SMS, телефон отправителя)
Документ выше
5.3.Формат принятого SMS
SMS-Deliver (Mobile Terminated)
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.