gbproxy: Add test for RA Capability Update procedure

Change-Id: I023b3d24a31d117f05c7327b08e9f8f930720944
Related: SYS#5210
This commit is contained in:
Daniel Willmann 2020-11-16 19:53:26 +01:00
parent d6de98418c
commit ace3ece7be
2 changed files with 53 additions and 0 deletions

View File

@ -691,6 +691,37 @@ testcase TC_ra_capability() runs on test_CT
f_cleanup();
}
private function f_TC_ra_capability_upd(charstring id) runs on BSSGP_ConnHdlr {
var integer i;
var OCT1 tag;
for (i := 0; i < 10; i := i+1) {
tag := int2oct(23 + i, 1);
var template (value) PDU_BSSGP pdu_tx := ts_BSSGP_RA_CAP_UPD(g_pars.tlli, tag);
/* we cannot use pdu_tx as there are some subtle differences in the length field :/ */
var template (present) PDU_BSSGP pdu_rx := tr_BSSGP_RA_CAP_UPD(g_pars.tlli, tag)
f_pcu2sgsn(pdu_tx, pdu_rx);
pdu_tx := ts_BSSGP_RA_CAP_UPD_ACK(g_pars.tlli, tag, '42'O);
/* we cannot use pdu_tx as there are some subtle differences in the length field :/ */
pdu_rx := tr_BSSGP_RA_CAP_UPD_ACK(g_pars.tlli, tag, '42'O)
f_sgsn2pcu(pdu_tx, pdu_rx);
}
setverdict(pass);
}
testcase TC_ra_capability_upd() runs on test_CT
{
var BSSGP_ConnHdlr vc_conn;
f_init();
vc_conn := f_start_handler(refers(f_TC_ra_capability_upd), testcasename(), g_pcu, g_sgsn, 3);
vc_conn.done;
/* TODO: start multiple handlers (UEs) on various cells on same and other NSEs */
f_cleanup();
}
@ -699,6 +730,7 @@ control {
execute( TC_ul_unitdata() );
execute( TC_dl_unitdata() );
execute( TC_ra_capability() );
execute( TC_ra_capability_upd() );
}

View File

@ -1710,6 +1710,15 @@ template (value) PDU_BSSGP ts_BSSGP_RA_CAP_UPD(GprsTlli tlli, OCT1 tag) := {
tag := ts_BSSGP_IE_Tag(tag)
}
}
template (present) PDU_BSSGP tr_BSSGP_RA_CAP_UPD(template (present) GprsTlli tlli,
template OCT1 tag) := {
pDU_BSSGP_RA_CAPABILITY_UPDATE := {
bssgpPduType := '08'O,
tLLI := ts_BSSGP_TLLI(tlli),
tag := tr_BSSGP_IE_Tag(tag)
}
}
/* 10.3.4 */
template (value) PDU_BSSGP
@ -1724,6 +1733,18 @@ ts_BSSGP_RA_CAP_UPD_ACK(GprsTlli tlli, OCT1 tag, template (value) OCT1 cause,
mS_Radio_Access_Capability := ts_BSSGP_IE_MSRAcap_omit(racap)
}
}
template (present) PDU_BSSGP
tr_BSSGP_RA_CAP_UPD_ACK(template (present) GprsTlli tlli, template OCT1 tag, template (present) OCT1 cause,
template MSRadioAccessCapabilityV_BSSGP racap := omit) := {
pDU_BSSGP_RA_CAPABILITY_UPDATE_ACK := {
bssgpPduType := '09'O,
tLLI := ts_BSSGP_TLLI(tlli),
tag := tr_BSSGP_IE_Tag(tag),
iMSI := omit,
rA_Cap_UPDATE_CAUSE := tr_BSSGP_IE_RACU_Cause(cause),
mS_Radio_Access_Capability := tr_BSSGP_IE_MSRAcap(racap)
}
}