GBProxy_Tests: fix TC_rim_* tests

The TC_rim tests do not use the RIM templates from Osmocom_Gb_Types as
intended.

Change-Id: Ie484f288aa0515ef4df4a3cf7f8a347a3f3cf587
Related: SYS#5103
This commit is contained in:
Philipp Maier 2021-01-28 21:43:16 +01:00 committed by laforge
parent 77783caf84
commit 14d3a8e7c3
2 changed files with 248 additions and 68 deletions

View File

@ -2901,20 +2901,35 @@ private function f_TC_rim_info_req(integer sgsn_idx, integer pcu_idx, integer bv
runs on GlobalTest_CT
{
var BssgpCellId cell_id := g_pcu[pcu_idx].cfg.bvc[bvc_idx].cell_id;
var template (value) RIM_Routing_Information ri_pcu;
var template (value) RIM_Routing_Information ri_sgsn;
var template (value) RAN_Information_Request_RIM_Container cont;
var template (value) RAN_Information_Request_RIM_Container cont_tx;
var template RAN_Information_Request_RIM_Container cont_rx;
var template RIM_Routing_Address ra_pcu;
var template RIM_Routing_Address ra_sgsn;
ri_sgsn := ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, t_RIM_Routing_Address_cid(cell_id_sgsn));
ri_pcu := ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, t_RIM_Routing_Address_cid(cell_id));
cont := ts_RAN_Information_Request_RIM_Container(ts_RIM_Application_Identity(RIM_APP_ID_NACC),
ts_RIM_Sequence_Number(0),
ts_RIM_PDU_Indications(false, RIM_PDU_TYPE_STOP));
f_rim_pcu2sgsn(ts_RAN_INFORMATION_REQUEST(dst := ri_sgsn, src := ri_pcu, cont := cont),
tr_RAN_INFORMATION_REQUEST(dst := ri_sgsn, src := ri_pcu, cont := cont),
pcu_idx);
f_rim_sgsn2pcu(ts_RAN_INFORMATION_REQUEST(dst := ri_pcu, src := ri_sgsn, cont := cont),
tr_RAN_INFORMATION_REQUEST(dst := ri_pcu, src := ri_sgsn, cont := cont),
ra_pcu := t_RIM_Routing_Address_cid(cell_id);
ra_sgsn := t_RIM_Routing_Address_cid(cell_id_sgsn);
cont_tx := ts_RAN_Information_Request_RIM_Container(ts_RIM_Application_Identity(RIM_APP_ID_NACC),
ts_RIM_Sequence_Number(0),
ts_RIM_PDU_Indications(false, RIM_PDU_TYPE_STOP));
cont_rx := tr_RAN_Information_Request_RIM_Container(tr_RIM_Application_Identity(RIM_APP_ID_NACC),
tr_RIM_Sequence_Number(0),
tr_RIM_PDU_Indications(false, RIM_PDU_TYPE_STOP));
f_rim_pcu2sgsn(ts_RAN_INFORMATION_REQUEST(dst := ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_sgsn),
src := ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_pcu),
cont := cont_tx),
tr_RAN_INFORMATION_REQUEST(dst := tr_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_sgsn),
src := tr_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_pcu),
cont := cont_rx),
pcu_idx);
f_rim_sgsn2pcu(ts_RAN_INFORMATION_REQUEST(dst := ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_pcu),
src := ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_sgsn),
cont := cont_tx),
tr_RAN_INFORMATION_REQUEST(dst := tr_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_pcu),
src := tr_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_sgsn),
cont := cont_rx),
sgsn_idx, pcu_idx);
}
testcase TC_rim_info_req() runs on GlobalTest_CT
@ -2930,20 +2945,36 @@ private function f_TC_rim_info(integer sgsn_idx, integer pcu_idx, integer bvc_id
runs on GlobalTest_CT
{
var BssgpCellId cell_id := g_pcu[pcu_idx].cfg.bvc[bvc_idx].cell_id;
var template (value) RIM_Routing_Information ri_pcu;
var template (value) RIM_Routing_Information ri_sgsn;
var template (value) RAN_Information_RIM_Container cont;
var template (value) RAN_Information_RIM_Container cont_tx;
var template RAN_Information_RIM_Container cont_rx;
var template RIM_Routing_Address ra_pcu;
var template RIM_Routing_Address ra_sgsn;
ri_sgsn := ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, t_RIM_Routing_Address_cid(cell_id_sgsn));
ri_pcu := ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, t_RIM_Routing_Address_cid(cell_id));
cont := ts_RAN_Information_RIM_Container(ts_RIM_Application_Identity(RIM_APP_ID_NACC),
ts_RIM_Sequence_Number(0),
ts_RIM_PDU_Indications(false, RIM_PDU_TYPE_STOP));
f_rim_pcu2sgsn(ts_PDU_BSSGP_RAN_INFORMATION(dst := ri_sgsn, src := ri_pcu, cont := cont),
tr_PDU_BSSGP_RAN_INFORMATION(dst := ri_sgsn, src := ri_pcu, cont := cont),
pcu_idx);
f_rim_sgsn2pcu(ts_PDU_BSSGP_RAN_INFORMATION(dst := ri_pcu, src := ri_sgsn, cont := cont),
tr_PDU_BSSGP_RAN_INFORMATION(dst := ri_pcu, src := ri_sgsn, cont := cont),
ra_pcu := t_RIM_Routing_Address_cid(cell_id);
ra_sgsn := t_RIM_Routing_Address_cid(cell_id_sgsn);
cont_tx := ts_RAN_Information_RIM_Container(ts_RIM_Application_Identity(RIM_APP_ID_NACC),
ts_RIM_Sequence_Number(0),
ts_RIM_PDU_Indications(false, RIM_PDU_TYPE_STOP));
cont_rx := tr_RAN_Information_RIM_Container(tr_RIM_Application_Identity(RIM_APP_ID_NACC),
tr_RIM_Sequence_Number(0),
tr_RIM_PDU_Indications(false, RIM_PDU_TYPE_STOP));
f_rim_pcu2sgsn(ts_PDU_BSSGP_RAN_INFORMATION(dst := ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_sgsn),
src := ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_pcu),
cont := cont_tx),
tr_PDU_BSSGP_RAN_INFORMATION(dst := tr_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_sgsn),
src := tr_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_pcu),
cont := cont_rx),
pcu_idx);
f_rim_sgsn2pcu(ts_PDU_BSSGP_RAN_INFORMATION(dst := ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_pcu),
src := ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_sgsn),
cont := cont_tx),
tr_PDU_BSSGP_RAN_INFORMATION(dst := tr_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_pcu),
src := tr_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_sgsn),
cont := cont_rx),
sgsn_idx, pcu_idx);
}
testcase TC_rim_info() runs on GlobalTest_CT
@ -2959,19 +2990,34 @@ private function f_TC_rim_info_ack(integer sgsn_idx, integer pcu_idx, integer bv
runs on GlobalTest_CT
{
var BssgpCellId cell_id := g_pcu[pcu_idx].cfg.bvc[bvc_idx].cell_id;
var template (value) RIM_Routing_Information ri_pcu;
var template (value) RIM_Routing_Information ri_sgsn;
var template (value) RAN_Information_Ack_RIM_Container cont;
var template (value) RAN_Information_Ack_RIM_Container cont_tx;
var template RAN_Information_Ack_RIM_Container cont_rx;
var template RIM_Routing_Address ra_pcu;
var template RIM_Routing_Address ra_sgsn;
ri_sgsn := ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, t_RIM_Routing_Address_cid(cell_id_sgsn));
ri_pcu := ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, t_RIM_Routing_Address_cid(cell_id));
cont := ts_RAN_Information_Ack_RIM_Container(ts_RIM_Application_Identity(RIM_APP_ID_NACC),
ts_RIM_Sequence_Number(0));
f_rim_pcu2sgsn(ts_PDU_BSSGP_RAN_INFORMATION_ACK(dst := ri_sgsn, src := ri_pcu, cont := cont),
tr_PDU_BSSGP_RAN_INFORMATION_ACK(dst := ri_sgsn, src := ri_pcu, cont := cont),
pcu_idx);
f_rim_sgsn2pcu(ts_PDU_BSSGP_RAN_INFORMATION_ACK(dst := ri_pcu, src := ri_sgsn, cont := cont),
tr_PDU_BSSGP_RAN_INFORMATION_ACK(dst := ri_pcu, src := ri_sgsn, cont := cont),
ra_pcu := t_RIM_Routing_Address_cid(cell_id);
ra_sgsn := t_RIM_Routing_Address_cid(cell_id_sgsn);
cont_tx := ts_RAN_Information_Ack_RIM_Container(ts_RIM_Application_Identity(RIM_APP_ID_NACC),
ts_RIM_Sequence_Number(0));
cont_rx := tr_RAN_Information_Ack_RIM_Container(tr_RIM_Application_Identity(RIM_APP_ID_NACC),
tr_RIM_Sequence_Number(0));
f_rim_pcu2sgsn(ts_PDU_BSSGP_RAN_INFORMATION_ACK(dst := ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_sgsn),
src := ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_pcu),
cont := cont_tx),
tr_PDU_BSSGP_RAN_INFORMATION_ACK(dst := tr_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_sgsn),
src := tr_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_pcu),
cont := cont_rx),
pcu_idx);
f_rim_sgsn2pcu(ts_PDU_BSSGP_RAN_INFORMATION_ACK(dst := ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_pcu),
src := ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_sgsn),
cont := cont_tx),
tr_PDU_BSSGP_RAN_INFORMATION_ACK(dst := tr_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_pcu),
src := tr_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_sgsn),
cont := cont_rx),
sgsn_idx, pcu_idx);
}
testcase TC_rim_info_ack() runs on GlobalTest_CT
@ -2987,20 +3033,36 @@ private function f_TC_rim_info_error(integer sgsn_idx, integer pcu_idx, integer
runs on GlobalTest_CT
{
var BssgpCellId cell_id := g_pcu[pcu_idx].cfg.bvc[bvc_idx].cell_id;
var template (value) RIM_Routing_Information ri_pcu;
var template (value) RIM_Routing_Information ri_sgsn;
var template (value) RAN_Information_Error_RIM_Container cont;
var template (value) RAN_Information_Error_RIM_Container cont_tx;
var template RAN_Information_Error_RIM_Container cont_rx;
var template RIM_Routing_Address ra_pcu;
var template RIM_Routing_Address ra_sgsn;
ri_sgsn := ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, t_RIM_Routing_Address_cid(cell_id_sgsn));
ri_pcu := ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, t_RIM_Routing_Address_cid(cell_id));
cont := ts_RAN_Information_Error_RIM_Container(ts_RIM_Application_Identity(RIM_APP_ID_NACC),
ts_BSSGP_CAUSE(BSSGP_CAUSE_EQUIMENT_FAILURE),
omit, valueof(t_BVC_UNBLOCK(23)));
f_rim_pcu2sgsn(ts_PDU_BSSGP_RAN_INFORMATION_ERROR(dst := ri_sgsn, src := ri_pcu, cont := cont),
tr_PDU_BSSGP_RAN_INFORMATION_ERROR(dst := ri_sgsn, src := ri_pcu, cont := cont),
pcu_idx);
f_rim_sgsn2pcu(ts_PDU_BSSGP_RAN_INFORMATION_ERROR(dst := ri_pcu, src := ri_sgsn, cont := cont),
tr_PDU_BSSGP_RAN_INFORMATION_ERROR(dst := ri_pcu, src := ri_sgsn, cont := cont),
ra_pcu := t_RIM_Routing_Address_cid(cell_id);
ra_sgsn := t_RIM_Routing_Address_cid(cell_id_sgsn);
cont_tx := ts_RAN_Information_Error_RIM_Container(ts_RIM_Application_Identity(RIM_APP_ID_NACC),
ts_BSSGP_CAUSE(BSSGP_CAUSE_EQUIMENT_FAILURE),
omit, valueof(t_BVC_UNBLOCK(23)));
cont_rx := tr_RAN_Information_Error_RIM_Container(tr_RIM_Application_Identity(RIM_APP_ID_NACC),
t_BSSGP_CAUSE(BSSGP_CAUSE_EQUIMENT_FAILURE),
omit, enc_PDU_BSSGP(valueof(t_BVC_UNBLOCK(23))));
f_rim_pcu2sgsn(ts_PDU_BSSGP_RAN_INFORMATION_ERROR(dst := ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_sgsn),
src := ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_pcu),
cont := cont_tx),
tr_PDU_BSSGP_RAN_INFORMATION_ERROR(dst := tr_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_sgsn),
src := tr_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_pcu),
cont := cont_rx),
pcu_idx);
f_rim_sgsn2pcu(ts_PDU_BSSGP_RAN_INFORMATION_ERROR(dst := ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_pcu),
src := ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_sgsn),
cont := cont_tx),
tr_PDU_BSSGP_RAN_INFORMATION_ERROR(dst := tr_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_pcu),
src := tr_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_sgsn),
cont := cont_rx),
sgsn_idx, pcu_idx);
}
testcase TC_rim_info_error() runs on GlobalTest_CT
@ -3011,29 +3073,51 @@ testcase TC_rim_info_error() runs on GlobalTest_CT
f_cleanup();
}
//////////////////
/* RAN-INFORMATION-APPLICATION-ERROR */
private function f_TC_rim_info_app_error(integer sgsn_idx, integer pcu_idx, integer bvc_idx := 0)
runs on GlobalTest_CT
{
var BssgpCellId cell_id := g_pcu[pcu_idx].cfg.bvc[bvc_idx].cell_id;
var template (value) RIM_Routing_Information ri_pcu;
var template (value) RIM_Routing_Information ri_sgsn;
var template (value) Application_Error_Container app_cont;
var template (value) RAN_Information_Application_Error_RIM_Container cont;
var template (value) Application_Error_Container app_cont_tx;
var template Application_Error_Container app_cont_rx;
var template (value) RAN_Information_Application_Error_RIM_Container cont_tx;
var template RAN_Information_Application_Error_RIM_Container cont_rx;
var template RIM_Routing_Address ra_pcu;
var template RIM_Routing_Address ra_sgsn;
ri_sgsn := ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, t_RIM_Routing_Address_cid(cell_id_sgsn));
ri_pcu := ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, t_RIM_Routing_Address_cid(cell_id));
app_cont := tsu_Application_Error_Container_NACC(cell_id, 23,
tsu_Application_Container_IE_NACC_req(cell_id));
cont := ts_RAN_Information_Application_Error_RIM_Container(ts_RIM_Application_Identity(RIM_APP_ID_NACC),
ts_RIM_Sequence_Number(0),
ts_RIM_PDU_Indications(false, RIM_PDU_TYPE_STOP),
omit, app_cont);
f_rim_pcu2sgsn(ts_PDU_BSSGP_RAN_INFORMATION_APPLICATION_ERROR(dst := ri_sgsn, src := ri_pcu, cont := cont),
tr_PDU_BSSGP_RAN_INFORMATION_APPLICATION_ERROR(dst := ri_sgsn, src := ri_pcu, cont := cont),
pcu_idx);
f_rim_sgsn2pcu(ts_PDU_BSSGP_RAN_INFORMATION_APPLICATION_ERROR(dst := ri_pcu, src := ri_sgsn, cont := cont),
tr_PDU_BSSGP_RAN_INFORMATION_APPLICATION_ERROR(dst := ri_pcu, src := ri_sgsn, cont := cont),
ra_pcu := t_RIM_Routing_Address_cid(cell_id);
ra_sgsn := t_RIM_Routing_Address_cid(cell_id_sgsn);
app_cont_tx := tsu_Application_Error_Container_NACC(cell_id, 23,
tsu_Application_Container_IE_NACC_req(cell_id));
app_cont_rx := rsu_Application_Error_Container_NACC(cell_id, 23,
rsu_Application_Container_IE_NACC_req(cell_id));
cont_tx := ts_RAN_Information_Application_Error_RIM_Container(ts_RIM_Application_Identity(RIM_APP_ID_NACC),
ts_RIM_Sequence_Number(0),
ts_RIM_PDU_Indications(false, RIM_PDU_TYPE_STOP),
omit, app_cont_tx);
cont_rx := tr_RAN_Information_Application_Error_RIM_Container(tr_RIM_Application_Identity(RIM_APP_ID_NACC),
tr_RIM_Sequence_Number(0),
tr_RIM_PDU_Indications(false, RIM_PDU_TYPE_STOP),
omit, app_cont_rx);
f_rim_pcu2sgsn(ts_PDU_BSSGP_RAN_INFORMATION_APPLICATION_ERROR(dst := ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_sgsn),
src := ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_pcu),
cont := cont_tx),
tr_PDU_BSSGP_RAN_INFORMATION_APPLICATION_ERROR(dst := tr_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_sgsn),
src := tr_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_pcu),
cont := cont_rx),
pcu_idx);
f_rim_sgsn2pcu(ts_PDU_BSSGP_RAN_INFORMATION_APPLICATION_ERROR(dst := ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_pcu),
src := ts_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_sgsn),
cont := cont_tx),
tr_PDU_BSSGP_RAN_INFORMATION_APPLICATION_ERROR(dst := tr_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_pcu),
src := tr_RIM_Routing_Information(RIM_ADDR_GERAN_CELL_ID, ra_sgsn),
cont := cont_rx),
sgsn_idx, pcu_idx);
}
testcase TC_rim_info_app_error() runs on GlobalTest_CT

View File

@ -2693,6 +2693,21 @@ octetstring sdu) := {
rIM_Protocol_Version_Number := ver,
sON_Transfer_Application_Identity := son_app_id
}
template RAN_Information_Ack_RIM_Container
tr_RAN_Information_Ack_RIM_Container(template RIM_Application_Identity app_id := ?,
template RIM_Sequence_Number seq := ?,
template RIM_Protocol_Version_Number ver := omit,
template SON_Transfer_Application_Identity_TLV son_app_id := omit) := {
iEI := '5A'O,
ext := '1'B,
lengthIndicator := {
length1 := ?
},
rIM_Application_Identity := app_id,
rIM_Sequence_Number := seq,
rIM_Protocol_Version_Number := ver,
sON_Transfer_Application_Identity := son_app_id
}
/* 3GPP TS 48.018 11.3.62a.4 */
template (value) RAN_Information_Error_RIM_Container
@ -2719,6 +2734,30 @@ octetstring sdu) := {
},
sON_Transfer_Application_Identity := son_app_id
}
template RAN_Information_Error_RIM_Container
tr_RAN_Information_Error_RIM_Container(template RIM_Application_Identity app_id := ?,
template Cause_BSSGP cause := ?,
template RIM_Protocol_Version_Number ver := omit,
template octetstring pdu := ?,
template SON_Transfer_Application_Identity_TLV son_app_id := omit) := {
iEI := '5B'O,
ext := '1'B,
lengthIndicator := {
length1 := ?
},
rIM_Application_Identity := app_id,
rIM_cause := cause,
rIM_Protocol_Version_Number := ver,
pDU_in_Error:= {
iEI := '15'O,
ext := '1'B,
lengthIndicator := {
length1 := ?
},
erroneous_BSSGP_PDU := pdu
},
sON_Transfer_Application_Identity := son_app_id
}
/* 3GPP TS 48.018 11.3.62a.5 */
template (value) RAN_Information_Application_Error_RIM_Container
@ -2740,6 +2779,25 @@ octetstring sdu) := {
application_Error_Container := cont,
sON_Transfer_Application_Identity := son_app_id
}
template RAN_Information_Application_Error_RIM_Container
tr_RAN_Information_Application_Error_RIM_Container(template RIM_Application_Identity app_id := ?,
template RIM_Sequence_Number seq := ?,
template RIM_PDU_Indications ind := ?,
template RIM_Protocol_Version_Number ver := omit,
template Application_Error_Container cont := ?,
template SON_Transfer_Application_Identity_TLV son_app_id := omit) := {
iEI := '59'O,
ext := '1'B,
lengthIndicator := {
length1 := ?
},
rIM_Application_Identity := app_id,
rIM_Sequence_Number := seq,
rIM_PDU_Indications := ind,
rIM_Protocol_Version_Number := ver,
application_Error_Container := cont,
sON_Transfer_Application_Identity := son_app_id
}
/* 3GPP TS 48.018 11.3.63.1 */
@ -2775,6 +2833,15 @@ octetstring sdu) := {
},
reporting_Cell_Identifier := t_Cell_Identifier_V(cid)
}
template RAN_Information_Request_Application_Container_NACC
tr_RAN_Information_Request_Application_Container_NACC(template BssgpCellId cid := ?) := {
iEI := '4D'O,
ext := '1'B,
lengthIndicator := {
length1 := ?
},
reporting_Cell_Identifier := t_Cell_Identifier_V(cid)
}
/* 3GPP TS 48.018 11.3.63.1.2 */
template (value) RAN_Information_Request_Application_Container_SI3
@ -2869,6 +2936,12 @@ octetstring sdu) := {
template (value) Application_Container_IE_NACC app_cont) := {
nacc := ts_Application_Error_Container_NACC(cid, cause, app_cont)
}
template Application_Error_Container
rsu_Application_Error_Container_NACC(template BssgpCellId cid := ?,
template integer cause := ?,
template Application_Container_IE_NACC app_cont := ?) := {
nacc := tr_Application_Error_Container_NACC(cid, cause, app_cont)
}
template (value) Application_Error_Container
tsu_Application_Error_Container_SI3(template (value) BssgpCellId cid,
integer cause,
@ -2895,10 +2968,33 @@ octetstring sdu) := {
nACC_cause := int2oct(cause, 1),
erroneousApplicationContainer := app_cont
}
function tr_Application_Error_Container_NACC(template BssgpCellId cid := ?,
template integer cause := ?,
template Application_Container_IE_NACC app_cont := ?)
return template Application_Error_Container_NACC {
var template Application_Error_Container_NACC ret;
ret.iEI := '56'O;
ret.ext := '1'B;
ret.lengthIndicator := { length1 := ? };
ret.erroneousApplicationContainer := app_cont;
if (istemplatekind(cause, "*")) {
ret.nACC_cause := *;
} else if (istemplatekind(cause, "?")) {
ret.nACC_cause := ?;
} else {
ret.nACC_cause := int2oct(valueof(cause), 1);
}
return ret;
}
template (value) Application_Container_IE_NACC
tsu_Application_Container_IE_NACC_req(template (value) BssgpCellId cid) := {
rAN_Information_Request_Application_Container := ts_RAN_Information_Request_Application_Container_NACC(cid)
}
template Application_Container_IE_NACC
rsu_Application_Container_IE_NACC_req(template BssgpCellId cid := ?) := {
rAN_Information_Request_Application_Container := tr_RAN_Information_Request_Application_Container_NACC(cid)
}
template (value) Application_Container_IE_NACC
tsu_Application_Container_IE_NACC(template (value) BssgpCellId cid, boolean psi_type, integer si_psi_num, octetstring si_psi) := {
rAN_Information_Application_Container := ts_RAN_Information_Application_Container_NACC(cid, psi_type, si_psi_num, si_psi)