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

 
 
 
Reply to this topicStart new topic
> Баланс СИМ-карты: Ответы разных операторов на запрос
bvn123
сообщение Oct 13 2015, 07:42
Сообщение #1


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

Группа: Свой
Сообщений: 112
Регистрация: 9-08-04
Пользователь №: 468



Здравствуйте,
интересуют ответы разных операторов России, Украины, Белоруссии на запрос баланса счета

ответ Киевстар и Beeline (Украина)
+CUSD: 1,"Na rahunku 34.00 grn. Bonusy: *100# null"
+CUSD: 1,"Na rahunku 26.30 grn. Nomer die do ...

из этих ответов программно выделить баланс несложно - найти кавычку, после нее искать первую цифру, пока идут цифры или разделитель (точка, запятая) - считать это символами, относящимися к балансу.

встречаются ли отличия в ответах ДРУГИХ операторов - цифры между кавычкой и первым числом баланса, запись баланса словами, а не цифрами, или, скажем, запись баланса в виде "34 rub. 00 kop"

Спасибо.
Go to the top of the page
 
+Quote Post
CADiLO
сообщение Oct 13 2015, 07:59
Сообщение #2


Гуру
******

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



Уже обсуждали это пару лет назад. Можно поискать темку. Но если кратко, то пришли к следующему:
Каждый оператор воротит как хочет, и более того может изменить формат ответа не предупреждая.
Например перед цифрами вставить рекламу. Это расчитано на то что человек будет читать ответ, а не железка.
Поэтому тогда пришли к выводу что унифицировать разбор отчетов не получится.


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


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

Группа: Свой
Сообщений: 1 080
Регистрация: 16-11-04
Из: СПб
Пользователь №: 1 143



Цитата(CADiLO @ Oct 13 2015, 10:59) *
Поэтому тогда пришли к выводу что унифицировать разбор отчетов не получится.


можно частично решить проблему:
на SD иметь файлы под каждого оператора
Код
oper250_001.ini
oper250_002.ini
oper250_020.ini
oper250_099.ini


где в каждом
Код
[operator]
apn="internet.mts.ru"
login=""
password=""
dns1=""
dns2=""
balance_check="*100#"
balance_check_scanf="[b]Na rahunku %f grn[/b]"


Чуть-чего либо оператор ручками все корректирует, либо дополнение/исправление с сервера


--------------------
Марс - единственная планета, полностью населенная роботами (около 7 штук).
Go to the top of the page
 
+Quote Post
bvn123
сообщение Oct 13 2015, 08:57
Сообщение #4


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

Группа: Свой
Сообщений: 112
Регистрация: 9-08-04
Пользователь №: 468



Спасибо за ответы,

похоже, особого смысла стремиться унифицировать ТОЛЬКО разбор ответа нет еще из-за того, что и номера для запроса баланса по операторам не одинаковы, уже вижу номера запросов *100#, *102#, *111#

тему нашел:
> Автоматическое определение баланса СИМ карточки, Выделение суммы из ответа на запрос USSD
Go to the top of the page
 
+Quote Post
aleksandr-zh
сообщение Oct 13 2015, 09:33
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 359
Регистрация: 28-05-05
Из: Брянщина
Пользователь №: 5 494



я делаю так
если можно - включаю ответы ussd ТРАНСЛИТОМ (латинскими буквами). Например, Россия, Теле2 *120#
делаю запрос. Жду 6-7 секунд. Принимаю ответ. Выдаю абоненту первые 25 символов ответа. Пока проблем не было
Выделение по кавычкам, точкам и самим цифрам не есть универсальный метод: иногда операторы вставляют рекламу.
Например: только 12 мая 2015 мы предлагаем... или Магазин "Солнышко" дарит детям...
Go to the top of the page
 
+Quote Post
mantech
сообщение Oct 13 2015, 11:28
Сообщение #6


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(aleksandr-zh @ Oct 13 2015, 12:33) *
Выдаю абоненту первые 25 символов ответа. Пока проблем не было


Ну можно и не так ограничивать, мои аппараты выдают весь текст, влезающий в СМС или меньше.

ЗЫ. Опсосы, конечно, плевали на нас, но уж в тарифах М2М могли и унифицированный ответ сделать.
Go to the top of the page
 
+Quote Post
bvn123
сообщение Oct 15 2015, 18:58
Сообщение #7


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

Группа: Свой
Сообщений: 112
Регистрация: 9-08-04
Пользователь №: 468



Спасибо всем за ответы,
думаю не декодировать все это в микроконтроллере, управляющем GSM-модемом, а только искать первую цифру после кавычки;

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

Более гибкое декодирование можно будет сделать на компе.
Go to the top of the page
 
+Quote Post
CADiLO
сообщение Oct 16 2015, 03:59
Сообщение #8


Гуру
******

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



И еще имейте в виду. Если Ваше устройство попадет в Эмираты или еще куда на восток, то CUSD там не работает.
Баланс получают при помощи SMS, а CUSD используется в биллинге.


--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
Go to the top of the page
 
+Quote Post
megajohn
сообщение Oct 16 2015, 07:00
Сообщение #9


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

Группа: Свой
Сообщений: 1 080
Регистрация: 16-11-04
Из: СПб
Пользователь №: 1 143



Цитата(CADiLO @ Oct 16 2015, 06:59) *
Если Ваше устройство попадет в Эмираты или еще куда на восток



даже далеко ехать не надо. Спб-МТС ( 250 01 ). Cusd говорит что "ожидайте смс с балансом"


--------------------
Марс - единственная планета, полностью населенная роботами (около 7 штук).
Go to the top of the page
 
+Quote Post
POLL
сообщение Oct 16 2015, 09:38
Сообщение #10


Местный
***

Группа: Участник
Сообщений: 300
Регистрация: 11-06-11
Пользователь №: 65 640



Мы таким способом (см ReadBalance) баланс обрабатываем.
Не идеально, но в большинстве случаев годится. Т.е. ищем цифры до точки или запятой.
Go to the top of the page
 
+Quote Post
mantech
сообщение Oct 16 2015, 10:14
Сообщение #11


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(POLL @ Oct 16 2015, 12:38) *
Мы таким способом (см ReadBalance) баланс обрабатываем.


Я не вижу смысла вообще его как-то обрабатывать,т.к. в 99% это информация, пересылаемая клиенту, а он уж "обработает" biggrin.gif
Go to the top of the page
 
+Quote Post
POLL
сообщение Oct 16 2015, 16:30
Сообщение #12


Местный
***

Группа: Участник
Сообщений: 300
Регистрация: 11-06-11
Пользователь №: 65 640



Цитата(mantech @ Oct 16 2015, 13:14) *
Я не вижу смысла вообще его как-то обрабатывать,т.к. в 99% это информация, пересылаемая клиенту, а он уж "обработает" biggrin.gif

Не, смысл идеи - если пороговое значение баланса сработало, клиенту будут приходить напоминалки (мол пополни баланс). А если баланс в ажуре, клиента не нужно беспокоить какими-то смсками.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Oct 17 2015, 10:47
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(megajohn @ Oct 16 2015, 13:00) *
даже далеко ехать не надо. Спб-МТС ( 250 01 ). Cusd говорит что "ожидайте смс с балансом"

Омск, МТС: на CUSD иногда баланс приходит в ответе, а иногда так как Вы описали - в след. СМС. Никакой системы нет.

А если разбирать, то думаю нужно искать первую группу цифр включающих опционально точку или запятую. Реклама вряд-ли будет перед балансом, скорее всегда после.
Можно сделать более сложный анализ: искать все группы цифр (соответствующих вышеуказанному шаблону). Если найдено более одной такой группы, то далее - чтобы выбрать одну из этих групп, нужно построить рейтинги для них. Анализируем слова возле этих групп на равенство обозначению одной из валют: "руб", "гр" и др., также ищем слова типа "баланс", "счёт" и подобные типичные для баланса слова. На каждое такое нахождение увеличиваем рейтинг соотв. группы на некоторое число. Предварительно можно разбить весь текст на предложения по точкам и заглавным буквам. Список искомых ключевых слов выбирать в соответствии со страной, определённой по тел. номеру - искать "руб" если номер начинается на +3 не стоит.
Число, получившее максимальный рейтинг, и есть результат.
Такой алгоритм конечно не даёт 100%-ый результат.
Если где-нить найдёте список разных ответов от разных операторов, то можете на нём протестить готовый алгоритм.

Проблему с балансом в отдельном СМС решаем так:
ответ CUSD не разбираем сразу, ждём неск. секунд СМС, если получили - объединяем оба текста и анализируем вместе. CUSD будет в первом предложении. Рейтинг чисел в первом предложении сделать выше, чем во втором.
Go to the top of the page
 
+Quote Post
RadikX
сообщение Oct 19 2015, 10:56
Сообщение #14


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

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



У оператора на любой ваш хитрый алгоритм найдется болт с винтом. Я думаю, что у каждого оператора есть в штате человек, который непрерывно думает, как максимально усложнить жизнь таким как мы людям. Как обработать такой ответ: "Положите 10 руб. на счет и будет вам счастье! Позвоните по номеру 6372 и выиграйте 1000000 рублей! У Вас остаток MINUS 142." ? Городить нейросеть в несколько слоев для такой задачи по мне так перебор.
Go to the top of the page
 
+Quote Post

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

 


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


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