Jump to content

Мопед: E1550 USSD запросы


Recommended Posts

Появилась необходимость смотреть остаток на счету на модеме Е1550.
Все что нашел это скрипт под фрю:


#!/usr/bin/perl

use Getopt::Std;

# defaults
$opt_i = "/dev/cuaU0.1";

my $USAGE = <<__EOU;

Usage: $0 [-i input_port] [-o output_port] [-n] [-h] [-v] ussd_msg


Description:
Send and receive 7-bit PDU-encoded USSD messages.
Written and tested to work for (just mine) Huawei E1550 GSM/UMTS USB modem.


Options:
-i port Port to send and receive data from. Default: $opt_i
-n Do not send any data to port. Useful with -v.
-h Print this help.
-v Be verbose.
__EOU


sub HELP_MESSAGE {print "$USAGE\n"; exit;}
sub VERSION_MESSAGE {};
getopts ('i:hnv');
HELP_MESSAGE() and exit if (! $ARGV[0]) or defined($opt);


print "USSD MSG: $ARGV[0]\n" if $opt_v;

my $ussd_req = encode_text($ARGV[0]);

print "PDU ENCODED: $ussd_req\n" if $opt_v;

my $ussd_reply;
if (! $opt_n) {
open (PORT, '+<', $opt_i) or die "Can't open '$opt_o': $!\n";
print PORT 'AT+CUSD=1,',$ussd_req,",15\r\n";
print "Waiting for USSD reply...\n" if $opt_v;
while (<PORT>) {
chomp;
die "USSD ERROR\n" if $_ eq "+CUSD: 2";
if (/^\+CUSD: 0,\"([A-F0-9]+)\"/) {
$ussd_reply = $1;
print "PDU USSD REPLY: $ussd_reply\n" if $opt_v;
last;
}
print "Got unknown USSD message: $_\n" if /^\+CUSD:/ and $opt_v;
}
close(PORT);
}


if ($ussd_reply) {
$decoded_ussd_reply = decode_text($ussd_reply);
print STDOUT "USSD REPLY: $decoded_ussd_reply\n";
}
else {print "No USSD reply!\n";}

sub encode_text {
my $text = shift;
my $i;
my @a = split(//,unpack("b*",$text));
for ($i=7; $i < $#a; $i+=8) {
$a[$i]="";
}
my $return = uc(unpack("H*", pack("b*", join("", @a))));
return $return;
}

sub decode_text {
my $text = shift;
my $i;
my @a = split(//,unpack("b*", pack("H*",$text)));
for ($i=6; $i < $#a; $i+=7) {
$a[$i].="0";
}
my $return = pack("b*", join("", @a));
return $return;
}



Но скрипт не пашет как надо:

 

./test.pl -v  "*111#"

 

USSD MSG: *111#
PDU ENCODED: AA582C3602
Waiting for USSD reply...
No USSD reply!

Edited by kvirtu
Link to post
Share on other sites

Скрипт кривой. Большинство модемов нормально принимает 8битовые стандартные ASCII кодировки, а вот возвращать могут уже или в ASCII или в спец. кодировке. Последнее сделано для поддержки интернационализации (ту же кирилицу выводить, хотя часто наши всё-равно транслитом пишут).

 

Попробуй для начала выполнить AT-команду в терминале и посмотреть выхлоп.

AT+CUSD=1,*111#,15

Link to post
Share on other sites

Скрипт кривой. Большинство модемов нормально принимает 8битовые стандартные ASCII кодировки, а вот возвращать могут уже или в ASCII или в спец. кодировке. Последнее сделано для поддержки интернационализации (ту же кирилицу выводить, хотя часто наши всё-равно транслитом пишут).

 

Попробуй для начала выполнить AT-команду в терминале и посмотреть выхлоп.

AT+CUSD=1,*111#,15

входил в терминал через SSH , командой cu -l /dev/cuaU0.0 .

Не смог ввести в нем  ни одной команды и выйти не смог. Пришлось тушить USB-порт, потом заново его включать, что бы передернуть модем.

Link to post
Share on other sites

 

Скрипт кривой. Большинство модемов нормально принимает 8битовые стандартные ASCII кодировки, а вот возвращать могут уже или в ASCII или в спец. кодировке. Последнее сделано для поддержки интернационализации (ту же кирилицу выводить, хотя часто наши всё-равно транслитом пишут).

 

Попробуй для начала выполнить AT-команду в терминале и посмотреть выхлоп.

AT+CUSD=1,*111#,15

входил в терминал через SSH , командой cu -l /dev/cuaU0.0 .

Не смог ввести в нем  ни одной команды и выйти не смог. Пришлось тушить USB-порт, потом заново его включать, что бы передернуть модем.

 

А в /dev/ только один COM-порт появляется? Обычно 3G модемы в системе три интерфейса выводят, один для данных, один для управления AT-командами и ещё один служебный. Не знаю, как во FreeBSD, но в линухах именно так. Поэтому приходится ещё играться с номером интерфейса (подбирать его).

Link to post
Share on other sites

 

 

Скрипт кривой. Большинство модемов нормально принимает 8битовые стандартные ASCII кодировки, а вот возвращать могут уже или в ASCII или в спец. кодировке. Последнее сделано для поддержки интернационализации (ту же кирилицу выводить, хотя часто наши всё-равно транслитом пишут).

 

Попробуй для начала выполнить AT-команду в терминале и посмотреть выхлоп.

AT+CUSD=1,*111#,15

входил в терминал через SSH , командой cu -l /dev/cuaU0.0 .

Не смог ввести в нем  ни одной команды и выйти не смог. Пришлось тушить USB-порт, потом заново его включать, что бы передернуть модем.

 

А в /dev/ только один COM-порт появляется? Обычно 3G модемы в системе три интерфейса выводят, один для данных, один для управления AT-командами и ещё один служебный. Не знаю, как во FreeBSD, но в линухах именно так. Поэтому приходится ещё играться с номером интерфейса (подбирать его).

 

спс, буду пробовать , 3 порта есть.

Link to post
Share on other sites

 

 

Я например смотрел в личном кабинете оператора.
 

+1.

Я помню тоже решал-решал подобную задачу, потом достал симку, воткнул в телефон, зарегистрировал за минуту личный кабинет и вуаля.

Link to post
Share on other sites

 

 

Скрипт кривой. Большинство модемов нормально принимает 8битовые стандартные ASCII кодировки, а вот возвращать могут уже или в ASCII или в спец. кодировке. Последнее сделано для поддержки интернационализации (ту же кирилицу выводить, хотя часто наши всё-равно транслитом пишут).

 

Попробуй для начала выполнить AT-команду в терминале и посмотреть выхлоп.

AT+CUSD=1,*111#,15

входил в терминал через SSH , командой cu -l /dev/cuaU0.0 .

Не смог ввести в нем  ни одной команды и выйти не смог. Пришлось тушить USB-порт, потом заново его включать, что бы передернуть модем.

 

А в /dev/ только один COM-порт появляется? Обычно 3G модемы в системе три интерфейса выводят, один для данных, один для управления AT-командами и ещё один служебный. Не знаю, как во FreeBSD, но в линухах именно так. Поэтому приходится ещё играться с номером интерфейса (подбирать его).

 

Спасибо :) ,

попробовал порт /dev/cuaU0.1 - все получилось через скрипт, что в моем первом посте.

Link to post
Share on other sites

 

$opt_i = "/dev/cuaU0.2";

U0.1 було? 

не, у меня 0.0 - порт как модем. 0.1 - для управления.

щас в скрипте подправлю на 0.1 

Link to post
Share on other sites

Извиняюсь за оффтоп

А как на практике эти модемы работают? Какая слышимость? Стабильность? Я так понял под астерикс их держите? 

Link to post
Share on other sites

Извиняюсь за оффтоп

А как на практике эти модемы работают? Какая слышимость? Стабильность? Я так понял под астерикс их держите? 

я использую только для оповещения

Link to post
Share on other sites

Извиняюсь за оффтоп

А как на практике эти модемы работают? Какая слышимость? Стабильность? Я так понял под астерикс их держите? 

Добре працюють. Хоча багато чого залежить выд прошивки.

Link to post
Share on other sites

Извиняюсь за оффтоп

А как на практике эти модемы работают? Какая слышимость? Стабильность? Я так понял под астерикс их держите? 

под asterisk отлично работают, проблем никаких нет.

Link to post
Share on other sites

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

Просто собираюсь поднять бюджетную телефонию для сети, не хотелось бы зря покупать не работающие вещи.

А симки лочат под ними ?

Link to post
Share on other sites

У меня лет 6 стоят с симками КС с ними проблем нет, а вот люди в инете пишут что лайф очень быстро лочит, максимум месяца 3 симка держится, но и это не проблема можно на мопед накатить IMEI своей старенькой Nokia думаю прокатит.

Link to post
Share on other sites

У меня лет 6 стоят с симками КС с ними проблем нет, а вот люди в инете пишут что лайф очень быстро лочит, максимум месяца 3 симка держится, но и это не проблема можно на мопед накатить IMEI своей старенькой Nokia думаю прокатит.

 

Не забудьте поделиться этой идеей с правоохранительным органами  ;)

Link to post
Share on other sites

 

У меня лет 6 стоят с симками КС с ними проблем нет, а вот люди в инете пишут что лайф очень быстро лочит, максимум месяца 3 симка держится, но и это не проблема можно на мопед накатить IMEI своей старенькой Nokia думаю прокатит.

 

Не забудьте поделиться этой идеей с правоохранительным органами  ;)

 

И скаких пор это страшный грех которым должны заниматься органы? В любом gsm шлюзе эта возможность есть от производителя и че пересажать теперь всех владельцев шлюзов нужно?

Link to post
Share on other sites

 

 

У меня лет 6 стоят с симками КС с ними проблем нет, а вот люди в инете пишут что лайф очень быстро лочит, максимум месяца 3 симка держится, но и это не проблема можно на мопед накатить IMEI своей старенькой Nokia думаю прокатит.

 

Не забудьте поделиться этой идеей с правоохранительным органами  ;)

 

И скаких пор это страшный грех которым должны заниматься органы? В любом gsm шлюзе эта возможность есть от производителя и че пересажать теперь всех владельцев шлюзов нужно?

 

 

Человек хочет обойти один из фильтров антифрода ОПСоСа, поменяв IMEI устройства, который может находится в черном списке ОПСоСа. Через время оператор всё же вычислит GSM-шлюз и обидится из-за упущенной прибыли, продавая услугу по тарифам предоплаты, а не контракта. В лучшем случае просто заблокируют СИМку, в худшем -- заява в органы.

Далее к Вам приходят и аккуратно кладут лицом в пол. Вряд ли будут разбираться, кто что умеет: экономическое преступление и подозрение на "втручання у дияльнисть мереж" -- в лучшем случае, в худшем -- пособничество в терроризме.  :rolleyes:  И Вам хорошо, и показатели раскрываемости увеличились.

 

p.s. Шапочка из фольги на месте

Link to post
Share on other sites

 

 

можно на мопед накатить IMEI своей старенькой Nokia
 

У вас паранойя какой черный список? Это будет волне себе валидный IMEI и никто никого лицом в пол ложить не будет, я использую его в личных целях а не терминирую забугорный голосовой трафик.

Link to post
Share on other sites

А лочат по мотивам борьбы с терминацией голосового трафика?

Не могу просто понять где они видят нарушение в использовании шлюза, какая разница клиент звонит на мобилу или на шлюз. Или я звоню с мобилы или со шлюза, все равно одна то линия.

Link to post
Share on other sites
  • 2 weeks later...

Вот сегодня как-раз лайф подогнал подарок.

2016-09-16 15:50:48,5, LIFE: Signal Strength Indicator: (17,99) -79 dBm (Good)
2016-09-16 15:50:48,7, LIFE: -> AT+CREG?
2016-09-16 15:50:48,7, LIFE: Command is sent, waiting for the answer
2016-09-16 15:50:48,7, LIFE: <- +CREG: 2,3,76d9,51d9 OK
2016-09-16 15:50:48,3, LIFE: Error: registration is denied.
2016-09-16 15:50:48,2, LIFE: Modem handler 0 terminated abnormally. PID: 78276.
Edited by xspirit
Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...