реклама на сайте
подробности

 
 
> SIM900 и USSD-запросы
rx3apf
сообщение Oct 19 2010, 09:38
Сообщение #1


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Что-то я никак не могу справиться - что на ATD*100#, что на AT+CUSD=1,"*100#" одно и то же, "ERROR", сразу. Чего ему надо, кто объяснит ? Версия прошивки B06.

Уточнение: при расширенной диагностике - "+CME ERROR: operation not allowed" для варианта AT+CUSD=, для ATD ругается на неправильный символ в строке (ну ладно, значит, такой формат не подходит, но почему не получается с AT+CUSD ?)

Сообщение отредактировал rx3apf - Oct 19 2010, 09:45
Go to the top of the page
 
+Quote Post
4 страниц V   1 2 3 > »   
Start new topic
Ответов (1 - 14)
CADiLO
сообщение Oct 19 2010, 10:04
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 6 023
Регистрация: 26-08-05
Из: Днепр
Пользователь №: 7 988



ATD*100# - c ATD у SIM900 не работает (кстати у SAGEM тоже). Только CUSD.

Проверьте какой код запроса у текущего оператора.

Вот лог с Киевстара - прошивка 06 - цифры иксами забил я

at+gsv
SIMCOM_Ltd
SIMCOM_SIM900
Revision:1137B06SIM900M64_ST

OK
at+cusd=1,"*111#"
OK

+CUSD: 0,"Na rahunku: XXX.XXgrn; Xhvyl;Info pro bonusy na *112#,*118# i *119#. Zagubyv svoiu SIM? Vidnovy ii! Info:XXX*XX*",XX


--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Oct 19 2010, 10:21
Сообщение #3


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(CADiLO @ Oct 19 2010, 14:04) *
Проверьте какой код запроса у текущего оператора.

А где это узнать ? Поставил мегафоновскую симку - с кодом 0 все то же самое, случайным образом перебирал, с кодом 255 отозвалось, пришел ответ. С МТСовской -с кодом 255 (и несколькими другими) приходит "+USD: 2", на другие сразу ругается. Почему телефонам этот код не нужен, а модуль с установками по умолчанию не хочет ? Как вообще это (USSD) использовать ?

Да, и "до кучи" повторю свой старый вопрос - почему не удается назначить адреса DNS вручную до попытки установления соединения (после-то получается, но уже не нужно) ? Можно ли вообще этим пользоваться или забить на это ?

P.S. Нашел рекомендацию отправить запрос в 16-битной кодировке - сработало. Буду разбираться, как, что и когда. Но если кто объяснит, как это делать в общем случае (что и как настроить, чтобы работало везде и всегда без бубна и без плясок), буду признателен...

P.P.S. Частично разобрался - AT+CSCS="GSM", начало жрать USSD-запросы в ASCII. Ответы все равно приходят в 16-битной кодировке (поскольку с русскими буквами). А если оператор пошлет в GSM-кодировке, придет нормальная текстовка ? И как понять, в каком формате пришло ? Или просто тупо установить UCS2, чтобы и посылать и принимать строго в 16-битной кодировке ? А это _гарантирует_, что ответы оператора _всегда_ придут в 16-битном виде ?

Сообщение отредактировал rx3apf - Oct 19 2010, 10:38
Go to the top of the page
 
+Quote Post
CADiLO
сообщение Oct 19 2010, 11:01
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 6 023
Регистрация: 26-08-05
Из: Днепр
Пользователь №: 7 988



>>>>Почему телефонам этот код не нужен

Неверно - номер USSD записан в симке изначально оператором и обычно выглядит как "проверка баланса"
Возьмите значение из этой записи. Или просто позвоните оператору и спросите - как проверить баланс - вам ответят.

Так например у Киевстара это *111#, а у МТС (Украина) *101#

Коды USSD можете получит у своего оператора - так как зачастую они разные.

Вот маленький пример для России:

USSD-коды операторов сотовой связи
1. Мегафон:
*100# - Баланс
*111# - USSD-инфо
*111*01# - Сервис-Гид
*105*05# - Услуги, Скидки на связь, Интернет, СМС
*105*09# - Уведомление о поступлении денег на счёт
*105*20# - Смена тарифа
*115# - Мегафон-Бонус
*144*XXXXXXXXXX# - Позвони мне, где XXXXXXXXXX - номер абонента
*135# - Позвони мне
*136# - Пополни мне счёт
*138# - Кредит доверия

2. Смартс (Волгоград-GSM):
*123# - Баланс
*110# - Транслитерация (переключение русского-английского языков при USSD-запросах)
*119*XXXXXXXXXXX*YYY# - Выручай! (=Пополни мой счёт), где XX..XX - номер абонента, YYY - сумма
*125# - Мобильная копилка
*119*XXXXXXXXXXX# - Позвони мне

3. Билайн ("Вымпелком"):
*102# - Баланс (Если при запросе по этому номеру выдает иероглифы, то нужно набирать #102#)
*110# - USSD-инфо
*111# - USSD-инфо
*141# - Доверительный платёж
*145# - Мобильный перевод
*100# - Мобильный платёж
*144*XXXXXXXXXXX# - Позвони мне
*143*XXXXXXXXXXX# - Пополни мой счёт

4. МТС:
*100# или #100# - Баланс
*111# - USSD-инфо
*110*XXXXXXXXXX# - Перезвони мне
*116*XXXXXXXXXX# - Пополни мой счёт


По кодировке - вопрос к оператору. Насколько я помню наших обязали давать ответ исключительно транслитом и английскими буквами, так как их разнобой с ответами многие телефоны не понимали.


--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Oct 19 2010, 11:23
Сообщение #5


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(CADiLO @ Oct 19 2010, 15:01) *
>>>>Почему телефонам этот код не нужен

Неверно - номер USSD записан в симке изначально оператором и обычно выглядит как "проверка баланса"
Возьмите значение из этой записи. Или просто позвоните оператору и спросите - как проверить баланс - вам ответят.

Я не про тело самого запроса, а про значение третьего параметра в команде AT+CUSD, то, что <dcs>.

Цитата
По кодировке - вопрос к оператору. Насколько я помню наших обязали давать ответ исключительно транслитом и английскими буквами, так как их разнобой с ответами многие телефоны не понимали.

Да мне без разницы, в каком формате оператор пошлет ответ. Важно, в каком формате отдаст модуль по запросу AT+CUSD. Если я дам AT+CSCS="UCS2", ответ на +CUSD всегда будет 16-битный или зависит от того, в каком формате пришлет оператор ? Я это проверить не могу, сейчас все вижу в 16-битном виде, а вдруг бывает иначе ?
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Oct 19 2010, 15:40
Сообщение #6


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(CADiLO @ Oct 19 2010, 14:04) *
Вот лог с Киевстара
.......
at+cusd=1,"*111#"

А что придет на at+cscs="UCS2";+cusd=1,"002A0031003100310023" ?
Можете глянуть ?

Go to the top of the page
 
+Quote Post
id_Alx
сообщение Oct 20 2010, 06:33
Сообщение #7


Частый гость
**

Группа: Участник
Сообщений: 79
Регистрация: 12-08-06
Из: Минск
Пользователь №: 19 504



Цитата(rx3apf @ Oct 19 2010, 18:40) *
А что придет на at+cscs="UCS2";+cusd=1,"002A0031003100310023" ?
Можете глянуть ?



Код
at+cscs="UCS2"
OK
at+cusd=1,"*100#"
ERROR
at+cscs="GSM"
OK
at+cusd=1,"*100#"
OK

+CUSD: 0,"Usluga dostupna tol'ko fizicheskim licam. xxxxxx",я

at+cscs="UCS2"
OK
at+cusd=1,"002A0031003000300023"
OK

+CUSD: 0,"00550073006C00750067006100200064006F00730074007500xxxxxxx",я


Сообщение отредактировал id_Alx - Oct 20 2010, 06:38
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Oct 20 2010, 06:58
Сообщение #8


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(id_Alx @ Oct 20 2010, 10:33) *
+CUSD: 0,"00550073006C00750067006100200064006F00730074007500xxxxxxx",я

Ок, спасибо, по крайней мере теперь есть уверенность.
Go to the top of the page
 
+Quote Post
Budek
сообщение Nov 1 2010, 16:56
Сообщение #9


Частый гость
**

Группа: Свой
Сообщений: 132
Регистрация: 17-02-08
Из: Уфа
Пользователь №: 35 116



Хочу поведать очередную забавную "радость"...:
Сразу: все описанное относится к конкретной одной симкарте.
Вчера даю запрос *100# (кодировка GSM).
Но если раньше (в случае, если в ответе есть кириллица) получал что-то типа:
0441 0442 0443 ...... 0032....0033 .....
Вчера стало:
0441 0442 0443 .......2.....3.....
то есть все, что не начинается с 04 (не кириллица) - идет без 003.
Ладно, думаю, хорошо... Перед запросом устанавливаю юникод (UCS2). Радуюсь... Вижу:
0441 0442 0443 ...... 0032....0033 .....
Продолжаю сегодня. Пару раз все нормально, а потом, как отрезало: на запрос модуль через секунду отвечает ERROR.
Снова меняю на кодировку GSM и вижу:
0441 0442 0443 ...... 0032....0033 .....
бред какой то.... пока не могу найти симкарту, в ответе которой нет кириллицы... боюсь, будет что то типа:
Vash balance....
Вот как такое "переварить"...?
Go to the top of the page
 
+Quote Post
sobr
сообщение Nov 2 2010, 02:23
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 926
Регистрация: 18-01-07
Пользователь №: 24 552



Цитата(Budek @ Nov 1 2010, 23:56) *
Хочу поведать очередную забавную "радость"...:
Сразу: все описанное относится к конкретной одной симкарте.
А как эта симкарта ведет себя с другими модулями?
Go to the top of the page
 
+Quote Post
Budek
сообщение Nov 2 2010, 06:22
Сообщение #11


Частый гость
**

Группа: Свой
Сообщений: 132
Регистрация: 17-02-08
Из: Уфа
Пользователь №: 35 116



Цитата(sobr @ Nov 2 2010, 08:23) *
А как эта симкарта ведет себя с другими модулями?


Сегодня поставил в М10. Ситуация лучше: при переводе в UCS2 ответы всегда (заодно сделал для себя "открытие" - для получения ответа на кириллице надо слать *100#, для латинницы - #100#) идут в "нормальном" юникоде (все символы состоят из 4-х байт).
Посмотрим, что будет в течение нескольких дней...
Как описывал выше, у сим300 на следующий день после очередного запроса (с нормальным ответом) пошли ерроры (причем модуль даже не перевключался).
Дело не в симкарте точно: пробовал еще 4 штуки разных операторов - абсолютно та же ситуация.
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Nov 2 2010, 11:59
Сообщение #12


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(Budek @ Nov 1 2010, 19:56) *
Ладно, думаю, хорошо... Перед запросом устанавливаю юникод (UCS2). Радуюсь... Вижу:
0441 0442 0443 ...... 0032....0033 .....
Продолжаю сегодня. Пару раз все нормально, а потом, как отрезало: на запрос модуль через секунду отвечает ERROR.

Запрос в UCS2 ?
Цитата
Вот как такое "переварить"...?

Пока я для себя сделал однозначный вывод - USSD только в UCS2 (и запрос, и ответ), чтение SMS - только в PDU. Но если и при UCS2 и запросе в нем же бывает "ERROR", да еще и на разных операторах - то это хреново. У меня, правда, SIM900, если это плюха софта, то, надеюсь, туда она не переползла...
Go to the top of the page
 
+Quote Post
ArtemKAD
сообщение Nov 2 2010, 12:21
Сообщение #13


Профессионал
*****

Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364



Цитата(Budek @ Nov 1 2010, 18:56) *
Вот как такое "переварить"...?

При приеме входного потока выкинь из него все не печатные символы (ниже 20). В результате первый байт юникода просто выпадет оставив только текст...
Go to the top of the page
 
+Quote Post
Палыч
сообщение Nov 2 2010, 15:22
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(Budek @ Nov 1 2010, 19:56) *
пока не могу найти симкарту, в ответе которой нет кириллицы...
У российского МТС: если запрос выдавать в виде #100# (т.е. вместо первой звездочки - решетка), то ответ всегда приходит транслитом. Может и у других операторов так же? Не будет проблем с кириллическими символами...
Go to the top of the page
 
+Quote Post
Harbinger
сообщение Nov 6 2010, 05:22
Сообщение #15


старший лаборант
******

Группа: Свой
Сообщений: 2 702
Регистрация: 30-09-05
Из: ЮЗЖД
Пользователь №: 9 097



Проверил по-быстрому на трёх местных операторах (МТС, КС и life) - на запросы, начинающиеся с решётки, выдаются сообщения об ошибке.


--------------------
Китайская комплектация - европейское качество! ;)
Go to the top of the page
 
+Quote Post

4 страниц V   1 2 3 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 10th July 2025 - 00:58
Рейтинг@Mail.ru


Страница сгенерированна за 0.01473 секунд с 7
ELECTRONIX ©2004-2016