|
|
  |
SIM900 и USSD-запросы |
|
|
|
Oct 19 2010, 09:38
|
Гуру
     
Группа: Участник
Сообщений: 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
|
|
|
|
|
Oct 19 2010, 10:21
|
Гуру
     
Группа: Участник
Сообщений: 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
|
|
|
|
|
Oct 19 2010, 11:01
|

Гуру
     
Группа: Свой
Сообщений: 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# - Пополни мой счёт
По кодировке - вопрос к оператору. Насколько я помню наших обязали давать ответ исключительно транслитом и английскими буквами, так как их разнобой с ответами многие телефоны не понимали.
--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
|
|
|
|
|
Oct 19 2010, 11:23
|
Гуру
     
Группа: Участник
Сообщений: 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-битном виде, а вдруг бывает иначе ?
|
|
|
|
|
Oct 20 2010, 06:33
|
Частый гость
 
Группа: Участник
Сообщений: 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
|
|
|
|
|
Nov 2 2010, 06:22
|
Частый гость
 
Группа: Свой
Сообщений: 132
Регистрация: 17-02-08
Из: Уфа
Пользователь №: 35 116

|
Цитата(sobr @ Nov 2 2010, 08:23)  А как эта симкарта ведет себя с другими модулями? Сегодня поставил в М10. Ситуация лучше: при переводе в UCS2 ответы всегда (заодно сделал для себя "открытие" - для получения ответа на кириллице надо слать *100#, для латинницы - #100#) идут в "нормальном" юникоде (все символы состоят из 4-х байт). Посмотрим, что будет в течение нескольких дней... Как описывал выше, у сим300 на следующий день после очередного запроса (с нормальным ответом) пошли ерроры (причем модуль даже не перевключался). Дело не в симкарте точно: пробовал еще 4 штуки разных операторов - абсолютно та же ситуация.
|
|
|
|
|
Nov 2 2010, 11:59
|
Гуру
     
Группа: Участник
Сообщений: 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, если это плюха софта, то, надеюсь, туда она не переползла...
|
|
|
|
|
Jan 6 2011, 14:36
|
Местный
  
Группа: Участник
Сообщений: 354
Регистрация: 21-11-10
Пользователь №: 61 046

|
Цитата(Цырен @ Dec 1 2010, 20:51)  +5 копеек. в SIM900-х появилась возможность набирать номер ATD*99#. Подключался к интернету через драйвер стандартного модема. А раньше приходилось как в 300-х, через ATD*99***1#. Так же теперь можно и запрос баланса осуществлять через ATD*100#. У меня на команду ATD*102# выдаёт ERROR Версия прошивки модуля sim900 - 05 Какую версию прошивки надо (шестую, седьмую) чтобы команда вида ATD*102# заработала? Или это шутка была?
|
|
|
|
|
Jan 6 2011, 15:49
|
Местный
  
Группа: Участник
Сообщений: 301
Регистрация: 22-07-09
Пользователь №: 51 470

|
Цитата(Павел_Б @ Jan 6 2011, 20:36)  У меня на команду ATD*102# выдаёт ERROR Версия прошивки модуля sim900 - 05 Какую версию прошивки надо (шестую, седьмую) чтобы команда вида ATD*102# заработала? Или это шутка была? Это нестандартное использование команды ATD. Тут как производителю стукнет - или работает или не работает. Для USSD запросов есть стандартная команда +CUSD которую должны поддерживать все модемы.
|
|
|
|
|
Jan 7 2011, 02:00
|
Местный
  
Группа: Участник
Сообщений: 354
Регистрация: 21-11-10
Пользователь №: 61 046

|
Цитата(butthead2 @ Jan 6 2011, 22:49)  Это нестандартное использование команды ATD. Тут как производителю стукнет - или работает или не работает. Для USSD запросов есть стандартная команда +CUSD которую должны поддерживать все модемы. Думаете что это всё таки на аппаратном уровне??? Мне кажется это программно не реализовано? прошивка не та... или нет?
|
|
|
|
|
Jan 7 2011, 03:10
|
Местный
  
Группа: Участник
Сообщений: 354
Регистрация: 21-11-10
Пользователь №: 61 046

|
и ещё вопрос в прикучку. В чём разница между кодировками "GSM" и "IRA"? Код at+cscs?
+CSCS : "GSM" OK
at+cusd= 1,"*102# " OK
+CUSD: 0,"04110430043B0430043D0441002000370033002E0033003900200440002E0020042104350437 043E043D0020041E043104490435043D0438044F0020002D0020043D043E0432043E0433043E0434 0 43D0438 04350020043F0430043A04350442044B0020043F043E0020043E0442043B04380447043D043E0439 002004460435043D0435",72
at+cscs= "IRA"
OK
at+cusd= 1,"*102# "
OK
+CUSD: 0,"04110430043B0430043D0441002000370033002E0033003900200440002E0020042104350437 043E043D0020041E043104490435043D0438044F0020002D0020043D043E0432043E0433043E0434 0 43D0438 04350020043F0430043A04350442044B0020043F043E0020043E0442043B04380447043D043E0439 002004460435043D0435",72 При разных кодировках запросы и ответы один к одному! Вопрос - в чём разница?
Сообщение отредактировал Павел_Б - Jan 7 2011, 03:12
|
|
|
|
|
Jan 7 2011, 07:49
|
Местный
  
Группа: Участник
Сообщений: 301
Регистрация: 22-07-09
Пользователь №: 51 470

|
Цитата(Павел_Б @ Jan 7 2011, 08:00)  Думаете что это всё таки на аппаратном уровне??? Мне кажется это программно не реализовано? прошивка не та... или нет? При чем тут аппаратный уровень? Это НЕСТАНДАРТНАЯ команда. Почесалось у разработчиков в одном месте - сделали. Не почесалось - не сделали. Упрекнуть их нельзя - стандарт соблюден. Вероятность что допишут в более свежих прошивках примерно нулевая. Решение проблемы - не пользуйся нестандартными командаими. Цитата(Павел_Б @ Jan 7 2011, 09:10)  и ещё вопрос в прикучку. В чём разница между кодировками "GSM" и "IRA"? А в чем между кодировками DOS и WIN? Вроде тоже похожи... http://www.google.com/search?client=opera&...-8&oe=utf-8http://www.google.com/search?hl=ru&cli...q=&gs_rfai=
|
|
|
|
|
Jan 17 2011, 23:05
|
Частый гость
 
Группа: Участник
Сообщений: 97
Регистрация: 2-01-09
Пользователь №: 42 891

|
На SIM900 Код AT+CUSD=1,"#100#" OK +CUSD: 2 На SIM300, если использовать ATD#100# выдет нормально баланс транслитом. Понятно, что не по стандарту, но как заставить 900-й выдавать то, что выдает обычный телефон по #100#? Оператор МТС. По этому запросу приходит баланс транслитом.
|
|
|
|
|
Jan 18 2011, 08:14
|

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

|
На первой странице этого поста как раз про это и написано.
Для вашего случая должно быть так:
at+cusd=1,"#100#" 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
Но тут надо смотреть регион и оператора В МТС Украина #100# не работает, у нас выдается всегда транслитом и правильно для MTC *101#
И еще - начиная с 6 версии прошивки и вот так работает:
ATD*111# (для киевстара) OK +CUSD: 0,"Na rahunku: 2.39grn; 0hvyl;Info pro bonusy na *112#,*118# i *119#. MAYACHOK: bud' zavzhdy v kursi, de tvoi blyz'ki. Info:477*78*",
проверено на MTC и Киевстаре
--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
|
|
|
|
|
Jan 18 2011, 08:29
|
Частый гость
 
Группа: Участник
Сообщений: 97
Регистрация: 2-01-09
Пользователь №: 42 891

|
Цитата(CADiLO @ Jan 18 2011, 11:14)  На первой странице этого поста как раз про это и написано.
Для вашего случая должно быть так:
at+cusd=1,"#100#" 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
Но тут надо смотреть регион и оператора В МТС Украина #100# не работает, у нас выдается всегда транслитом и правильно для MTC *101#
И еще - начиная с 6 версии прошивки и вот так работает:
ATD*111# (для киевстара) OK +CUSD: 0,"Na rahunku: 2.39grn; 0hvyl;Info pro bonusy na *112#,*118# i *119#. MAYACHOK: bud' zavzhdy v kursi, de tvoi blyz'ki. Info:477*78*",
проверено на MTC и Киевстаре На первой странице разумеется написано, если бы работало, не спрашивал бы. Еще раз, у сим300 на ATD#100# выдает +CUSD: 0, "Balance xx.xx",YY У SIM900 на AT+CUSD=1,"#100#" +CUSD: 2
|
|
|
|
|
Jan 20 2011, 09:49
|

Частый гость
 
Группа: Свой
Сообщений: 173
Регистрация: 23-11-10
Из: Соловьинного края
Пользователь №: 61 102

|
Цитата(grinux @ Jan 18 2011, 14:36)  Разбирайся теперь с этими юникодами  Как спрашиваем так и отвечают. МТС Россия. AT+GSV SIMCOM_Ltd SIMCOM_SIM900 Revision:1137B01SIM900M64_ST_AM_TEST_DTMF_1203 OK AT+CUSD=1,"#100#" OK +CUSD: 0,"Minus:0,70r ",64 ATD *100# OK +CUSD: 0,"041C0438043D04430441003A0030002C0037003004400020",72
--------------------
|
|
|
|
|
Jan 20 2011, 13:29
|

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

|
Цитата(13amator @ Jan 20 2011, 15:49)  AT+CUSD=1,"#100#" OK
+CUSD: 0,"Minus:0,70r ",64 ATD *100# OK
+CUSD: 0,"041C0438043D04430441003A0030002C0037003004400020",72 Логично, черт возьми... AT+CUSD=1,"Сколько время?" OK +CUSD: 0,"Пол второго",64 ATD "Кого позвать?" OK +CUSD: 0,"Сам дурак!!!",72
|
|
|
|
|
Jan 20 2011, 13:54
|

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

|
А это уже опять таки не модуль виноват. повторюсь, читать сначала вот это - http://forum.sgh.ru/topic36665.htmlКогда оператор делает все правильно, то вопросов не возникает. Вот с седьмой прошивкой - как и ожидалось. ATD*111# OK +CUSD: 0,"Na rahunku: Xgrn; Xhvyl;Info pro bonusy na *112#,*118# i *119#. Zagubyv svoiu SIM? Vidnovy ii! Info:XXX*XX*",XX
--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
|
|
|
|
|
Jan 20 2011, 14:56
|
Частый гость
 
Группа: Участник
Сообщений: 97
Регистрация: 2-01-09
Пользователь №: 42 891

|
Цитата(CADiLO @ Jan 20 2011, 16:54)  А это уже опять таки не модуль виноват. повторюсь, читать сначала вот это - http://forum.sgh.ru/topic36665.htmlКогда оператор делает все правильно, то вопросов не возникает. Вот с седьмой прошивкой - как и ожидалось. ATD*111# OK +CUSD: 0,"Na rahunku: Xgrn; Xhvyl;Info pro bonusy na *112#,*118# i *119#. Zagubyv svoiu SIM? Vidnovy ii! Info:XXX*XX*",XX когда она будет доступна? что нового?
Сообщение отредактировал grinux - Jan 20 2011, 14:58
|
|
|
|
|
Jan 20 2011, 21:33
|
Частый гость
 
Группа: Участник
Сообщений: 97
Регистрация: 2-01-09
Пользователь №: 42 891

|
Цитата(CADiLO @ Jan 20 2011, 18:10)  Давно доступна - анонс и список изменений был в форуме. Спасибо, посмотрю.
|
|
|
|
|
Jul 31 2011, 13:49
|
Местный
  
Группа: Участник
Сообщений: 354
Регистрация: 21-11-10
Пользователь №: 61 046

|
Сим900 прошивка 06 кодировка GSM на команду AT+CUSD=1,"*102#" ответ: OK +CUSD: 0,"04110430043B0430043D0441002000330036002E003200390020....................... .......................... ставлю кодировку UCS2 AT+CUSD=1,"*102#" ответ: +CME ERROR: 3 Оператор Utel Россия Урал Вроде написано что нужно работать в кодировке UCS2???  Аналогично ведёт себя оператор Биллайн Россия Вопрос. Как правильно делать запрос баланса в кодировке UCS2?
Сообщение отредактировал Павел_Б - Jul 31 2011, 14:33
|
|
|
|
|
Jul 31 2011, 16:42
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(Павел_Б @ Jul 31 2011, 17:49)  ставлю кодировку UCS2 AT+CUSD=1,"*102#" ответ: +CME ERROR: 3 Оператор Utel Россия Урал Вроде написано что нужно работать в кодировке UCS2???  Аналогично ведёт себя оператор Биллайн Россия Вопрос. Как правильно делать запрос баланса в кодировке UCS2? Так и сам запрос должен быть в UCS2 !
|
|
|
|
|
Aug 1 2011, 16:50
|
Местный
  
Группа: Участник
Сообщений: 354
Регистрация: 21-11-10
Пользователь №: 61 046

|
Цитата(rx3apf @ Jul 31 2011, 19:42)  Так и сам запрос должен быть в UCS2 ! Понял! Спасибо! А если я запрос сделаю в gsm кодировке. Ответ ведь всё равно придёт в ucs2? Спасибо!
|
|
|
|
|
Aug 2 2011, 16:35
|
Местный
  
Группа: Участник
Сообщений: 354
Регистрация: 21-11-10
Пользователь №: 61 046

|
Цитата(sobr @ Aug 2 2011, 06:23)  Если в ответе будут русские символы, то да. В GSM кодировке ответ на запрос баланса от оператора Beeline (Россия) и U-tel (Россия, Урал) приходит в виде русских символов. Может у кого-то есть МТС сим карта и Мегафон Российских операторов. Попробуйте пожалуйста в GSM кодировке сделать запрос баланса - ответ возвращается русскими символами (UCS2). Спасибо!
|
|
|
|
|
Aug 3 2011, 07:43
|

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

|
Цитата(CADiLO @ Aug 3 2011, 12:43)  "#100#" - не факт - нужно смотреть коды и ответы конкретного оператора, а в России еще и в конкретном регионе.
Например у нас чтобы не было проблем с русским языком операторов обязали отвечать исключительно транслитом. Тот же MTC на *101# ответит, по русски но английскими буквами. А на #101# просто пошлет подальше. Кроме того весь сервис идет тоже на транслите. Во-первых я привел пример МТС в России. А во-вторых я вобще не про это... Я про то, что оператору по барабану в какой кодировке вы пишите запрос. Ему важно содержание запроса, а дальше все зависит от того, что он отвечает на содержание запроса. Если русский текст, то UCS2, если нет - то нет. Другими словами все равно как писать анонимку в НКВД, по почте или по email, все равно поедут на большой черной машине.
|
|
|
|
|
Aug 3 2011, 16:32
|
Местный
  
Группа: Участник
Сообщений: 354
Регистрация: 21-11-10
Пользователь №: 61 046

|
Цитата(CADiLO @ Aug 3 2011, 11:01)  Ну и еще раз повторюсь для тех кто не знает о чем я говорю или не заметил на предыдущей страничке - http://forum.sgh.ru/topic36665.htmlЕсли это опять про меня - то я информацию эту принял к сведению! Просмотрел несколько раз. Спасибо!
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|