Radik_1983 0 23 января, 2013 Опубликовано 23 января, 2013 (изменено) · Жалоба Хотелось бы сделать сервис в модеме на основе SIM900 для удаленного (через СМС или GPRS) управления USSD запросами. Допустим надо отписаться от рекламы или взять доверительный платеж. Нигде не смог найти ни максимальный размер отправляемого запроса, ни принимаемого ответа. Какое максимальное время ожидание ответа? Уважаемые знатоки, подскажите еще как организуются многошаговые USSD запросы, в которых требуются ответные действия пользователей? В порицание SimCom'а: вышла atc v1.06, а формат ответа так и не вставили. Изменено 23 января, 2013 пользователем RadikX Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Radik_1983 0 23 января, 2013 Опубликовано 23 января, 2013 · Жалоба В ответ на запрос баланса приходит ответ в кодировке UCS2. Параметр dcs (3-й) = 72. По стандарту GSM 03.40, как я понимаю, это соответсвует "Reserved coding groups". Где я ошибаюсь? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CADiLO 9 23 января, 2013 Опубликовано 23 января, 2013 · Жалоба Эти вопросы не к модулю, а к операторскому серверу USSD - как они его сделали, так и будет работать. А модуль только отправит рядок цифр, да получит ответ. Как вариант, если оператор поддерживает - делайте через STK В презенташке SIM900_ATC_Training(English).pdf есть пример, а далее к оператору. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Radik_1983 0 23 января, 2013 Опубликовано 23 января, 2013 (изменено) · Жалоба Дело в том, что не очень понятно, как задавать третий параметр (dcs) и на что он влияет. допустим, я хочу получить ответ в юникоде.. По логике он долже быть 8. На разных операторах ответ приходит в разных кодировках (обычном 8-ми битовом и UCS2). Задание или незадание этого параметра, а также его значение абсолютно ни на что не влияет. Кто-нибудь видел такую ситуацию на других модемах? Изменено 23 января, 2013 пользователем RadikX Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CADiLO 9 23 января, 2013 Опубликовано 23 января, 2013 · Жалоба >>>допустим, я хочу получить ответ в юникоде.. А оператор не хочет. Смотрим сюда, хоть и было давно, но актуальность не потеряло. У некоторых операторов это еще и на SMS распространяется - сталкивались уже что конвертят русский в транслит. http://forum.sgh.ru/topic36665.html Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Radik_1983 0 23 января, 2013 Опубликовано 23 января, 2013 (изменено) · Жалоба Что примечательно. некоторые операторы (2 из 5 мною проверенных) отсылают dcs даже не в числовом виде: "00 FF" Но вопрос остается открытым: телефон ведь отображает информацию правильно для любых операторов! Изменено 23 января, 2013 пользователем RadikX Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CADiLO 9 23 января, 2013 Опубликовано 23 января, 2013 · Жалоба Не все телефоны и не любых. Особенно если покопаться в старых моделях. Просто в телефонах в софте сделан упор на сервис и там вполне могут править "заезды" операторов. В модулях же такого нет - инфу отдают как пришла, а ты сам с ней что хочешь то и делай. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Radik_1983 0 23 января, 2013 Опубликовано 23 января, 2013 · Жалоба Вариант 146% возвращения ответа в UCS2: Отправить текст запроса в формате юникода без указания dcs. CMGF=1 - почему-то обязательно. Предполагается, что можно отправить запрос и в PDU режиме? При отправлении запроса в виде просто текста, предсказать формат ответа невозможно. Перепроверил: наврал с CMGF - CUSD от нее не зависит, а зависит от CSMP="UCS2", что, наверно, логично. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CADiLO 9 23 января, 2013 Опубликовано 23 января, 2013 · Жалоба Сделайте поиск USSD по форуму - уже неоднократно бодались по этой теме. Например здесь - "SIM900 баланс, Помогите как проверить баланс" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Radik_1983 0 24 января, 2013 Опубликовано 24 января, 2013 · Жалоба Спасибо. По глюкам оператора все выяснилось. Здесь ничего не поделаешь - их много, всех не заборешь. Почему только команда CUSD использует параметры заданные командой CSCS, а не так как указано в документации из параметра dcs команды CUSD? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CADiLO 9 24 января, 2013 Опубликовано 24 января, 2013 · Жалоба >>> Почему только команда CUSD использует параметры заданные командой CSCS, а не так как указано в документации из параметра dcs команды CUSD? открываем GSM 07.07 +CUSD <str>: string type USSD-string (when <str> parameter is not given, network is not interrogated): if <dcs> indicates that GSM 03.38 default alphabet is used: - if TE character set other than "HEX" (refer command Select TE Character Set +CSCS) :ME/TA converts GSM alphabet into current TE character set according to rules of GSM 07.05 - if TE character set is "HEX": ME/TA converts each 7-bit character of GSM alphabet into two IRA character long hexadecimal number (e.g. character Π (GSM 23) is presented as 17 (IRA 49 and 55)) - if <dcs> indicates that 8-bit data coding scheme is used: ME/TA converts each 8-bit octet into two IRA character long hexadecimal number (e.g. octet with integer value 42 is presented to TE as two characters 2A (IRA 50 and 65)) <dcs>: see GSM 03.38 Cell Broadcast Data Coding Scheme in integer format (default 0) Сначала в +CSCS задаем формат, а затем последний параметр действует в зависимости от того что задано. Там дважды "если", поэтому оба условия должны выполняться. Ну и третье "если" - это когда оператор зафиксировал формат и игнорирует то что просит устройство. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться