USSD запрос баланса

Обсуждение ПО и его настройки
oleg.pitsenko
Сообщения: 1
Зарегистрирован: 25 авг 2019, 08:00

Что то я разобраться никак не могу на команду запроса баланса:
/interface lte at-chat lte1 input="AT+CUSD=1,\"*121#\",15"
Выдает в логе:
07:53:10 gsm,info USSD: B
07:53:10 gsm,info ibL)Ga Hi3PMA5y!8OueA4fJ\r+F\r. f=#7.Z0lN8Ku$A2rJiCPMOD2j!Af!$s6AZ4O=kVLO<,!dq$uN#BO@!OLO<f!DKP/TDdU$CYFOS9ODIceo'oZOGieY4yJ$!v\rHS3O!AcE(

Как мне это расшифровать?


Dark_Ph0eNix
Сообщения: 1
Зарегистрирован: 08 дек 2021, 06:06

Написал на Python скрип для дешифровки USSD ответа из Mikrotik как читая латиница так и кириллица.
Модем LTE: R11e-LTE

Код: Выделить всё

print('**************')
print('Для получения ответа на USSD запрос в Mikritk необходимо выполнить следующие комманды в консоле:')
print('1. "/system logging add topics=lte,!raw"')
print('2. "/interface lte at-chat lte1 input="AT+CUSD=1,\\\"{USSD}\\\",15""')
print('\t {USSD} - заменить на нужный USSD запрос')
print('\t "/interface lte at-chat lte1 input="AT+CUSD=1,\\\\"*111#\\\\",15""')
print('3. "/log print"')
print('\t найти строку где есть "+CUSD:"')
print('\t скопировать текст указанный в двойных кавычках и вставить в текущее программу')
print('\t "+CUSD: 0,"EBB79B1E0685E9ECF4BADE9E03", 0 "')
print('**************')
print()


hex_ussd = input('Введите текст из лога консоли Mikrotik на запрос USSD\n')

if (hex_ussd[0:1] == '0'):
	message = bytes.fromhex(hex_ussd).decode('utf-16be')
else:
	message = bytes.fromhex(hex_ussd).decode('utf8')

print()
print('Дешифрованный текст:')
print(message)


Ответить