Как стать автором
Обновить

Комментарии 7

Есть ещё склеенные из нескольких частей сообщения и message_payload TLV. В первом случае первые 6-7 байт поля short_message будут содержать UDH, определяющий порядок склейки, а во втором случае сообщение будет находиться в другом месте.

Ручная работа с символами и их кодами лучше всего организована на unicode-table.com.
Спасибо, за замечание. Я не раскрыл эту особенность.
Одним из признаков того что в deliver_sm использован message_payload является поле sm_length = 0.
даешь онлайн-сервис по расшифровке дампа SMPP сообщений!
А зачем это всё делать, если wireshark итак умеет показывать декодированный smpp pdu по полям?
В чём глубинный смысл? Как писали выше — wireshark великолепно и сам всё декодирует (у меня, правда, не получилось уговорить его декодировать русский текст из UCS2, но это частности).

Единственное разумное объяснение — у автора есть софт, который в логи пишет hex dump отправленных/полученных PDU'шек и есть необходимость декодировать эти SMS'кт.
Тогда цель исследования ясна — сначала разобраться самому, а потом написать парсер.

По поводу длинных SMS — вероятность получить от оператора текст в message_payload существует, но она достаточно низка.
А вот UDH заголовки для длинной SMS'ки вы будете получать практически гарантированно.
Глубинный смысл показать что библиотеки, которые реализуют SMPP, не содержат ни какой магии и в случае проблем вполне можно самостоятельно выяснить что именно пошло не так и исправить. Второе значение — повышение качества запросов к техподдержке компаний, предоставляющих подключение по SMPP, все мы знаем как приятно грамотно указать на чужие ошибки :)

Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории