Помогите разобраться с кодом для NSN BSC3i/FlexiBSCОбщие вопросы, касающиеся принципов работы GSM-сетей

Ответить
Аватара пользователя
ZhKSteaL
Начинающий нетмониторщик
Сообщения: 23
Зарегистрирован: Ср, 03-02-2010, 07:49

Помогите разобраться с кодом для NSN BSC3i/FlexiBSC

Сообщение ZhKSteaL »

Привет!
Помогите разобраться с кодом. Железка крутится на *nix-ой системе (хз, что именно).
Для MML можно создать свои команды. Смысл кода мне понятен, но на уровне что делает именно этот код. Создать свой - уже проблема, т.к. не могу определить, что за язык (т.е. команды, функции, объявления. условные операторы и т.п.).
Может кто сталкивался с этим. Любая информация о синтаксисе и т.п. будет полезной.
Спасибо.

Текст примера кода ниже:
LOCKBCFF(?BCF);


declaration
?BCF,?TEMP,?BTS,?BTS1,?S, ?OR(numeral), ?SEG, ?COUNTBTS(numeral),?COUNTSEG(numer
al), ?ERROR(numeral),?TMP(numeral),?I(numeral);


on_error continue;
?ERROR=0; /* ... ........... ..... .. ......... ....... BTS */
?COUNTBTS=0; /* ..... MASTER ........ BCF */
?COUNTSEG=0; /* ..... SLAVE ........ BCF */
?BTS=""; /* ...... .... 00010002000300450184 . ........ MASTER ........ */
?SEG=""; /* ...... .... 00010002000300450184 . ........ SLAVE ........ */
?TMP=10; /* ............ ... ...... S .. ..... ..... BTS*/


/* ......... ..... ....... . ... ...... */


EEI:BCF=?BCF;
while ?ERROR=0;
currentstr("BTS");
if error then;
?ERROR=1;
else;
?TEMP=readstr(0);
?BTS1=partstr(5,4,?TEMP); /* ........ BTS, .......... 4 ..... ...... BTS */
nextln(1);
?TEMP=readstr(0);
?OR=0; /* ... ........... ..... ...... S .. ..... ..... BTS*/
while ?OR=0;
?S="EMPTY"; /* ........ .... ...... ..... BTS */
?S=partstr(?TMP,1,?TEMP);


/* .........., .. ............. .. ... ....... .. S, . ......... BTS1 . SEG ...
BTS */


if ?S="EMPTY" then;
?TMP=?TMP-1;
else;
if ?S="S" then;
?COUNTSEG=?COUNTSEG+1;
?SEG=?SEG+?BTS1;
?OR=1;
?TMP=10;
else;
?COUNTBTS=?COUNTBTS+1;
?BTS=?BTS+?BTS1;
?OR=1;
?TMP=10;
fi;
fi;
end;
fi;
end;

output_off;


/* .......... ........... ... SEG BCF.. */

write_term(NL,"Macro was executed. Wait a minute, please...",NL);
write_term(NL);
?I=0;
?TMP=1; /* .......... ........., ... . ...... ?BTS .......... ..... .......... .
...... */
while ?I<?COUNTSEG;
?BTS1=partstr(?TMP,4,?SEG);
write_term("BTS ", ?BTS1, " is locking now...", NL);
EQS:BTS=?BTS1:L:FHO,9;
delay(900);
EQS:BTS=?BTS1:L;
delay(100);
EEI:BCF=?BCF;
?TMP=?TMP+4;
?I=?I+1;
end;


/* .......... ........... ... BTS BCF.. */


?I=0;
?TMP=1; /* .......... ........., ... . ...... ?BTS .......... ..... .......... .
...... */
while ?I<?COUNTBTS;
?BTS1=partstr(?TMP,4,?BTS);
write_term("BTS ", ?BTS1, " is locking now...", NL);
EQS:BTS=?BTS1:L:FHO,9;
delay(900);
EQS:BTS=?BTS1:L;
delay(100);
EEI:BCF=?BCF;
?TMP=?TMP+4;
?I=?I+1;
end;


output_on;
EEI:BCF=?BCF;
output_off;
EFS:?BCF:L;


/* .......... .............. ... BTS BCF.. */


?I=0;
?TMP=1;
while ?I<?COUNTBTS;
?BTS1=partstr(?TMP,4,?BTS);
write_term("BTS ", ?BTS1, " was unlocked.", NL);
EQS:BTS=?BTS1:U;
delay(100);
?TMP=?TMP+4;
?I=?I+1;
end;


/* .......... .............. ... SEG BCF.. */


EFS:?BCF:L;
?I=0;
?TMP=1;
while ?I<?COUNTSEG;
?BTS1=p


artstr(?TMP,4,?SEG);
write_term("BTS ", ?BTS1, " was unlocked.", NL);
EQS:BTS=?BTS1:U;
delay(100);
?TMP=?TMP+4;
?I=?I+1;
end;

output_on;
EEI:BCF=?BCF;

write_term("BCF ", ?BCF, " was locked. Goodbye.", NL);

exit;
CAHEK
Нетмониторщик
Сообщения: 59
Зарегистрирован: Пт, 06-02-2009, 09:25

Re: Помогите разобраться с кодом для NSN BSC3i/FlexiBSC

Сообщение CAHEK »

ZhKSteaL писал(а):Привет!
Помогите разобраться с кодом.
exit;
В хит встроеная нормальная справка.
Как образец - смотрите макросы.
Аватара пользователя
ZhKSteaL
Начинающий нетмониторщик
Сообщения: 23
Зарегистрирован: Ср, 03-02-2010, 07:49

Re: Помогите разобраться с кодом для NSN BSC3i/FlexiBSC

Сообщение ZhKSteaL »

CAHEK писал(а):
ZhKSteaL писал(а):Привет!
Помогите разобраться с кодом.
exit;
В хит встроеная нормальная справка.
Как образец - смотрите макросы.
имелся в виду код не для макросов хита. код, который я привел, ложится в папку MMDIRE, и выполняется на манер обычной команды ZEEI; и т.п.
если же в хите есть описание именно того, что мне нужно, был бы признателен на указание в каком пункте.
Ответить