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

 
 
> USSD: подробности
RadikX
сообщение Jan 23 2013, 04:42
Сообщение #1


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

Группа: Участник
Сообщений: 125
Регистрация: 13-04-11
Из: Суровый Челябинск
Пользователь №: 64 337



Хотелось бы сделать сервис в модеме на основе SIM900 для удаленного (через СМС или GPRS) управления USSD запросами. Допустим надо отписаться от рекламы или взять доверительный платеж. Нигде не смог найти ни максимальный размер отправляемого запроса, ни принимаемого ответа. Какое максимальное время ожидание ответа? Уважаемые знатоки, подскажите еще как организуются многошаговые USSD запросы, в которых требуются ответные действия пользователей?
В порицание SimCom'а: вышла atc v1.06, а формат ответа так и не вставили.

Сообщение отредактировал RadikX - Jan 23 2013, 04:47
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 10)
RadikX
сообщение Jan 23 2013, 07:46
Сообщение #2


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

Группа: Участник
Сообщений: 125
Регистрация: 13-04-11
Из: Суровый Челябинск
Пользователь №: 64 337



В ответ на запрос баланса приходит ответ в кодировке UCS2. Параметр dcs (3-й) = 72. По стандарту GSM 03.40, как я понимаю, это соответсвует "Reserved coding groups". Где я ошибаюсь?
Go to the top of the page
 
+Quote Post
CADiLO
сообщение Jan 23 2013, 07:47
Сообщение #3


Гуру
******

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



Эти вопросы не к модулю, а к операторскому серверу USSD - как они его сделали, так и будет работать.
А модуль только отправит рядок цифр, да получит ответ.

Как вариант, если оператор поддерживает - делайте через STK
В презенташке SIM900_ATC_Training(English).pdf есть пример, а далее к оператору.


--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
Go to the top of the page
 
+Quote Post
RadikX
сообщение Jan 23 2013, 09:33
Сообщение #4


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

Группа: Участник
Сообщений: 125
Регистрация: 13-04-11
Из: Суровый Челябинск
Пользователь №: 64 337



Дело в том, что не очень понятно, как задавать третий параметр (dcs) и на что он влияет.
допустим, я хочу получить ответ в юникоде.. По логике он долже быть 8. На разных операторах ответ приходит в разных кодировках (обычном 8-ми битовом и UCS2). Задание или незадание этого параметра, а также его значение абсолютно ни на что не влияет. Кто-нибудь видел такую ситуацию на других модемах?

Сообщение отредактировал RadikX - Jan 23 2013, 09:34
Go to the top of the page
 
+Quote Post
CADiLO
сообщение Jan 23 2013, 09:56
Сообщение #5


Гуру
******

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



>>>допустим, я хочу получить ответ в юникоде..

А оператор не хочет. Смотрим сюда, хоть и было давно, но актуальность не потеряло.
У некоторых операторов это еще и на SMS распространяется - сталкивались уже что конвертят русский в транслит.
http://forum.sgh.ru/topic36665.html


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


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

Группа: Участник
Сообщений: 125
Регистрация: 13-04-11
Из: Суровый Челябинск
Пользователь №: 64 337



Что примечательно. некоторые операторы (2 из 5 мною проверенных) отсылают dcs даже не в числовом виде: "00 FF" wacko.gif

Но вопрос остается открытым: телефон ведь отображает информацию правильно для любых операторов!

Сообщение отредактировал RadikX - Jan 23 2013, 10:12
Go to the top of the page
 
+Quote Post
CADiLO
сообщение Jan 23 2013, 10:45
Сообщение #7


Гуру
******

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



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


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


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

Группа: Участник
Сообщений: 125
Регистрация: 13-04-11
Из: Суровый Челябинск
Пользователь №: 64 337



Вариант 146% возвращения ответа в UCS2:
Отправить текст запроса в формате юникода без указания dcs. CMGF=1 - почему-то обязательно. Предполагается, что можно отправить запрос и в PDU режиме?
При отправлении запроса в виде просто текста, предсказать формат ответа невозможно.

Перепроверил: наврал с CMGF - CUSD от нее не зависит, а зависит от CSMP="UCS2", что, наверно, логично.
Go to the top of the page
 
+Quote Post
CADiLO
сообщение Jan 23 2013, 13:23
Сообщение #9


Гуру
******

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



Сделайте поиск USSD по форуму - уже неоднократно бодались по этой теме.
Например здесь - "SIM900 баланс, Помогите как проверить баланс"


--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
Go to the top of the page
 
+Quote Post
RadikX
сообщение Jan 24 2013, 02:36
Сообщение #10


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

Группа: Участник
Сообщений: 125
Регистрация: 13-04-11
Из: Суровый Челябинск
Пользователь №: 64 337



Спасибо. По глюкам оператора все выяснилось. Здесь ничего не поделаешь - их много, всех не заборешь. Почему только команда CUSD использует параметры заданные командой CSCS, а не так как указано в документации из параметра dcs команды CUSD?
Go to the top of the page
 
+Quote Post
CADiLO
сообщение Jan 24 2013, 06:48
Сообщение #11


Гуру
******

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



>>> Почему только команда 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 задаем формат, а затем последний параметр действует в зависимости от того что задано.
Там дважды "если", поэтому оба условия должны выполняться. Ну и третье "если" - это когда оператор зафиксировал формат и игнорирует то что просит устройство.


--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 15:40
Рейтинг@Mail.ru


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