|
Проблема с USSD запросами в модеме WS6318 |
|
|
|
May 12 2015, 07:09
|
Участник

Группа: Участник
Сообщений: 64
Регистрация: 9-11-08
Пользователь №: 41 482

|
Здравствуйте.
Столкнулся с такой проблемой в модеме 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#" и уже потом запрашивать баланс. Как у других операторов пока не ясно.
Подскажите, пожалуйста, может быть эту проблему можно решить каким-то другим способом.
|
|
|
|
|
 |
Ответов
|
May 12 2015, 07:44
|

Группа: Участник
Сообщений: 8
Регистрация: 12-02-14
Пользователь №: 80 474

|
Добрый день, на WS6318, у вас отображается в текстовом режиме, а в WISMO228 в PDU режиме. попробуйте установить PDU режим - AT+CMGF=0
|
|
|
|
|
May 12 2015, 08:06
|
Участник

Группа: Участник
Сообщений: 64
Регистрация: 9-11-08
Пользователь №: 41 482

|
Цитата(SierraWireless @ May 12 2015, 10:44)  Добрый день, на WS6318, у вас отображается в текстовом режиме, а в WISMO228 в PDU режиме. попробуйте установить PDU режим - AT+CMGF=0 Вы ошибаетесь. Журнал обмена с WS6318: AT+CMGF? +CMGF: 0 OK AT+CUSD=1,"*102#",8 OK +CUSD: 0,"???????? ???????? ??? ????? ??????? ????????: *110*45#?????",72 Т.е. вместо юникода - знаки вопроса.
|
|
|
|
|
May 12 2015, 11:35
|

Группа: Участник
Сообщений: 8
Регистрация: 12-02-14
Пользователь №: 80 474

|
Цитата(stapleman @ May 12 2015, 11:06)  Вы ошибаетесь. Журнал обмена с WS6318: AT+CMGF? +CMGF: 0 OK
AT+CUSD=1,"*102#",8 OK +CUSD: 0,"???????? ???????? ??? ????? ??????? ????????: *110*45#?????",72
Т.е. вместо юникода - знаки вопроса. Уточните пожалуйста, какой тип отображения символов используется команда - AT+CSCS? выставите AT+CSCS="UCS2"
|
|
|
|
|
May 12 2015, 11:53
|
Участник

Группа: Участник
Сообщений: 64
Регистрация: 9-11-08
Пользователь №: 41 482

|
Цитата(SierraWireless @ May 12 2015, 14:35)  Уточните пожалуйста, какой тип отображения символов используется команда - 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 - May 12 2015, 11:57
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|