Перейти к содержанию
    

Проблема с USSD запросами в модеме WS6318

Здравствуйте.

 

Столкнулся с такой проблемой в модеме WS6318.

Модем WS6318 работает с SIM-картой от оператора МТС.

Версия прошивки модема: R32.0.201307021520.WS6318 020713 15:20

При работе с модемом ему отправляется USSD запрос баланса.

На этот запрос приходит некорректный ответ.

Лог обмена AT-командами следующий:

AT+CUSD=1,"*100#",8

OK

+CUSD: 0,"?????:2,99? ",72

Т.е. вместо текста приходят знаки вопроса.

 

Если данный запрос отправить на модем WISMO228, то лог выглядит так:

AT+CUSD=1,"*100#",8

OK

+CUSD: 0,"041C0438043D04430441003A0032002C0039003904400020",72

Т.е. ответ передётся в юникоде. Если его декодировать, то текст следующий: "Минус:2,99р "

 

Если эту SIM-карту вставить в телефон и отправить такой же USSD-запрос, то отвечает он "Минус:2,99р "

 

Таким образом, у модема WS6318 с прошивкой R32 есть проблема с обработкой USSD ответа от оператора, если он отвечает кириллицей.

В прошивке L31 ответ приходи как и положено в юникоде.

Сейчас я вижу 2 решения проблемы:

1. Использовать прошивку L31, со всеми недокументированными "особенностями" этой версии. Плюс перепрошивать в будущем все покупаемые модемы.

2. Запрашивать USSD на латинице. Но у операторов по разному переключается раскладка: у МТС, например, достаточно отправить запрос баланса на латинице "#100#", а для Мегафона нужно сначала отдельно переключить раскладку "*105*0#" и уже потом запрашивать баланс. Как у других операторов пока не ясно.

 

Подскажите, пожалуйста, может быть эту проблему можно решить каким-то другим способом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый день,

на WS6318, у вас отображается в текстовом режиме, а в WISMO228 в PDU режиме.

попробуйте установить PDU режим - AT+CMGF=0

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый день,

на WS6318, у вас отображается в текстовом режиме, а в WISMO228 в PDU режиме.

попробуйте установить PDU режим - AT+CMGF=0

 

Вы ошибаетесь. Журнал обмена с WS6318:

AT+CMGF?

+CMGF: 0

OK

 

AT+CUSD=1,"*102#",8

OK

+CUSD: 0,"???????? ???????? ??? ????? ??????? ????????: *110*45#?????",72

 

Т.е. вместо юникода - знаки вопроса.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не наблюдалось такого. Он, очевидно, пытается перекодировать в какой то локальный алфавит. AT+CMGF=0 на сколько я знаю влияет только на SMS.

И еще, я отправляю

AT+CUSD=1,"*102#"

OK

...

 

Приведу свои команды ему, сравните:

ATCmdWRPR(5, PHYSICAL_PORT, "ATI\r", 1000, 2, "OK\r\n", "ERROR\r\n");
            ATCmdWRPR(5, PHYSICAL_PORT, "AT+CGMI\r", 1000, 2, "OK\r\n", "ERROR\r\n");
            ATCmdWRPR(5, PHYSICAL_PORT, "AT+CGMM\r", 1000, 2, "OK\r\n", "ERROR\r\n");
            ATCmdWRPR(5, PHYSICAL_PORT, "AT+CGMR\r", 1000, 2, "OK\r\n", "ERROR\r\n");
            ATCmdWRPR(5, PHYSICAL_PORT, "AT+CGSN\r", 1000, 2, "OK\r\n", "ERROR\r\n");
            ATCmdWRPR(5, PHYSICAL_PORT, "AT+IFC=0,0\r", 1000, 2, "OK\r\n", "ERROR\r\n");
            ATCmdWRPR(5, PHYSICAL_PORT, "ATV1\r", 200, 2, "OK\r\n", "ERROR\r\n");
            ATCmdWRPR(5, PHYSICAL_PORT, "AT+CRC=0\r", 200, 2, "OK\r\n", "ERROR\r\n");    
            ATCmdWRPR(5, PHYSICAL_PORT, "AT+PSSLEEP=1,1\r", 200, 2, "OK\r\n", "ERROR\r\n");
// тут перевожу в режим CMUX и далее через него
    ATCmdWRPR(5, VIRTUAL_PORT_2, "AT+CLIP=1\r", 200, 2, "OK\r\n", "ERROR\r\n");
    ATCmdWRPR(5, VIRTUAL_PORT_2, "AT+CMGF=0\r", 200, 2, "OK\r\n", "ERROR\r\n");
    ATCmdWRPR(5, VIRTUAL_PORT_2, "AT+CNMI=2,1,0,0,0\r", 500, 2, "OK\r\n", "ERROR\r\n");
    ATCmdWRPR(30, VIRTUAL_PORT_2, "AT+CPMS=\"SM\",\"SM\",\"SM\"\r", 500, 2, "OK\r\n", "ERROR\r\n");

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы ошибаетесь. Журнал обмена с WS6318:

AT+CMGF?

+CMGF: 0

OK

 

AT+CUSD=1,"*102#",8

OK

+CUSD: 0,"???????? ???????? ??? ????? ??????? ????????: *110*45#?????",72

 

Т.е. вместо юникода - знаки вопроса.

 

Уточните пожалуйста, какой тип отображения символов используется команда - AT+CSCS?

выставите AT+CSCS="UCS2"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уточните пожалуйста, какой тип отображения символов используется команда - AT+CSCS?

выставите AT+CSCS="UCS2"

 

Попробовал - не помогло. Журнал обмена следующий:

AT+CSCS="UCS2"

OK

 

AT+CUSD=1,"*102#",8

+CME ERROR: operation not allowed

 

// попробовал и такой вариант:

AT+CUSD=1,"*102#"

+CME ERROR: operation not allowed

 

Ради любопытства попробовал проделать то же самое с версией L31 - результат с использование UCS2 такой же, т.е. возвращает "+CME ERROR: operation not allowed"

Изменено пользователем stapleman

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробовал - не помогло. Журнал обмена следующий:

AT+CSCS="UCS2"

OK

 

AT+CUSD=1,"*102#",8

+CME ERROR: operation not allowed

 

// попробовал и такой вариант:

AT+CUSD=1,"*102#"

+CME ERROR: operation not allowed

 

Ради любопытства попробовал проделать то же самое с версией L31 - результат с использование UCS2 такой же, т.е. возвращает "+CME ERROR: operation not allowed"

Кирилл, можно я вмешаюсь? )

Если ввели CSCS=UCS2, то и номер в CUSD надо подавать в юникоде.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кирилл, можно я вмешаюсь? )

Если ввели CSCS=UCS2, то и номер в CUSD надо подавать в юникоде.

 

Заработало, спасибо за помощь.

 

В итоге вместо

AT+CUSD=1,"*102#",8

использую

AT+CSCS="UCS2"

AT+CUSD=1,"002A0031003000320023",8

Изменено пользователем stapleman

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...