В настоящее время я использую AT-команды для управления GSM-модемом (от Multitech).
Этот модем используется для отправки тестовых команд на полевые устройства, оснащенные возможностями SMS.В свою очередь, эти устройства отправляют результат теста на модем GSM с помощью SMS.Это возвращаемое SMS-сообщение очень просто, например, «TESTOK» или «TESTNOK», без каких-либо причудливых символов.
Проблема в том, что модем GSM не получает ни одной из этих меток - вместо этого я получаю некоторые из них "@@@@@@@ "сообщения, с одним @ для каждого письма (т.е. 6 @ для TESTOK, 7 @ для TESTNOK).
Два факта:
SIM-карта на этих полевых устройствах довольно старая.Когда мы переключаемся с одной SIM-карты на новую, ответное SMS корректно (TESTOK, TESTNOK).
я потерял следующее: я пробовал использовать более старую Multitechмодем и все работает.Независимо от того, какая SIM-карта используется (см. Выше), старый GSM-модем Multitech получает правильные текстовые сообщения.
Подводя итог, проблема возникает при использовании более нового модема Multitech.получать текстовые сообщения от этих полевых устройств, отправленных с оригинальной SIM-картой.Полевое устройство использует текстовый режим для отправки своего SMS.Оба Multitech модема, которые я пробовал до сих пор, также настроены на использование текстового режима, и оба настроены с кодировкой IRA.Я проверил сценарий инициализации AT-команд, но ничего не заметил между обоими модемами.
1 / Меняет ли PDU или текстовый режим способ предоставления модему содержимого SMS или также изменяетформат самого SMS (то есть формат полученного SMS)?
2 / Как SIM-карта может изменить конечный контент SMS?Это скорее функция SIM-карты или способ, которым телефонная компания (APN) управляет передачей SMS?
3 / Что мне здесь не хватает?
Я посмотрел везде, но не смог найтипохожий случай.Любая помощь приветствуется.
РЕДАКТИРОВАТЬ: Я отвечу себе, если кто-то находится в той же ситуации.Проблема на самом деле исходила от самого API модема: модем запускает RESTful API, который позволяет отправлять / получать SMS;однако, это не всегда правильно переводит полученное SMS.Хитрость заключалась в том, чтобы отключить эту возможность SMS API и придерживаться подхода 100% AT-команд.Надеюсь, это поможет.