81 lines
2.0 KiB
Plaintext
81 lines
2.0 KiB
Plaintext
module Test {
|
|
import from GSM_SystemInformation all;
|
|
import from GSMTAP_Types all;
|
|
import from GSMTAP_PortType all;
|
|
import from IPL4_GSMTAP_CtrlFunct all;
|
|
|
|
const octetstring si1 := '5506198fb38000000000000000000000000000e504002b'O;
|
|
const octetstring si2 := '59061a00000000000000000000000000000000ffe50400'O;
|
|
const octetstring si3 := '49061b000062f22404d2490301275d40e50400392b2b2b'O;
|
|
const octetstring si4 := '31061c62f22404d25d40e504002b2b2b2b2b2b2b2b2b2b'O;
|
|
|
|
type component dummy_CT {
|
|
port GSMTAP_PT GSMTAP;
|
|
};
|
|
|
|
testcase TC_si1() runs on dummy_CT {
|
|
var SystemInformationHeader hdr := {
|
|
l2_plen := valueof(t_L2Pseudolength(21)),
|
|
skip_indicator := 0,
|
|
rr_protocol_discriminator := 6,
|
|
message_type := '19'O
|
|
};
|
|
log("SI: ", dec_SystemInformation(si1));
|
|
log("SI: ", dec_SystemInformation(si2));
|
|
log("SI: ", dec_SystemInformation(si3));
|
|
log("SI: ", dec_SystemInformation(si4));
|
|
}
|
|
|
|
template GsmtapHeader t_GsmtapHeader := {
|
|
version := GSMTAP_VERSION,
|
|
hdr_len := 4,
|
|
msg_type := ?,
|
|
timeslot := ?,
|
|
arfcn := ?,
|
|
signal_dbm := ?,
|
|
snr_db := ?,
|
|
frame_number := ?,
|
|
sub_type := ?,
|
|
antenna_nr := ?,
|
|
sub_slot := ?,
|
|
res := ?
|
|
}
|
|
|
|
template GsmtapHeader t_GsmtapHeaderUm(template GsmtapChannel ch) modifies t_GsmtapHeader := {
|
|
msg_type := GSMTAP_TYPE_UM,
|
|
sub_type := ch
|
|
}
|
|
|
|
|
|
template GsmtapMessage t_bcch := {
|
|
header := t_GsmtapHeaderUm(GSMTAP_CHANNEL_BCCH),
|
|
payload := ?
|
|
}
|
|
|
|
template GSMTAP_RecvFrom t_recvfrom(template GsmtapChannel ch) := {
|
|
connId := ?,
|
|
remName := ?,
|
|
remPort := ?,
|
|
locName := ?,
|
|
locPort := GSMTAP_PORT,
|
|
proto := {udp:={}},
|
|
userData := ?,
|
|
msg := { header := t_GsmtapHeaderUm(ch), payload := ?}
|
|
}
|
|
|
|
testcase TC_gsmtap() runs on dummy_CT {
|
|
map(self:GSMTAP, system:GSMTAP);
|
|
IPL4_GSMTAP_CtrlFunct.f_IPL4_listen(GSMTAP, "0.0.0.0", GSMTAP_PORT, {udp := {}});
|
|
|
|
var GSMTAP_RecvFrom rf;
|
|
GSMTAP.receive(t_recvfrom(GSMTAP_CHANNEL_BCCH)) -> value rf;
|
|
log("UDP Rx:", rf);
|
|
log("SI: ", dec_SystemInformation(rf.msg.payload));
|
|
}
|
|
|
|
control {
|
|
execute(TC_si1());
|
|
execute(TC_gsmtap());
|
|
}
|
|
}
|