ranap: Allow RAB ReleaseList inside RabAssReq template
Related: OS#5152 Change-Id: If5dabf24ab410ef95f92be1cb865ac06330b495e
This commit is contained in:
parent
37c877fd1e
commit
9e789bec1b
|
@ -947,7 +947,7 @@ friend function f_tc_rab_release(charstring id, TestHdlrParams pars) runs on Con
|
|||
f_create_rab(pars.mgcp_pars);
|
||||
|
||||
/* Send RAB Release */
|
||||
tx := valueof(ts_RANAP_RabAssignmentReqRabRel(ts_RAB_RL(t_RAB_id(23), ts_RanapCause_om_intervention)));
|
||||
tx := valueof(ts_RANAP_RabAssReq(rab_rl := ts_RAB_RL(t_RAB_id(23), ts_RanapCause_om_intervention)));
|
||||
BSSAP.send(tx);
|
||||
|
||||
T.start;
|
||||
|
|
|
@ -1361,15 +1361,51 @@ template RAB_FailedList tr_RAB_FL(template RAB_ID rab_id,
|
|||
}
|
||||
} }
|
||||
|
||||
template (value) RANAP_PDU
|
||||
ts_RANAP_RabAssReq(template (value) RAB_SetupOrModifyList rab_sml,
|
||||
template (omit) RAB_AssignmentRequest.protocolExtensions exts := omit) := {
|
||||
initiatingMessage := {
|
||||
procedureCode := id_RAB_Assignment,
|
||||
criticality := reject,
|
||||
template (value) RAB_ReleaseList ts_RAB_RL(template (value) RAB_ID rab_id,
|
||||
template (value) Cause cause) := { {
|
||||
{
|
||||
id := id_RAB_ReleaseItem,
|
||||
criticality := ignore,
|
||||
value_ := {
|
||||
rAB_AssignmentRequest := {
|
||||
protocolIEs := {
|
||||
rAB_ReleaseItem := {
|
||||
rAB_ID := rab_id,
|
||||
cause := cause,
|
||||
iE_Extensions := omit
|
||||
}
|
||||
}
|
||||
}
|
||||
} }
|
||||
|
||||
template RAB_ReleaseList tr_RAB_RL(template (present) RAB_ID rab_id,
|
||||
template Cause cause := ?) := { {
|
||||
{
|
||||
id := id_RAB_ReleaseItem,
|
||||
criticality := ignore,
|
||||
value_ := {
|
||||
rAB_ReleaseItem := {
|
||||
rAB_ID := rab_id,
|
||||
cause := cause,
|
||||
iE_Extensions := *
|
||||
}
|
||||
}
|
||||
}
|
||||
} }
|
||||
|
||||
|
||||
function
|
||||
ts_RANAP_RabAssReq(template (omit) RAB_SetupOrModifyList rab_sml := omit,
|
||||
template (omit) RAB_ReleaseList rab_rl := omit,
|
||||
template (omit) RAB_AssignmentRequest.protocolExtensions exts := omit) return template RANAP_PDU {
|
||||
var template RANAP_PDU ret;
|
||||
var template RAB_AssignmentRequest.protocolIEs protocolIEs := {};
|
||||
var integer ie_pos := 0;
|
||||
|
||||
var template RAB_AssignmentRequest.protocolIEs protocolIEs_rab_sml;
|
||||
var template RAB_AssignmentRequest.protocolIEs protocolIEs_rab_rl;
|
||||
|
||||
/* RAB-SetupOrModifyList */
|
||||
if (istemplatekind(rab_sml, "value")) {
|
||||
protocolIEs_rab_sml := {
|
||||
{
|
||||
id := id_RAB_SetupOrModifyList,
|
||||
criticality := ignore,
|
||||
|
@ -1377,21 +1413,55 @@ ts_RANAP_RabAssReq(template (value) RAB_SetupOrModifyList rab_sml,
|
|||
rAB_SetupOrModifyList := rab_sml
|
||||
}
|
||||
}
|
||||
},
|
||||
};
|
||||
protocolIEs[ie_pos] := protocolIEs_rab_sml[0];
|
||||
ie_pos := ie_pos + 1;
|
||||
}
|
||||
|
||||
/* RAB-ReleaseList */
|
||||
if (istemplatekind(rab_rl, "value")) {
|
||||
protocolIEs_rab_rl := {
|
||||
{
|
||||
id := id_RAB_ReleaseList,
|
||||
criticality := ignore,
|
||||
value_ := {
|
||||
rAB_ReleaseList := rab_rl
|
||||
}
|
||||
}
|
||||
};
|
||||
protocolIEs[ie_pos] := protocolIEs_rab_rl[0];
|
||||
ie_pos := ie_pos + 1;
|
||||
}
|
||||
|
||||
|
||||
ret.initiatingMessage := {
|
||||
procedureCode := id_RAB_Assignment,
|
||||
criticality := reject,
|
||||
value_ := {
|
||||
rAB_AssignmentRequest := {
|
||||
protocolIEs := protocolIEs,
|
||||
protocolExtensions := exts
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
template RANAP_PDU
|
||||
tr_RANAP_RabAssReq(template RAB_SetupOrModifyList rab_sml,
|
||||
template RAB_AssignmentRequest.protocolExtensions exts := *) := {
|
||||
initiatingMessage := {
|
||||
procedureCode := id_RAB_Assignment,
|
||||
criticality := reject,
|
||||
value_ := {
|
||||
rAB_AssignmentRequest := {
|
||||
protocolIEs := {
|
||||
|
||||
function
|
||||
tr_RANAP_RabAssReq(template RAB_SetupOrModifyList rab_sml := omit,
|
||||
template RAB_ReleaseList rab_rl := omit,
|
||||
template RAB_AssignmentRequest.protocolExtensions exts := *) return template RANAP_PDU {
|
||||
var template RANAP_PDU ret;
|
||||
var template RAB_AssignmentRequest.protocolIEs protocolIEs := {};
|
||||
var integer ie_pos := 0;
|
||||
|
||||
var template RAB_AssignmentRequest.protocolIEs protocolIEs_rab_sml;
|
||||
var template RAB_AssignmentRequest.protocolIEs protocolIEs_rab_rl;
|
||||
|
||||
/* RAB-SetupOrModifyList */
|
||||
if (not istemplatekind(rab_sml, "omit")) {
|
||||
protocolIEs_rab_sml := {
|
||||
{
|
||||
id := id_RAB_SetupOrModifyList,
|
||||
criticality := ignore,
|
||||
|
@ -1399,11 +1469,39 @@ tr_RANAP_RabAssReq(template RAB_SetupOrModifyList rab_sml,
|
|||
rAB_SetupOrModifyList := rab_sml
|
||||
}
|
||||
}
|
||||
},
|
||||
};
|
||||
protocolIEs[ie_pos] := protocolIEs_rab_sml[0];
|
||||
ie_pos := ie_pos + 1;
|
||||
}
|
||||
|
||||
/* RAB-ReleaseList */
|
||||
if (not istemplatekind(rab_rl, "omit")) {
|
||||
protocolIEs_rab_rl := {
|
||||
{
|
||||
id := id_RAB_ReleaseList,
|
||||
criticality := ignore,
|
||||
value_ := {
|
||||
rAB_ReleaseList := rab_rl
|
||||
}
|
||||
}
|
||||
};
|
||||
protocolIEs[ie_pos] := protocolIEs_rab_rl[0];
|
||||
ie_pos := ie_pos + 1;
|
||||
}
|
||||
|
||||
|
||||
ret.initiatingMessage := {
|
||||
procedureCode := id_RAB_Assignment,
|
||||
criticality := reject,
|
||||
value_ := {
|
||||
rAB_AssignmentRequest := {
|
||||
protocolIEs := protocolIEs,
|
||||
protocolExtensions := exts
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
function
|
||||
|
@ -1532,82 +1630,6 @@ tr_RANAP_RabAssResp(template RAB_SetupOrModifiedList rab_sml := omit,
|
|||
return ret;
|
||||
}
|
||||
|
||||
template (value) RAB_ReleaseList ts_RAB_RL(template (value) RAB_ID rab_id,
|
||||
template (value) Cause cause) := { {
|
||||
{
|
||||
id := id_RAB_ReleaseItem,
|
||||
criticality := ignore,
|
||||
value_ := {
|
||||
rAB_ReleaseItem := {
|
||||
rAB_ID := rab_id,
|
||||
cause := cause,
|
||||
iE_Extensions := omit
|
||||
}
|
||||
}
|
||||
}
|
||||
} }
|
||||
|
||||
template RAB_ReleaseList tr_RAB_RL(template (present) RAB_ID rab_id,
|
||||
template Cause cause := ?) := { {
|
||||
{
|
||||
id := id_RAB_ReleaseItem,
|
||||
criticality := ignore,
|
||||
value_ := {
|
||||
rAB_ReleaseItem := {
|
||||
rAB_ID := rab_id,
|
||||
cause := cause,
|
||||
iE_Extensions := *
|
||||
}
|
||||
}
|
||||
}
|
||||
} }
|
||||
|
||||
template (value) RANAP_PDU
|
||||
ts_RANAP_RabAssignmentReqRabRel(template (value) RAB_ReleaseList rab_rl,
|
||||
template (omit) RAB_AssignmentRequest.protocolExtensions exts := omit) := {
|
||||
initiatingMessage := {
|
||||
procedureCode := id_RAB_Assignment,
|
||||
criticality := reject,
|
||||
value_ := {
|
||||
rAB_AssignmentRequest := {
|
||||
protocolIEs := {
|
||||
{
|
||||
id := id_RAB_ReleaseList,
|
||||
criticality := ignore,
|
||||
value_ := {
|
||||
rAB_ReleaseList := rab_rl
|
||||
}
|
||||
}
|
||||
},
|
||||
protocolExtensions := exts
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
template RANAP_PDU
|
||||
tr_RANAP_RabAssignmentReqRabRel(template RAB_ReleaseList rab_rl,
|
||||
template RAB_AssignmentRequest.protocolExtensions exts := *) := {
|
||||
initiatingMessage := {
|
||||
procedureCode := id_RAB_Assignment,
|
||||
criticality := reject,
|
||||
value_ := {
|
||||
rAB_AssignmentRequest := {
|
||||
protocolIEs := {
|
||||
{
|
||||
id := id_RAB_ReleaseList,
|
||||
criticality := ignore,
|
||||
value_ := {
|
||||
rAB_ReleaseList := rab_rl
|
||||
}
|
||||
}
|
||||
},
|
||||
protocolExtensions := exts
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*****************************************************************************************************
|
||||
*
|
||||
*****************************************************************************************************/
|
||||
|
|
Loading…
Reference in New Issue