Что то я разобраться никак не могу на команду запроса баланса:
/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(
Как мне это расшифровать?
USSD запрос баланса
-
- Сообщения: 1
- Зарегистрирован: 08 дек 2021, 06:06
Написал на Python скрип для дешифровки USSD ответа из Mikrotik как читая латиница так и кириллица.
Модем LTE: R11e-LTE
Модем 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)